Setup a WordPress site on Windows using IIS


Install WordPress on windows

Create Folder in wwwroot and IIS website for new website

Install PHP/MySQL/WordPress
This will also install and configure MySQL & PHP if not installed

Go to and click install now.
If program does not run, run the download.

In upper right type WordPress and click enter
Click the Add button next to the one titled WordPress
Click Install

Follow the install steps
The next page will be all the Items the installer is going to do.
Click I Accept

If PHP is not installed, it will install and configure for you.
Click Continue

If MySQL is not installed, it will ask you to define a root password.
Click Continue

The system will now do a small download and install.

The next step will be setting the folder for WP and settings.
Choose your new website
Leave Application name as WordPress
Click Continue.

The installer will now Install and configure WordPress.

When finished it will give you all your database information
Document this for safe keeping.

Click Finish
WordPress is now installed accessible via (

Go to url and finish install.
Your site is now ready to use as (

Configure WordPress to be (

I have provided the simplified steps below, however full instructions can be viewed here

Login and go to settings
Change the settings to reflect:
WordPress address (URL):
Site address (URL):

Copy (NOT MOVE!) the index.php to the root directory from the WordPress folder.

Edit index.php in root directory
Change the following and save the file.
Change the line that says:
to the following, using your directory name for the WordPress core files:

Create web.config in root directory and add the following to the file:


If you have set up Permalinks, go to the Permalinks panel and update your Permalink structure.

To make site run faster if database is on same server
Open wp-config.php
Change define(‘DB_HOST’, ‘localhost’); to define(‘DB_HOST’, ‘‘);

If you have Issues with File uploads

For the whole WP folder have Read & Execute, List Folder Contents, and Read permissions assigned to:

<?xml version="1.0" encoding="UTF-8"?>
<rule name="WordPress Rule 1" stopProcessing="true">
<match url="^index.php$" ignoreCase="false" />
<action type="None" />
<rule name="WordPress Rule 2" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?files/(.+)" ignoreCase="false" />
<action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
<rule name="WordPress Rule 3" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" />
<action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" />
<rule name="WordPress Rule 4" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
<action type="None" />
<rule name="WordPress Rule 5" stopProcessing="true">,/span>
<match url="^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" />
<action type="Rewrite" url="{R:2}" />
<rule name="WordPress Rule 6" stopProcessing="true">
<match url="^([_0-9a-zA-Z-]+/)?(.*.php)$" ignoreCase="false" />
<action type="Rewrite" url="{R:2}" />
<rule name="WordPress Rule 7" stopProcessing="true">
<match url="." ignoreCase="false" />
<action type="Rewrite" url="index.php" />

Change PHP
Create folder phptemp in C:inetpubphptemp
Giving IIS_IUSRS – Read & Execute, List Folder Contents, Read permissions

In the php.ini file (usually located at C:Program Files (x86)PHPv5.4)
Set the following property value – upload_tmp_dir = c:wordpress_upload_temp

If you have Issues Upgrading
For the whole WP folder give IUSR – modify permission

Struggling with unpredictable and costly IT? Grab a FREE copy of The Ultimate Guide to Managed Services and learn how managed IT services can optimize your IT infrastructure and ensure predictable IT costs.DOWNLOAD IT TODAY FOR FREE