Servers
Apache is popular, open source, and free. It runs on a variety of operating systems.
IIS works well with other microsoft products
Xampp is Apache bundled up conveniently for development.
Languages
Java is free and common in “enterprise” environments. There are a lot of tools, documentation, etc.
Python is free and easy to learn. The python community is friendly and helpful.
Databases
MSSQL is proprietary. It works well with other microsoft products. It is designed for large, enterprise systems and has more advanced database features. It only runs on windows.
MySQL is free and open source. It runs on a variety of operating systems. It doesn’t have as many features, but it tends to be faster.
They are interchangeable. However, IIS and MSSQL will only run on the windows operating system.
There are even more options than you’ve mentioned. For example, where I work we use ruby (ruby on rails), postgresql, and apache on linux. A lot of it depends on your needs are and what is available to you. A web framework, like rails or django, make web development a lot easier (fluther uses django).
I think PHP is a poor language. I would recommend ruby, python, or maybe a few others depending on what you are trying to do.