Recently I have needed to setup a Windows 2003 IIS server to run Drupal, the catch though is that it already runs an ASP.NET website and does not have MySQL, PHP, or even FastCGI installed. So, it must not affect the existing website at all. Working on a development server, I’ve been trying to get this to behave correctly. It is out of my area of expertise, so I’ve been doing a lot of reading up on it. The links I’ve used are mostly all below, mainly for my future reference and for anyone else that may need to do the same:
- Drupal Windows Installation Documentation - Drupal
- Install Drupal for Windows - Microsoft
- IIS URLRewrite module - Microsoft
- ISAPI_Rewrite – URL Rewrite module for ISAPI
- Making IIS Practical in Production for PHP – By Stuart Herbert
- IIS Aid – IIS help website running Drupal on IIS
- IIS Aid PHP Installer – IIS Aid
- Installing PHP 5 on IIS in 5 Simple steps – IIS Aid
- Install and Configure MySQL 6 on Windows – IIS Aid
- Creating a MySQL database via the Command Line – IIS Aid
- Creating a MySQL user via the Command Line – IIS Aid
- Assign MySQL privileges via the Command Line – IIS Aid
- Backing up and restoring MySQL databases from the Command Line – IIS Aid
- Install and configure PHPMyAdmin on IIS – IIS Aid
- How to install PHP 5.x on Windows Server 2003 with IIS 6 – By Peter Guy
- Install Drupal on Windows 2003 – Black Mountain
- Install Drupal on a Localhost – Learn By The Drop
The easiest way to set Drupal up on Windows should be with Microsoft’s installer. It uses their WebMatrix with the Web Platform Installer and looks like it should automate the process and configure everything that needs to be configured. The problem with it though is that it uses IIS Express, which can’t run alongside IIS, and the installer cannot run with IIS, which means I can’t use it for this situation.
So far, I’ve tried the IIS Aid PHP installer, which seems to work for the most part, however, I’m having FastCGI errors left right and centre with it crashing constantly. Unfortunately the IIS Aid installer doesn’t seem to work when using ISAPI instead of FastCGI, so I’m not up to installing and configuring PHP manually using FastCGI, and if it’s still unstable, ISAPI.
Another option is to look at running Apache on a different port to IIS, but I would rather not go down this route if I can avoid it.
It’s a real pain. If you have any experience with this, tips or advice would be appreciated!