At the Forge - WordPress
A fitting end to this series on Weblog software is a brief introduction to WordPress, which offers a wide array of features and continues to grow in popularity and sophistication. WordPress is Weblog software with an extremely clean, easy-to-use interface written in PHP with a MySQL back end.
Installing WordPress is amazingly straightforward if you have a bit of experience with Apache and MySQL. WordPress stores all of its information in a set of MySQL tables, which means you need to create at least one database before installing WordPress. WordPress allows you to have more than one Weblog inside of a single database, which is useful if your site is hosted by a company that gives you only a single MySQL database.
To create a new MySQL database, you need to use the mysqladmin program, which is in /usr/local/mysql/bin on my system:
# /usr/local/mysql/bin/mysqladmin -p create wordpress
The above command assumes you are running as root and that the root user has administrative privileges. Once you have created the database, you need to grant permissions for the WordPress user on these tables; we do this by logging in to the database:
# /usr/local/mysql/bin/mysql -p -u root
Once you have logged in, you can grant permissions to the WordPress user, which I called wpuser, with:
GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost IDENTIFIED BY 'wppass'; GRANT ALL PRIVILEGES ON wordpress.* TO wpuser IDENTIFIED BY 'wppass';
Next, download the source code to WordPress (see the on-line Resources section) and open that .tar.gz file inside of your Apache document root directory. You probably want to put the WordPress files inside of their own directory or perhaps under a virtual host, but all of the files must be within the document root if they are to be of any use.
Now point your browser to wp-admin/install, and you're on your way. The installation screens check that everything is installed correctly and ask you to answer several questions. Typically, you need to click on a link at the bottom of each page to continue with and finish the installation.
If you fail to create the database first, WordPress tells you to do this, reminding you that the database needs to be created before it can install the tables. You can use the WordPress installer only a single time. If you try to run the installer on an already-installed system, you are told to remove the old installation first. Attention to these sorts of details is nice to see in a program aimed clearly at a relatively nontechnical audience.
Once you have installed WordPress, you can log in as the admin user with a randomly generated password. Logging in as the administrator allows you to add, edit and delete postings, as well as configure the system for other users. WordPress allows you to create any number of users, each of whom is assigned a privilege level between 1 and 10. The administrator, with a privilege level of 10, is allowed to do anything to the system; other users similarly can be given free rein by being assigned 10s.
But, of course, you don't want to give every user the equivalent of root access. The default WordPress installation raises the bar on a number of features, so you can assign privilege levels to different users. Thus, users with a level of 5 and above can manage the list of links that appears on the right side of the page, and they also can upload images. These levels can be changed by using the administrative interface.
WordPress administration is entirely Web-based; once you have created the database tables, you can manipulate the entire system by using a Web browser. A number of menus are available when you are inside the administrative interface, and some of these menus have submenus as well. Although I originally was confused by the placement of certain features, I soon began to understand the layout of the system and was able to locate and modify many of the different options.
For example, I decided that it would be nice to include my blogroll, the list of Weblogs I read on a regular basis. I use Bloglines.com, a Web-based aggregator, and was able to generate a list of Weblogs in OPML (Outline Processor Markup Language), an XML application that is the standard for such data. Importing the list into WordPress was a snap by using the links menu and choosing blogroll. One of the listed options was to import an OPML file; as soon as I did that, my list of blogs was visible to the world.