There are plenty of ways to install WordPress on your local machine. I use a free software package called AMPPS.

It’s similar to packages like MAMP and XAMPP in that in includes all of the things you need to run WordPress: PHP (the programming language), MySQL (the database), and Apache (the web server). That’s what some of the As, the Ps, and the Ms stand for in these acronyms.

While I use a Mac, note that AMPPS is also supported on Windows and Linux. Instructions may differ slightly for non-Mac users, but the core concepts are the same.

Step 1: Download and Install AMPPS

For our purposes, we’ll avoid the “PHP Dev Package” and download the latest version of AMPPS.

The latest version (at the time this tutorial was last updated) is 3.6. The download is a few hundred megabytes, so it may take a while on a slower connection.

Select the appropriate download depending on your operating system. If you’re a Linux user, you’ll need to select between the 32bit or 64bit packages.

Select the appropriate flavor of AMPPS, depending on your operating system

Install it like you would any other application. Since I use a Mac, after downloading, I’ll mount the DMG file and drag the app into my Applications directory.

Drag the AMPPS folder to the Applications folder.

Step 2: Start Apache and MySQL

After installing, open the app. You’ll be greeted with the “Control Center.”

Start both Apache and MySQL by clicking the green buttons under each column.

To run WordPress, Apache and MySQL need to be turned on.

You’ll see success messages in the status window below, but to make double sure it’s working, type http://localhost/ into your browser’s address bar.

After typing in http://localhost/ in your browser

In some browsers, you may be able to get away with just typing “localhost” but since many browsers combine their address bar with a search engine, it might get confused and try to search for “localhost” instead. So prefixing “localhost” with http:// is a good habit to get into.

At this point, you have a functional web server running locally on your computer.

Fun fact: will also work like http://localhost/ and can be used interchangeably. This is known as the loopback IP address.

Step 3: Choose a fake domain

If we really wanted to, we could use a URL like http://localhost/wordpress/ for our locally hosted WordPress site, but we’ll go ahead and install WordPress on a more realistic-looking domain.

To get started, click the house icon in the AMPPS Control Center to access AMPPS Home.

The Control Center screenshot from above, with everything but the Home icon greyed out

You can also access AMPPS Home by typing the following URL into your browser’s address bar: http://localhost/ampps

If you can’t access it, refer back to step 2 and make sure Apache and MySQL are running.

Once on the AMPPS home screen, click on the “Add Domain” link.

Reserved domain extensions for testing

There are four reserved domain extensions for “testing and documentation examples” according to this.

  • .test
  • .example
  • .invalid
  • .localhost

To avoid conflicts with potentially real domains (like .dev, which is a popular one for local development) you should use one of the above.

For example purposes, we’ll use the following fake domain: wordpress.localhost

Step 4: Add the fake domain

On the “Add Domains” screen (which can also be accessed by typing http://localhost/ampps/index.php?act=ampps_domainadd in your address bar, but it’s nice to know other ways of getting there) we’ll type in our desired domain.

Adding a domain in AMPPS
Adding a domain in AMPPS

You’ll notice as you’re typing, the “Domain Path” field fills out to match. This is the folder where we’ll later add our WordPress files, so take note of this path. On a Mac, it will be the following: /Applications/AMPPS/www/wordpress.localhost

Keep all the other settings on their defaults, as seen in the screenshot:

  • Is Domain Addon or Parked? Checked
  • Add an SSL entry? Unchecked
  • Add an entry to Host File? Checked

Then click “Add Domain” to add the domain. At this point, typing http://wordpress.localhost/ into your browser will lead to a page with an empty directory index (except for a /cgi-bin/ directory, which you won’t need).

Even though just “wordpress.localhost” may all be that’s necessary, prefixing the domain with http:// is a good practice so browsers don’t get confused and attempt to run it through a search engine first.

Step 5: Download WordPress and unzip in your directory path

Grab the latest WordPress core files from, and extract them in the directory path we chose above.

As a reminder, that path is: /Applications/AMPPS/www/wordpress.localhost

A quick way to find it on a Mac is to type your chosen domain into Spotlight search, and select the first result.

Locating the domain path in Spotlight search on Mac

After extracting the files, our directory structure should look like this:

Locally-installed WordPress directory structure

Also after extracting the files, we’ll be greeted with the WordPress installation screen by typing our domain into our browser’s address bar.

WordPress language selection screen

But before we go through the installation process, we need to set up the database.

Step 6: Set up a database in phpMyAdmin

AMPPS also includes phpMyAdmin, which can be accessed at the following URL: http://localhost/phpmyadmin

We’ll use it to create the MySQL database we need for WordPress to run.

First, click the “New” link at the top of the left sidebar.

Add a new database in phpMyAdmin

For example purposes, we’ll use wordpress. You can use whatever you want, just keep it mind for the next step.

Once you’ve chosen your database name, type it in and click the “Create” button.

After creating the database, you’ll see a success message

Now close out of phpMyAdmin, and let’s head back to the WordPress installation screen at http://wordpress.localhost.

Step 7: Connect to the database

On the previously pictured language selection screen, select the language of your choice and click the “Continue” button.

For example purposes, we’ll select English (United States).

Click the “Let’s go!” button on the next screen, as we already have all the database information we need.

On the database credentials screen, input the following information:

  • Database Name: wordpress (or whatever you chose in Step 6)
  • Username: root
  • Password: mysql
  • Database Host: localhost
  • Table Prefix: wp_

The root/mysql username and password combination we use is a default in AMPPS, so there’s no need to add a separate database user. The root user’s password can be changed.

We’re playing things fast and loose since we’re on a local environment and we want to keep things as simple as possible for this tutorial, but it is not a good idea to use the root MySQL user on a live server, if you have the option. Many hosts don’t allow it.

In the background, WordPress will create a wp-config.php file with the information WordPress needs to connect to the database.

After successfully connecting to the database, you’ll be prompted to finish the installation by specifying your WordPress site details.

Step 8: Finish installing WordPress

Fill out your choice of site title, username, password, and email address on the next screen.

Search engine visibility doesn’t matter because this WordPress website will not be accessible from the web, but feel free to further discourage search engines from indexing your site just for kicks.

After clicking the “Install WordPress” button, you’ll be redirected to the WordPress dashboard of your newly installed local WordPress site.

Your locally-installed WordPress site is now fully functional!

In closing

Like I mentioned in the first sentence in this post, there are plenty of ways to install WordPress locally.

I’m not going to argue about which way is the “best” because it’s something that I’m just not that opinionated about. AMPPS works, and I’m comfortable with it. So I use it.

Plus as a theme developer, I don’t particularly care about exact parity between local and live environments, since my themes will be used on many different types of environments that I can’t anticipate. It sometimes even helps me when an error is thrown on one environment, but not the other, because I can look into why and eliminate it.

If you have any suggestions on what local development environment tool I should try next (and write a similar tutorial about), I’m all ears!

Also, would you prefer video tutorials?

Previous Article
Displaying page-specific header images in the Beautiful Pro theme
Next Article
Realizing performance goes far beyond themes