Server Upgrade | Initial Build Spec

Hello! Long time no write!

Lemme jump right in, the server that hosts all of my content is dying. Right now, I get around 200 hits a day, and that’s only rising (thanks youtube dudes!) which is really taking a toll on the server. It’s an HP laptop that has been on for almost two years straight, in addition to being my only computer for 4 years before that.

The only reason this is worth writing about is because I intend on using this machine for a few things other than hosing a WordPress server (hopefully I’ll write a post about migrating a content rich blog across servers).

I also want to run a series of email servers on the machine as well! It would appear that a series of virtual machines would be the most efficient way to accomplish this.

Here is a list of the components that I have ordered: http://pcpartpicker.com/user/egg/saved/3deW

WordPress installation on ubuntu 10.04

There are probably a million tutorials out there to do this, but as I’m doing it for the second time, I figure that I should probably write it down.

First thing’s first, make sure you’re all updated:

sudo apt-get update

Then install lamp

sudo apt-get install lamp-server^

and run through the install process. Make sure you write all of that info down.

Then download wordpress. Assuming they still have their download architecture the same as the time I’m writing this, you can just use this command.

wget http://www.wordpress.org/latest.tar.gz

And unzip this file.

tar -xzvf latest.tar.gz

You should see a LOT of stuff unzipping.

Then remove the tarball

rm latest.tar.gz

Now you need to create a database.

mysql -u WHATEVER YOUR USERNAME IS -p YOUR PASSWORD
mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL PRIVILEGES ON wordpress_risp.* to "AUSERNAME"@"localhost"
#hit enter and make a new line
 -> IDENTIFIED BY "password";
FLUSH PRIVILEGES;
EXIT

Write down this information.

Next move your wordpress folder to where it’s going to be seen by the web, in my case /opt/bitnami/wordpress/risp

mv wordpress /opt/bitnami/wordpress/risp

rename the file “wp-config-sample.php” to “wp-config.php”

mv wp-config-sample.php wp-config.php

edit it using your favorite text editor, in my case vim

vi wp-config.php

Follow the instructions in the document to add your MySQL DB stuff that you established earlier.

At this point you’re pretty much done. Navigate you localhost/wp-admin/install.php in your favorite browser to set it all up.


To be able to upload images, you will need to run the following command:

 sudo chown -R 755 www-data:www-data /var/www

To be able to use custom permalinks within wordpress, we’ll need to make a couple modifications. The first is modify the apahce2 virtual host settings with:

sudo nano /etc/apache2/sites-enabled/000-default

Change the /opt/bitnami/wordpress/ settings so AllowOverride None is set to all like so:

We will also need to give the proper permissions of apache to the .htaccess (found in the root directory of your wordpress install, mine is /opt/bitnami/wordpress/) file by running the following commands:

sudo chown -v :www-data /opt/bitnami/wordpress/.htaccess
sudo chown -v 664 /opt/bitnami/wordpress/.htaccess

Note: If the file does not exist, you can create it with:

sudo nano /opt/bitnami/wordpress/.htaccess