The short version of making yogurt is super simple. You just heat milk to 180°F, cool it to about 110°F, mix in yogurt cultures, and keep it warm for about 8 hours. The bacteria do the rest. But I'll explain in a little more detail how I do it.
First, pick your milk. I like to make mine with whole milk and add a little cream so it's super creamy. It's mostly my kids who eat it, and they can use the fat. It's especially important for my baby, who needs a high calorie diet. But fat is healthy for all of us as long as we don't overdo the calories. So I recommend whole milk. It tastes a lot better too. However, you can use 2%, 1%, or even skim milk if you want to. The less fat there is, the thinner the yogurt will be. Some people add dry milk to skim or 1% milk before incubating to help it thicken better.
You will also need some source of the lactic acid producing bacteria. The easiest way to do this is just buy plain yogurt at the store to serve as a starter. It needs to be unsweetened and be sure it contains live and active cultures. You can also buy a powdered yogurt-making starter, but I haven't used those yet.
The proportion of ingredients is not all that important in making yogurt, but if you want a general rule of thumb, I use 2 quarts of whole milk, about 1/4 cup heavy cream, and 1/4 cup plain yogurt.
Place your milk (and cream, if using) into an appropriately sized pot on the stove and heat over medium heat to 180°F. Don't use a non-stick pan for this. I use stainless steel. Stir it frequently to prevent burning. The reason for this step is to kill any bacteria or fungi that might be lurking in the milk. You only want to grow the good bacteria when you start incubating. I find it helpful to use a candy thermometer during this step. Mine clips on the side of the pot and stays a little above the bottom so I get an accurate reading on the contents.
Once the milk reaches 180°F, remove it from the heat, cover (to keep airborne bacteria out), and cool it to around 110°. You can just leave it out on the counter or you can set the pot in a pan of cold water to hurry it up. A candy thermometer tends to get in the way of the lid at this point, so I found it most helpful to switch to one of those meat thermometers that has a probe on a long wire and can be used inside the oven. Just put the end of the probe in the milk and put the lid over the wire. If you don't have that kind of thermometer, you can either leave the candy thermometer inside and wrap plastic wrap around the top of the pot or remove the thermometer and check the temperature only periodically.
Once the milk cools to around 110°F (it doesn't have to be exact), remove a cup or so of the milk and whisk it with your yogurt starter. Then add the milk and yogurt back into the pot with the milk and stir until well mixed. At this point, you just need to keep the milk warm and undisturbed while it incubates. The good bacteria multiply and convert the milk sugars to lactic acid by fermentation. You want to keep the temperature between about 100° and 110° for 6-10 hours.
An oven works well for incubating yogurt because it is insulated and you can warm it up. What I did with my old oven is turn the oven on for just 2 minutes or so when the milk is almost cooled. Once I add the yogurt starter, I wrap the pot and lid in a clean towel and set it in the warm (not hot) oven. A thermometer probe is super helpful at this point because I can keep an eye on the temperature without opening the oven or disturbing the milk. (However, if your probe falls all the way into the milk, the moisture may get into the probe and make it stop working. I went through 3 probes this way.)
If you don't have a probe to use in the oven, you can just check the yogurt every couple of hours. If the milk is getting below 100°, turn on the oven for a minute or two to warm it back up. I find it most useful to start a batch of yogurt first thing in the morning and just leave it all day. I check it periodically when I'm in the kitchen, but mostly I ignore it. When it is getting toward evening and I need the oven for making supper, I take the yogurt out. You can also prepare it in the evening and leave the yogurt in the oven all night, but you may want to start it a little extra warm (~115°F) and insulate it well with a thick towel to keep it warm enough all night.
I recently got a new oven that has a dehydrate feature. It allows me to set the oven temperature much lower than most ovens go and the thermostat keeps it that temperature for me. That is perfect for making yogurt. I set the thermostat for 110° and then I don't even have to check it until the time is up.
Some people also make yogurt in a slow cooker. Just put the yogurt in small containers and fill the empty space in the crockpot with water. Then turn it on low periodically to keep it warm enough.
The time period you leave the yogurt to incubate will affect the yogurt in two ways. The longer you incubate, the thicker the yogurt will be. And the longer you incubate, the more tangy it will be. I usually shoot for about 8 hours, but you can do it longer or shorter as you prefer. You can get a little out with a clean spoon to check it periodically if you want, but keep in mind that it will not be sweet and be sure not to stir up the pot or contaminate it with a dirty spoon.
After your yogurt is done, you have an important decision to make. You can either leave the yogurt in this state or drain out the whey to make a thicker, Greek-style yogurt. Or you can divide it and do some of both. If you want to use the yogurt as is, stir it to make it smooth and chill in the fridge. You can add sweeteners or fruit or other flavors later.
If you want a Greek-style yogurt, do not stir it. Instead, line a strainer or colander with several layers of cheesecloth or a thin, clean, flour-sack towel and set it over a bowl or pan that will collect the liquid. Carefully spoon the yogurt into the cloth without disturbing the curds any more than necessary. Let the whey drain out for a couple hours or more, until the yogurt is the thickness you desire. Since I usually incubate my yogurt all day, when I make Greek-style yogurt, I just put the draining yogurt in the fridge all night. In the morning, it is super thick, almost like cream cheese. You can always stir a little of the whey back in if you want it thinner. You can use the whey in smoothies or other recipes for extra protein. Just be aware that the whey is very sour. That means when you drain the whey out, it makes the yogurt less tangy and more creamy.
Now, for the fun part. There are lots of ways to use your new yogurt. You can simply add a little sugar (or other sweetener) and vanilla. However, I like it best with sweetened fruit. Blueberries are our current favorite. I mix blueberries (frozen or fresh) with some sugar and a little water and bring it to a boil, then add a small amount of corn starch in water to thicken it to a thick syrup. Once it thickens, cool it in the fridge. This blueberry compote can be stirred into yogurt, put on pancakes, spooned onto cheesecake, or various other uses. You can do much the same thing with strawberries, raspberries, or blackberries. These kinds of fruit compotes are great mixed into yogurt. If you're trying to reduce sugar, try just the fruit - either fresh or cooked. You can also use yogurt in smoothies or as ingredients in various recipes. The possibilities are endless. Enjoy!