Aug 212010

If you want to start your own blog, WordPress is the way to go. Of course, there are other software packages available that can be deployed for blogging, but WordPress is the de facto standard now.

In this article we describe a basic installation and configuration. Later on we will build further on this foundation, using contributed plugins available from the WordPress website.

Download and Installation

The software package can be downloaded from the WordPress website:

Version 3 no longer has a separate version for Multi-User blogs (WPMU). The fork merged into the new release.

Upload the WordPress zip package to your website using FTP, and unzip it:


For this blog we rename the base directory and then create two symbolic links (symlinks) to it:

mv wordpress/ PB-wordpress-3.0.1/
ln -s PB-wordpress-3.0.1 PB-wordpress
ln -s PB-wordpress PBblog

This way we can easily add another WordPress blog to the same site, upgrade to a newer version of WordPress, or even move to another blogging software package in the future.

Finally, open up a directory PBblog/wp-content/uploads/ for writing by the web server:

mkdir PBblog/wp-content/uploads/
chmod 755 PBblog/wp-content/uploads/
setfacl -m u:apache:rwx PBblog/wp-content/uploads/

Database Setup

Before we can move further, we need to create a new MySQL database for this blog:

mysql -u <administrator> -p
CREATE DATABASE <database_name>;
GRANT ALL PRIVILEGES ON <database_name>.*
    TO "<database_user>"@"localhost"
    IDENTIFIED BY "<user_password>";

Fill out your own database name, user name and password.


These very same data should be entered in the configuration file wp-config.php:

cd PBblog
mv wp-config-sample.php wp-config.php
// ** MySQL settings - You can get this info from your web host ** //

/** The name of the database for WordPress */
define('DB_NAME', '<database_name>');

/** MySQL database username */
define('DB_USER', '<database_user>');

/** MySQL database password */
define('DB_PASSWORD', '<user_password>');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

Now we can access the configuration screen for the rest of our setup:

After we fill out these fields, we get a confirmation, both on screen and by e-mail. And that is all there is to it!

A more detailed installation guide can be found at:

Start Blogging

Before we start blogging, there is a single last thing we need to do. Since this blog is the only content at this website for now, we have to refer visitors from the home page to this blog. To stay flexible, we do not set the home page of our site in the Apache server configuration. Instead we create an index.php file that refers ours visitors from the root web directory to our blog entrance:


Finally we are here. Login to the administrator’s Dashboard and start writing your first blog, just like I just did.

  One Response to “WordPress: The Installation”

  1. […] the plugins we installed before (here and here). Remember that we used symlinks when we did the initial installation? We now do it […]

Leave a Reply