Welcome to WebmasterWorld Guest from 126.96.36.199
Forum Moderators: phranque
At a basic level they will both offer you the same thing - serving straight HTML isn't rocket science and there's very little difference between having IIS (Windows) or Apache (Linux) serving them up.
At more advanced levels when you're looking at configuration and scripting you start to see differences.
IIS has historically been a corporate webserver and so you used to find that unless you had admin access to the server you couldn't make many changes. Hosting control panels let you do some things, but you were still reined in - with the arrival of the .net framework it's started to become a little more accessible, but personally I'd still say it's playing catch-up with .htaccess on apache.
Apache gives you (as a user) a lot of flexibility because it had very different origins to IIS, being aimed at everyone from hobbyists upwards and so it can be configured much more effectively on a per-user basis which means it's easier to make it do what you want.
For scripting and databases I personally don't think there's a massive difference between the two platforms, they both have multiple fully featured scripting languages and good databases - really it just comes down to how well the tools on offer can solve your problem without requiring extra elements to be added / bought.
Ignore the people who rant on endlessly about either microsoft or linux being good/bad because a lot of the time they aren't objective - work out what you need and then work out which platform can provide it most effectively while staying within your budget.
If, however, your site has dynamic content or you want to add it down the road your choice in server will dictate your choice in development language.
I prefer Windows servers as everything I've found that you can do on Linux you can do on Windows, but you CAN'T go the other way around. Perl, PHP, ASP, and ASP.NET all work on Windows - on Linux you don't get ASP or ASP.NET (and don't say ChilliASP because we won't even go there...)
There are some who believe that one OS is better than the other, but the truth in the matter is that it really depends more on who ELSE is on your server - an over-crowded Linux server will perform just as poorly as an over-crowded Windows server.
As for security, again this is more about your host than the operating system. If you install EITHER operating system out of the box and leave it alone, you have more security holes than you can count on two hands - a properly configured Linux server is just as secure as a properly configured Windows server. Budget hosts tend to fail in this area more than the established (and more expensive) hosts.
Your host should also have a firewall - not some software crap mind you, but a real external hardware-based firewall like a Cisco PIX. Nothing but ports 80 and 21 (and 22 if Linux) should be open to the web server - if they don't have a firewall, SWITCH HOSTS because you're wide open. Unless you don't care about security :)
If you're comfortable that your host knows what they're doing in the security area then it really comes down to development languages and personally I find Windows servers to be superior in this area. But I also do 100% of my own authoring and don't run third party scripts - some scripts only work with a specific type of server (ie; some PHP scripts only work with Linux while others will work with both) so that's something to consider too.
I'm not trying to confuse you more, just give you all of the information ... many people here have an anti-windows agenda (as illustrated in the "don't let microsoft control everything" post) and that doesn't help you make an informed decision about what's best for YOU.
Since you aren't maintaining the server itself, he only thing to think about for you is *if* you need server side scripting or not. If you do go with the one you know the most about. If you know php go for linux, if you know asp think about windows etc.
Since I do maintain numerous web and email servers, I would say for me, I would not connect a ms server to a well connected network that was not hidden behind a nat or proxy... and even for those I cringe... but that's just my personal take. Since someone else is keeping the servers up, get the one that serves *you* best and is the best for you. ;)
I would make sure that the host allows access to mod_rewrite and .htaccess files. (some budget ones don't)
IMO Apache is more configurable then IIS. Windows is not as secure or stable as linux, and it has a higher cost. I wouldn't go with a windows server unless I needed something like asp.
[added]I left that window open a long time and didn't see your post.[/added]