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:

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.

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.

  1. 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.
     phpMyAdmin Login
  2. 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.
    Create Database in phpMyAdmin
  3. 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.
    phpMyAdmin Home and Privileges
  4. Click on Add a new User to create a new user.
    phpMyAdmin Privileges Page
  5. 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.
    phpMyAdmin Add User
  6. 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.
    phpMyAdmin Select Database
  7. 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.
    phpMyAdmin Add All Privileges

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.

  1. Launch the Internet Information Services (IIS) Manager.
  2. 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.
  3. There are two ways for IIS to direct users to your site.
    1. 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.
    2. 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.
  4. In either case, you’ll browse to the directory to which you copied the WordPress files.
    Web Site Content Directory
  5. 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).
    Web Site Access Permissions
  6. 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.
  7. 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.
    1. 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.
    2. Click on the Documents tab to make sure that index.php is enabled as a default document.
      VS Properties Documents
    3. If index.php is not in the list, click on the Add button, type index.php into the box, then click OK.
      Add Content Page
  8. 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