Preparing to Install WordPress on Windows and IIS
Table of contents for Installing WordPress On IIS From the Ground Up
- Installing MySQL on Windows
- Installing FastCGI on IIS6
- Installing PHP on Windows and IIS
- Installing phpMyAdmin on Windows and IIS 6.0
- Preparing to Install WordPress on Windows and IIS
- Installing WordPress (Single-User)
- Troubleshooting on IIS7
This is the fifth part of the Installing WordPress From the Ground Up series. Previously I discussed installing MySQL, the FastCGI Extension to IIS 6.0, PHP, and phpMyAdmin. This article will show the exact steps for configuring MySQL and IIS to prepare for setting up WordPress on Windows and IIS.
Dependencies
Before you can perform the steps in this article, make sure that you’ve performed the steps in the following articles:
- Installing MySQL on Windows
- Installing PHP on Windows and IIS
- Installing phpMyAdmin on Windows and IIS 6.0
If you’ve performed these steps, you are ready to proceed.
Download WordPress
There are two editions of WordPress that you can use - WordPress and WordPress MU (multi-user). WP-MU is what is used by http://wordpress.com/ and is good when you want to be able to create multiple sites with the same user information.
With either edition you will want to keep your WordPress software up-to-date with the latest version offered - which at the time of this writing is 2.7.1 for WordPress and 2.7 for WordPress-MU - as there are always security fixes being made.
- WordPress can be downloaded from http://wordpress.org/download/.
- WordPress-MU can be downloaded from http://mu.wordpress.org/download/.
Note that WordPress-MU isn’t supported on IIS, so we won’t be discussing it further here. Once you’ve downloaded the zip file, extract the files to the location on your disk that will be hosting your WordPress web site. If you specified a value for the open_basedir setting in the php.ini file, you will need to extract WordPress to a directory below that directory. For example, if you specified C:\Inetpub\wwwroot, you must copy the WordPress files to a directory such as C:\Inetpub\wwwroot\blog.
Configure MySQL for WordPress
You can configure MySQL using the command line tool or you can use phpMyAdmin. I’ll show you how to use phpMyAdmin here.
- Navigate to your phpMyAdmin site (e.g. http://localhost/phpmyadmin) and type in root for the username and the root password for your MySQL database server.

- Create a database for the WordPress site. To do this, just enter the name of the database in the filed under Create new database (for this tutorial I’ll enter wordpress for the name of the database). Make sure the MySQL connection collation is set to utf8_general_ci, or set the database collation to that value. Then click on Create.

- We need to create a user for the database we just created so that WordPress can access it. Click the Home button then click the Privileges tab.

- Click on Add a new User to create a new user.

- Fill in the details for the new user. Note that both the username and the password will be used later when configuring WordPress. I’ve used wpuser for the username and a custom name for my company for the password. You could also have phpMyAdmin generate a password for you. Click Go at the bottom of the page to create the user.

- Next we need to add privileges for that user to access the wordpress database. Scroll down to the Database specific privileges section and select the wordpress database that we created earlier. As soon as you do that the page will change.

- Select all privileges for the user by clicking the Check All link at the top of the Database specific privileges section. Then click the Go button at the bottom of that section.

That’s it. Your database is ready for WordPress.
Create the Virtual Directory in IIS
In order for anyone to get to your site, you need to create a web site or a virtual directory in IIS Manager to point to the WordPress directory.
- Launch the Internet Information Services (IIS) Manager.
- It is a good idea to keep the processes for your WordPress site separate from other web site processes on the server, so create an application pool for your WordPress site if you don’t already have one.
- There are two ways for IIS to direct users to your site.
- Top-level domain (e.g. example.com) - If your blog will be offered as a top level domain, create a new web site by clicking on the Web Sites node and click on New -> Web Site.
- Below a top-level domain (e.g. example.com/blog) - If your blog will be offered at a lower level, navigate to the top-level web site below Web Sites, right click, and then click New -> Virtual Directory.
- In either case, you’ll browse to the directory to which you copied the WordPress files.

- On the next page make sure that the first three checkboxes are checked: Read, Run scripts (such as ASP), and Execute (such as ISAPI applications or CGI).

- View properties of the new web site or virtual directory and click on the Home Directory tab for a web site or the Virtual Directory tab for a virtual directory. Select the application pool created earlier. You may want to change the name of the application as that is how it will show up in the application pool.
- If you are creating a new virtual directory, it will inherit settings of its parent virtual directory and/or web site. This may require that you add support for PHP.
- Click on the Configuration button and then click on the Add button to add an entry for the .php extension. See [cref installing-phpmyadmin-on-windows-and-iis] for more details.
- Click on the Documents tab to make sure that index.php is enabled as a default document.

- If index.php is not in the list, click on the Add button, type index.php into the box, then click OK.

- Click OK.
Create the WordPress Site
Now we’re ready to actually create a WordPress blog. The next articles in the series will go over installing WordPress and installing WordPress-MU.
Resources
- Installing WordPress on IIS 7 - Part 1 by Dave Lawlor
- How To Install WordPress - Step-By-Step Guide by Marko Saric




April 17th, 2009 at 2:16 am
I am trying to create a website or blog using WordPress and then link my shopping cart. I downloaded the WordPress zip file to my desktop but when I click on the zip file it just open up and display a wordpress folder. I am not seeing a setup or executable to getting the software installed and working on my computer. Help.
Thanks,
James
April 17th, 2009 at 8:54 am
Web software like WordPress is different than software that is installed on your system. Instead you copy the files to a folder accessible by IIS and then, from IIS Manager, create a web site or virtual directory that points to that folder. Look at the “Create a Virtual Directory in IIS” section above in this article for details on how to do that.
May 7th, 2009 at 11:37 am
Hi. I’m trying to set up a new Webpress site. Since using Webpress, etc. is new to me I want to do the development locally to get just what I want (and to learn) before pushing it to my host. I’ve been doing my research before setting anything up and the main hitch I’ve run into is that Webpress is geared towards Xampp/Apache BUT my host uses IIS. Making it more “difficult” is that I’m developing on XP Pro SP3 which, of course, natively runs IIS 5.1 — which has less features than 6.0+ on Server 2003. Unfortunately, I’m having extreme difficulty finding clear and concise articles on using IIS 5.1 and what I have found makes it sound arduous at best. Is there a way out? Or do I have to twist the arm of my host to install Apache.
May 31st, 2009 at 7:24 pm
Hi. I’m getting a lot closer on my XP Pro SP3 setup of WordPress, etc. I do have one question though. In this post you note that “Execute (such as ISAPI applications or CGI) should be checked. While I was looking for info on something else, I noticed in page 2 of your “How To Install WordPress on IIS 6″ post that you have this un-checked. I’m a little confused on this, and wondering what the “side effects” of checking or un-checking it are now.
Thanks in advance.
Don
June 1st, 2009 at 8:33 am
Hi Don,
One thing you’ll note that the other article is that it’s for phpMyAdmin, not WordPress. However, you bring up a good. I starting using WordPress and PHP using the PHP ISAPI DLL and I remember having trouble unless I checked the Execute checkbox when setting up the virtual directory. What you might do test if this is required when using FastCGI is check Execute and get it to work. Once you’ve verified that it works, change the Execute permissions setting from Scripts and Executables to Scripts only and see if it works. Let me know what you find out.
Thanks,
David
June 3rd, 2009 at 9:05 am
Hey this is great stuff, thanks for helping me through this!
June 6th, 2009 at 9:39 pm
Hello David,
Would you consider a small consulting job helping me set up WordPress MU on a Windows Server 2008 server with iis7? I am not a developer but I need to get this set up. Let me know.
June 8th, 2009 at 8:45 am
Normally I’d be happy to consider such a job, but unfortunately WordPress MU doesn’t support IIS at all - it requires Apache. I guess I should really make that clear in my articles.
June 22nd, 2009 at 12:25 am
[...] Been looking into this myself … found this article on setting up WP and IIS7 Preparing to Install WordPress on Windows and IIS | David’s Technical Musings [...]
June 30th, 2009 at 9:49 am
I attempted to post a request for help, but it never loaded. Let me try again.
I am attempting to install WordPress on a server that is already running IIS6, PHP, MySQL and PHPMyAdmin. I just completed downloading, installing, and configuring the FastCGI extension for IIS6. PHP Tests fine in the site. I’ve set up a database, created a user and password. And put that data in the config file for WordPress…checked and rechecked it. It looks correct to me. I went back into MySQL and upped the Priviledges to ALL, Reloaded them. PHP tests fine, but when I attempt to run the install.php file from the wp-admin folder, I get an error that says “no input file specified.”
I am at a loss as to how to proceed. I don’t think I should need to create a virtual directory in IIS, since I’ve got the new site already set up, but there must be some kind of configuration I’m missing.
I REALLY need to get this resolved. I’ve got a site that HAS to run WordPress that I’ve been charged with creating. No choice in the matter. and It HAS to run at this location.
Any assistance would be GREATLY appreciated. As a matter of fact, I will be forever in your debt, if you or anyone can help me.
Frantically waiting, WCW