I've made yoghurt from ordinary milk (even semi-skimmed) for many years using just a wide-neck vacuum flask.
First, fill the flask with boiling water. This serves to
sterilise the flask and also to heat it.
Pour sufficient milk into a saucepan almost to fill the flask,
and bring to the boil. Then lift the saucepan from the heat so that the boiling milk subsides, and then lower onto the
heat again. Do this continuously, lifting and lowering, and simultaneously stir gently with a wooden spoon. The reason for this is to sterilise the milk - it has to be boiling continuously for two minutes to achieve this. Stirring with the wooden spoon prevents some of the milk burning on the bottom of the pan. Remove from the heat when the two minutes are up.
The milk now has to cool. Jayemcee says 120 degrees, so maybe that's correct. I just put my little finger in and when it doesn't hurt the temperature is right. Mind you, getting the correct temperature is crucial. Failures are almost always because the temperature wasn't right when the mixture was put into the flask. Too hot and the bacteria are killed. Too cool, and they won't multiply.
Then stir in a good teaspoonful of live natural yoghurt.
Empty the hot water from the flask (which needs to be warm or it will cool the milk too much), then pour in the milk/yoghurt mixture. Close the flask and leave overnight, or about eight hours.
The flask has to be of the wide-neck variety or the thick
yoghurt won't come out easily.
If you want really top-class yoghurt, use milk from Jersey cows. But even semi-skimmed milk will do the trick, and will of course have much less fat.