Tips on Install of WordPress on Mac OSX

Prerequisites / WordPress Dependencies

Local Apache web server with PHP & Mysql.

If you don’t already have your local dev environment set up, consider installing MAMP or MAMP Pro. MAMP is a one-click install which will provide you with a clean, isolated stack for local development that has Mysql and PHP pre-configured. Another benefit of MAMP is that it is very popular so there are countless tutorials and examples to follow.

If for some reason you don’t want to use MAMP or you’ve already configured your local enviro somewhat but you still need PHP and/or MySQL, check out this article: Install and Configure WordPress on Mac OS X Snow Leopard Step-By-Step by awilliams of Thermal Exposure. It takes you from zero to WordPress using Leopard’s built-in Apache server, although I do recommend you supplement these instructions with these tips and my other article Install Mysql for Local Dev on Mac OSX 10.6

Download WordPress

Download and extract the latest WordPress package.

Move it somewhere good like in your /Sites/ folder (most usual place but depends on your config, it can go anywhere you desire so long as your local web server is configured to look there).

I moved mine to /users/me/Sites/wordpress and renamed ‘wordpress’ to ‘wptest.loc’ resulting in: /users/me/Sites/wptest.loc. You can rename it whatever you want – probably the name of your project or client’s site is a good idea.

WordPress needs permission to modify files during installation and runs as user “_www” so make sure it can do this.

cd /Users/me/Sites/
sudo chown -R _www wptest.loc
sudo chmod -R g+w wptest.loc

Create a Database

Now we need a database, a database user and a password. Technically you can use any user or add WordPress tables to an existing database but I like to keep things separate so it’s easy to port elsewhere or start over without worrying about wrecking other things. I’m going to create a database called wptest, database user named wptest_user. You can do this using a GUI (phpMyAdmin, etc.) but I guarantee you cannot do that faster than I can type this ;)

bash > mysql -u root -p
mysql > create database wptest;
mysql > GRANT ALL ON wptest.* TO wptest_user@localhost IDENTIFIED BY "secretpassword";
mysql > exit

Configure Site Address

Remember how I renamed the wordpress folder to wptest.loc? This is because I plan on accessing it in the browser via http://wptest.loc instead of http://127.0.0.1/ or http://localhost.

To do this I use Virtual Hosts in my environment and point the virtual domains to my local IP address in my hosts file. It’s confusing at first but once you do it a time or two it will be second nature. It’s important if you’d like to work on multiple sites on your local environment concurrently and don’t want to rely on weird subdirectories or other work-arounds that wouldn’t easily port to a live web server.

Setting Up Virtual Hosts on MAMP explains how to set this system up. I provide only abbreviated steps below (MAMP not assumed).

Setting up Virtual Hosts (in short)

  • In your httpd.conf file there should lines like this:
    # Virtual Hosts
    Include /path/to/your/httpd-vhosts.conf

  • In your httpd-vhosts.conf file there should be a line like this:
    NameVirtualHost *:80
    Include /path/to/your/httpd-vhosts.conf

Create A Virtual Host

Now, whenever you want to create a new virtual (local only) site:

  • In your httpd-vhosts.conf file add an entry like this:
    <VirtualHost *>
        ServerName wptest.loc
        DocumentRoot "/Users/me/Sites/wptest.loc"
      <Directory "/Users/me/Sites/wptest.loc">
        Order allow,deny
        Allow from all
        DirectoryIndex index.php index.html
      </Directory>
    </VirtualHost>

  • In your hosts file (mine is /etc/hosts) add another entry for your local IP:
    127.0.0.1    wptest.loc

Install WordPress

Point your browser to http://wptest.loc

If no config file is found you can edit it yourself, wp-config-sample.php as wp-config.php and adding the correct information for the database you created. Try using 172.0.0.1 as the Dataase Host if localhost doesn’t work.

2 Comments »

  1. Channel Manager said,

    September 26, 2011 @ 4:58 pm

    Some good instructions there. I use WordPress as my Content Management System of choice… and feel i am at least a mediocre user capable of edition files etc.

  2. Orlando Atkinson said,

    October 27, 2011 @ 11:55 pm

    Thanks for the instructions. I had never thought before that I have to install WordPress in local environment of OSX of my customer. At first, I didn’t know what to do but using google search. I found this page and it’s very detail. I’ll try this.

RSS feed for comments on this post · TrackBack URI

Leave a Comment