Drupal 7 on a Windows production server?

jasonluttrell's picture

I work in a .Net shop and so, although I am tasked to produce a website for the company in Drupal, I am told that the server has to have a Windows operating system in order to take advantage of in-house knowledge for supporting the server. Windows and Drupal (i.e., PHP and MySQL) are the only given technical criteria; I can dictate what kind of Windows server it will be, and any necessary configurations.

I have not had a Windows production server in years. According to recent stats, few people are running WAMP production servers and even far less have WIMP. The majority of Web developers that I know use WAMP for development purposes only (e.g., I currently have WampServer on my local desktop).

I would like to hear from anyone who has experience running either a WAMP or WIMP production server. I am not a systems administrator, but the sys admins here know nothing about open source technologies. So I have a few questions:

1. What are the required changes or roadblocks one can expect with Drupal 7 running on Windows instead of Linux? For example, I'm aware that file paths are going to be different.

2. How can you get the server to run as fast as a Linux server? To my knowledge, I'm guessing... Disable automatic updates and unexpected reboots, increase RAM, additional CPU, more recent version of Windows? Can I run it without the GUI? My main concern is that I don't want the server to take five minutes to reboot!

3. IIS or Apache or third option? Obviously, IIS is native to Windows. However, I prefer Apache. It seems easier to configure properly, IMHO. You can have clean URLs. I'm also afraid that the Drupal stack is developed with Apache in mind; I haven't tested it with IIS.

4. For Windows, what other performance optimizations and configurations (e.g., page caching) do you recommend? FastCGI and Wincache? Memcache? Again, I'm not a sys admin, so I may be using these terms incorrectly.

5. Is WampServer fine for use in a production environment? Or can it be configured so that it is OK for production? I really like it as it is easy-to-use and I currently use it for local development.

6. Any particular version of Windows?

I realize that this question has been asked before, elsewhere, but I can only find information from over three years ago. If you do point me to other online resources, please cite information from within the past 18 months. :)

Thanks for the help and happy holidays!

Jason

Comments

I think you might be trying

pkiff's picture

I think you might be trying to cover too many topics in one question, and that makes it harder for people to give quick, clear answers.

I do not have extensive experience running WAMP/WIMP production servers, but I have a bit of experience, and since you haven't received a response yet, I thought I'd chime in with a couple opinions.

1. What are the required changes or roadblocks one can expect with Drupal 7 running on Windows instead of Linux?

All the major roadblocks with Windows have been cleared by now. You may run into minor issues, but most server issues you run into will be documented, or will be unrelated to Drupal. The most prominent nagging issues relate not to paths, but to file permissions, and there should be workarounds for these.

2. How can you get the server to run as fast as a Linux server?

The best source for this info is Windows server documentation or IIS support until you get to the bleeding edge of Drupal performance. See:
http://www.iis.net/
http://www.iis-aid.com/

3. IIS or Apache or third option?

In my opinion, if you are going to use Windows, and you want to leverage your organization's internal Microsoft support, then you might as well go with IIS. IT staff who are familiar with Microsoft networking will find the logic and interface of IIS similar to other Microsoft networking tools. And they should be familiar with locating solutions on MS support sites. Also, if you ever get good at server configuration, then you can probably make your IIS server run a lot faster than Apache on Windows.

4. For Windows, what other performance optimizations and configurations (e.g., page caching) do you recommend?

You can do some research into these on your own, but I wouldn't worry about doing anything but following standard install procedures for Drupal and Windows Server and IIS to start with.

5. Is WampServer fine for use in a production environment? Or can it be configured so that it is OK for production?

I've heard that people use WampServer for production, but I wouldn't. If you have a dedicated server, and you decide to go with Apache instead of IIS, then install Apache and MySQL and PHP properly. If you use IIS, then you'll find that these things can all be installed relatively painlessly through the Webmatrix or web server interface.

6. Any particular version of Windows?

Use a proper Windows Server operating system, not Win 7 or 8 or whatever. I would recommend the most recent stable version, Windows Server 2012.

Everything pkiff has said

panmanphil's picture

Everything pkiff has said matches my experience. I'll add a couple of gotchas with the caveat that for the last year I've not been working with Drupal at all but instead with Symfony 2 on IIS and MySQL.

Install everything on drive c: if possible. When running drupal 7 on IIS I ran into numerous path issues related to the assumption of a single rooted filesystem with relative paths.

If you can avoid it, don't use network shares as upload destinations. This is a fairly normal thing to do in windows shops when you load balance a server, but I was unable to make it work. Replication may be a better option unless this has been improved in more recent updates.

Symfony recommends an opcode cache. Php 5.5 has it built in, but it does make a difference (both on linux and windows) and I'd assume it's true for Drupal too.

Drupal works fine on WIMP

grafixfarm's picture

Before I was able to have access to a dedicated LAMP stack, I was also "forced" to run Drupal on a WIMP stack. I have since changed jobs and now use the LAMP stack exclusively but I know my former company still has the WIMP I set up and have successfully ran Drupal since v5. Have to admit that Drupal has come a long long way to make things work easier now without too much work around...IIS7 onwards already supports clean URL.

Drupal on Windows

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: