views:

624

answers:

4

If you want to develop against WordPress (i.e., have a local instance running on your machine so you can develop themes, get blogs and sites laid out, etc.) and you're running Windows on your development machine with IIS and SQL Server already installed, what's the best way to do it?

I found a method online which sets up a little "mini" server on Windows running instances of Apache and MySQL but they didn't advise using it on a machine with IIS already installed. Obviously one could install Apache and MySQL and do it that way but given what Windows affords you (i.e., methods of running PHP in IIS - I think Windows Server 2008 is even optimized for this), is that the best way? Are there ways to run WordPress with SQL Server as the backend? (I wouldn't think so but I thought I'd throw that out there).

And are there methods differing on the version of Windows (i.e., XP, Vista, Vista64)

+1  A: 

Install PHP, run Wordpress in IIS. Install MySQL which can be run side-by-side with MSSQL. The only thing you'll miss using IIS over Apache is mod_rewrite for prettier URLs.

Avoid running IIS and Apache on the same machine if at all possible. IIS likes to bind to all available IPs blocking Apache from binding to an IP, which you can get around if necessary, but it's not immediately clear what's happening.

I've been running this setup for years.

John Sheehan
I've found that running wordpress on IIS doesn't really reflect how the sites will work under Apache, but that could be just me.I do have to turn off IIS when using my XAMPP server, but that's hardly a hardship given the flexibility this allow me.
cori
I run 5 Wordpress blogs on IIS and haven't had any issues. What issues did you run into?
John Sheehan
mod-rewrite was a big one; some plugins don't work properly without it IIRC. Honestly it's been a while since I got my current set up working, and I've never looked back - running WP on windows seemed a little unnatural.
cori
+2  A: 

I run XAMPP on a thumbdrive and install WordPress (usually multiple instances of it) on there. Then I start up XAMPP when I'm going to work on Wordpress development.

EDIT: this setup does require that IIS be stopped when the XAMPP server is running (or some byzantine configuration magic that I've never bothered to figure out. Since most of my personal needs for local IIS development are handled by the Visual Studio built-in instance of IIS, which can run side-by-side with XAMPP, I rarely have bother with anything else, but that probably won't work for everyone.

cori
I think this is the program I found before but it said it didn't like running alongside IIS (back when I read up on it anyway) - do you have any issues with it?
Schnapple
I commented on @john-sheehan's post, too. I do have to turn IIS off when XAMPP is on, but aside from that it works really well. And it requires no install on my Windows machine - completely portable.
cori
"I do have to turn IIS off when XAMPP is on" - it's because you can't have two processes listening on the same TCP port simultaneously (HTTP port 80 in this case).
Duncan Smart
A: 

Since you are interested in developing for Wordpress I strongly suggest you use the most common WP setup: Apache, PHP and MySQL.

You can run Apache and IIS at the same time (I have IIS listening on port 81 and Apache on 80) or you can run only one at a time (create 2 bat files to start/stop the servers using the net start/stop command).

You can use IIS, PHP, MySQL to run Wordpress but there are some subtle differences that can drive you crazy or cause problems when you deploy on Apache.

daremon
A: 

You can certainly run IIS and Apache on the same box. We do it currently with Documentum/Apache and IIS on the same server. Just pick a range of addresses for one web server - 808x for Apache for example.

You should also consider using Thinstall from VMWare where you can virutalize an entire application - registry, .Net and all - distribute as a single .EXE. We do this now for packaging applications that don't play well together. You might want to virtualize Wordpress/Appache/MySql and set an IP (808x) for that configuration. This way you can move this to any server with IIS and it'll play well with different configurations.

David Robbins