When you start designing WordPress themes it becomes a real hassle to constantly upload files to your web server to see if your latest tweak did what you wanted it to.  And what happens when your latest modification messes things up and your live site is non functional?  What you need is your very own web server. All of the individual applications are available, Apache , PHP and mySQL. But putting all of the pieces together is a real challenge.

Now you can set up your own web server on your local computer with just one application that includes everything you need. You can do all of your theme testing locally and be confident that it will run exactly the same when you upload it to your web host.

I’ll be showing you how to install WAMP (Windows, Apache, mySQL & PHP) on your Windows PC. If you’re using a Mac you can download MAMP or XAMPP and follow the directions from the download site.

The first thing to do is get the latest version of WAMP.

Double click the installer and you should get the following screens. Windows Vista and Windows 7 users may get some other security warnings but after that it should be what follows…


Accept the license agreement…


Select the destination folder. If you want it someplace other than drive C change it now…


Select whether you want a quick launch icon and a desktop icon..


Click install and your about done…


Once the installation is complete you’ll see the SMTP outgoing mail server screen. Don’t worry about the mail server, just click ‘Next’ because you won’t be sending email from your local server and it takes some additional configuration anyway (that’s not covered here).


All that’s left is to click ‘Finish’.  Go ahead and start the server as we’ll be installing WordPress next.


Now for the big test. Launch your browser and type ‘localhost‘ into the address bar. You should see something similar to the next image…


If you used the default setting during installation then c:\wamp\www will be the root of your web server. Anything you put in the root folder will be available from your browser as if you were browsing the web. By default the wamp server installs an index.php file in the root that will show some information about your web server, a couple of applications and then everything else that’s been placed in the www folder.

If you keep everything in separate folders, you can have as many different installations of WordPress that you want. Or bbPress, Drupal, Magento, a standard HTML/PHP website or anything other kind of web site. In essence, each folder represents a different web site address. As long as you don’t over write the index.php file that’s in the root you’ll always be presented with a directory listing of your separate websites.

Before we get to installing WordPress we need to make one modification to the Apache server.  We need to turn on mod_rewrite so that we can use permalinks.

Fire up your text editor (not word processor) and open the httpd.conf file. Be careful editing this file. It contains the configuration for the Apache server. If you mess it up you will probably crash the server so make a backup before editing. If you installed WAMP in the default location the file will be located here:


Your looking for the line: #LoadModule rewrite_module modules/mod_rewrite.so which should be around line 116. To enable mod_rewrite just remove the ‘#‘ symbol at the beginning of the line.


Save the file and then restart the Apache server if it was already running. Now you’ll be able to enable ‘Pretty Permalinks‘ on your WordPress site.


Let’s start the WordPress installation.

We’ll be following the WordPress Famous 5 Minute Install with a couple of changes to fit our local web server.

Step 1: Download and Extract

Grab the latest version of WordPress. Unzip it and copy it to your www folder. At this point you should rename the default WordPress folder (wordpress) to something descriptive such as ‘wp-sales-site‘. Try to avoid using spaces between words, us a dash or underline instead.

Step 2: Create the Database Using phpMyAdmin

Point you browser to ‘localhost‘ and then click on ‘phpmyadmin‘ under the ‘Tools‘ heading.  This is where the install deviates from a normal web host install. Since your on a local server that is typically not viewable by anyone but you there is no password required and the user name is ‘root‘ by default. So all you need to do is provide a name for your database, but no user name or password.


Step 3: Set up wp-config.php

You can create and edit the wp-config.php file manually but it’s much easier to let WordPress do it for you. Point your browser to ‘localhost/wp-sales-site/wp-admin/install.php‘ and you will see the next screen. Go ahead and create the configuration file…


Now we tell WordPress details about our database that we created earlier.


  1. This is the database we created in phpMyAdmin
  2. Our user name is ‘root‘ by default
  3. Leave the password blank
  4. Our database is located on ‘localhost
  5. This is the default prefix

Go ahead and click ‘Run the install‘…


Give you blog a name. This will appear as your blog title. You have to put in an email address even though it won’t be used. Then hit ‘Install WordPress‘…


At this point WordPress is installed.  A default user named ‘admin‘ has been created with a random password. Write this password down. You will change it when you login-in on the next screen.


That’s it! You’ve just installed a local WAMP server and done your first installation of WordPress. You no longer have to fire up your FTP program and upload changes to your site. Just copy them to the appropriate folder on your local web server.

Remember, you can create many WordPress installations by keeping them in their own directory.

Good Luck and have fun!

  • Brad says:

    Nice tutorial Bud!
    I can see when editing a site could save a ton of time having this setup locally. I had heard this talked about, but wasn’t sure just how to set this up. I have a pretty good idea now. The best step by step I have seen online on this subject.
    Keep up the great work over there Bud!

    You have been very helpful to me.
    Thank You!

  • Nick says:

    This is a simple and awesome tutorial, had things up and running in no time. Thanks!

  • Jacques says:

    Thanks Bud, you just save me a lot of time, and band with

  • Patty Gale says:

    WOW! Bud, thank you SO much for creating this tutorial. I have several clients right now that we’re creating their web presence with WordPress and was going to set up a whole new domain with testing servers online.

    Of course, I don’t want any of those pages indexed or found yet on my own server since they should be indexed on the clients’ domain.

    I just finished setting up WAMP, WP 3.0 and can’t wait to start testing with this.

    Thank you again! Very clear and explicit instructions.

  • HFM says:

    Thanks! This was clear and easy!

Awesome Themes

Genesis Framework for WordPress

Favorite Random Quotes

“At 20 years of age the will reigns, at 30 the wit, at 40 the judgment.”

by Benjamin Franklin