Installing WordPress on Windows 2008 Server

I am a GUI person by heart, and have had my fair share of frustrations on trying to configure Linux through the various config files. While I am currently pretty satisfied on how reliably Apache and WordPress run on this Ubuntu setup, I’d also see whether I will get over some printer driver and sharing issues by installing a Windows server. To test this, I ordered another HP Proliant ML110 server (this one was running Xeon, a G5 setup). Physically all seems very similar to the system I am currently having the Linux.

I will know from experience this will take its time, and I try not to hurry. I have a functioning production environment in Linux, after all. Quickly thinking it through, it seems I need to set up at least the following:

  • install an IIS web server role
  • configure some additional features, such as rewrite rules
  • make sure I have sendmail or similar mail capabilities running
  • install MySQL and phpMyAdmin or similar tool
  • configure MySQL database for WordPress
  • install WordPress
  • set up the themes, widgets and other plugins
  • import the WordPress database contents from the old Linux installation to the new Windows Server one
  • make sure that all firewall rules, NAT redirections and such are pointing to right internal IPs and ports correctly for the new server to start functioning.

A time estimate for all this? No idea. I guess it might go smoothly, but with the usual hassles etc. I’d guess something around 40-50 hours of installation work and processes. Should perhaps be one or two months, if I use plenty of my free time to implement this. This day’s saldo? I have now the Server 2008 Web edition running (a trial version download, lets see how this works out), and I also managed to input the new MAC address into my router’s fixed address table so that I now have a fixed internal server IP where I can start building upon. I managed to also find a couple of helpful web resources that I should read and apply to my case next:

Any tips and tricks that I should take into consideration are also very welcome!

Author: frans

Professor of Information Studies and Interactive Media, esp. Digital Culture and Game Studies in the University of Tampere, Finland.

15 thoughts on “Installing WordPress on Windows 2008 Server”

  1. A couple of errors in the above set of instructions (SignalTraining page) worth noticing: 1) you need to restart the server for the CGI & PHP to start functioning; 2) you need to define parameter for the timezone in PHP.INI before you get right output from info.php (in my case as “date.timezone = Europe/Helsinki”). – It is also good to know you can restart IIS from command line by typing “iisreset” (enter).

  2. I ran into a nasty problem. Following this guide: http://www.trainsignaltraining.com/installing-wordpress-on-iis7/2008-10-06/ – but it appears there is something wrong with the way slash and backslash characters are handled in PHP code in WordPress when run in IIS/Windows Server environment. The installation goes fine, but logging in as admin, I am greeted with this error: “PHP Warning: file_exists(): open_basedir restriction in effect. File(C:\inetpub\wwwroot\fransblog/wp-content/plugins/edit-tags.php?taxonomy=post_tag) is not within the allowed path(s): (C:\inetpub) in C:\inetpub\wwwroot\fransblog\wp-admin\menu-header.php on line 118”.

    Looks now that people are getting similar “openbase restriction” errors all over — no solution yet from anywhere, will keep on looking… (It was going too easy anyways…)

  3. Not a real fix yet, but a temporary workaround: by editing PHP.INI you can turn off open_basedir protection altogether — not very secure, but the only way I have found to work around this particular issue.

  4. The next issue: rewrite rules for the pretty permalinks did not work — every url would just show the index/home page instead. Wasted several hours by learning various obscure things about url rewriting with different techniques. Finally what fixed my installation was first uninstalling the Microsoft URL Rewrite Module (I had the new 1.1. version installed), then redo the installation from here (http://www.iis.net/extensions/URLRewrite) using MS Web Platform Installer 2.0 RC. Doing that, I noticed that it offered also an update to IIS 7.0 FastCGI, and it was apparently this fix that finally got rid of the bug.

  5. The next point where I got stuck was getting WordPress to communicate through email. The default way of sending email from PHP through mail() function does not work in IIS. There are some plugins that try to patch this by directing mail to SMTP service. I have tried two so far. Both give different error messages. Getting tired now, will probably continue later. Setting up WordPress into a Windows Server is not yet that simple, it appears.

  6. Well, it seems like the above wp-super-cache instructions work (quite bit of manual work, though). WordPress options page for the plugin gives the following error: “Mod rewrite may not be installed!” But it appears that this is not a reliable error message; the code is originally written for Apache, and does not work so well with IIS. (Starting to see a pattern here.)

  7. Ok, the new server should now be about ready for getting the database from this old one. I should freeze the blog and start the preparations now. So, this site might be offline soon… (And back never? Eh?)

  8. This is now written to the new copy of blog, running in the IIS 7.0 (Windows Web Server 2008). Most things appear rather ok, under these conditions. Much tweaking still to do though. Ran into problem with WP-DBManager backup plugin right away (another point where the PHP implementation of Microsoft appears not identical to the one used in Linux lands). Finally got the plugin running with this fix: http://www.deciacco.com/blog/php/wp-dbmanager-backup-db-fix-for-windows

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s