I might add to what Cliff said and he can add further or let us know if he has a better way. On the inside of the roof, mark a circle where the vent will go. Drill a 1/4" hole in the middle. Check on the roof to see where it comes out and then you may be able to adjust your location a little if it would look better. You can remove any shingle where the hole would appear in the bottom exposed area if you want and possibly the one above it.
Cut your hole with a hole saw or reciprocation saw. Cut the hole through the top portion of a shingle without removing it as it won't show anyway. Install the pipe and the flashing. Nail it with a couple nails at the top and maybe a couple more down the side where a top shingle will lap over the nails. Cut and reinstall the upper shingle(s). Use roofing cement under the shingle that over laps the top of the flashing, on any nails, and under the flashing where it sits on top of a shingle.
I think Cliff's way involved not removing any shingles which works by just cutting the hole without removing any shingles. As far as sticking the flashing up under a shingle, it may fit ok, or you may need to remove a nail or two, or cut or notch around the nail. I'd still use some asphalt cement and nail it under a shingle tab. Good luck.