WordPress

Guides


I originally started working on this guide with the assumption it would be used just for others with a Raspberry Pi. Since I use Raspbian, these commands should work the same with Debian or Ubuntu.

(This guide assumes that you are running all commands elevated, either as the root user or with the sudo command, and that your system is fully up to date.)

First, make sure your system has a working web server installed, as well as MySQL. See my "Pi - Web Server" and "Pi - MySQL Server" guides for that.


Have a working web server? Have you verified that phpMyAdmin loads? If those aren't working, WordPress will not work, either.

If you have a working web server and phpMyAdmin, a quick-install guide would comprise of telling you to download & extract WordPress into your web root.

This guide doesn't cover that. Since I usually run multiple web programs or host multiple sites, my setup is a bit more complex. Is it better than the typical setup? I have no idea. It makes things easier for me, though.

This guide puts the WordPress directory outside of the web root, but then makes a symbolic link from it back into the web root. Why do this? I do this with several web-based packages for the purpose of backups and version testing. Instead of having multiple directories in the web root, I can instead have them outside of the publicly-accessible location and just make a symbolic link to the current one that I want to use.

Change to the default web directory (which we created in my web guide):

# cd /srv/www/default

Download the latest WordPress:

# wget http://wordpress.org/latest.zip

Unzip WordPress:

# unzip latest.zip

Unzipping "latest.zip" should have created a directory called "wordpress".

Create a symbolic link for it in the web root:

# cd htdocs
# ln -s ../wordpress wp

Now copy the WordPress index.php into the current directory:

# cp wp/index.php .

Open the index.php file and look for this part near the bottom:

'/wp-blog-header.php'

Change it to look like this so that WordPress works from its subdirectory:

'/wp/wp-blog-header.php'