In a large saucepan, heat the milk over medium heat until it is warm but not boiling.
Gradually whisk in the semolina flour and continue to cook, stirring constantly, until the mixture thickens.
In a separate bowl, whisk together the eggs, sugar, vanilla extract, and lemon zest.
Gradually add the egg mixture to the thickened semolina mixture, stirring constantly to combine. Cook for an additional 2-3 minutes, then remove from heat and set aside to cool slightly.
Preheat your oven to 350°F (175°C).
Brush a baking dish (approximately 9x13 inches) with melted butter.
Layer half of the phyllo sheets in the dish, brushing each sheet generously with melted butter as you layer them.
Pour the slightly cooled custard over the layered phyllo sheets in the baking dish.
Cover the custard with the remaining phyllo sheets, brushing each sheet with melted butter as you layer them.
Using a sharp knife, score the top layer of phyllo into squares or diamonds.
Bake in the preheated oven for about 45-50 minutes, or until the phyllo is golden brown and crispy.
While the Galaktoboureko is baking, combine the water, sugar, cinnamon stick, and lemon peel in a saucepan.
Bring the mixture to a boil, then reduce the heat and simmer for about 10 minutes.
Remove from heat, stir in the lemon juice, and let the syrup cool slightly.
Once the Galaktoboureko is done baking, remove it from the oven and immediately pour the warm syrup evenly over the top.
Allow the syrup to soak into the pastry for at least 1 hour before serving.
Enjoy your meal!