In my last post, I mentioned that WordPress has been essential to my growth in understanding digital technologies and digital preservation.  That is true not because I am a WordPress end user, but because I have administered WordPress.

Back in 2009, when I began this blog, I faced a fundamental choice: would I used a hosted blog service, such as one provided through WordPress.com or Blogger, or would I install and manage the blog myself?  I chose the latter option because a) I didn’t like the terms of service for the hosted accounts; b) I didn’t think hosted accounts provided enough flexibility; c) I really wanted to learn something about how blogs worked ‘under the hood’; and d) WordPress had the same basic server requirements as Archon, an application I had previously installed and managed.

I’m really glad I chose to host it myself, because installing the software forced me to engage with server administration tasks, theme customization, and user design issues in a systematic way.  I also discovered that the process of installing and managing a web application is not as daunting as it might seem.  In fact, I think it is well within the skill set of most archivists or general computer users.

To illustrate that, I’ll be using my next several posts to walk through basic installation and configuration of WordPress, which is being used as the base technology behind the new University of Illinois Archives website.

I am doing this because I think that WordPress can and should be used as a content management system (CMS) in many archival applications, but it will only work well as a CMS if you make good implementation decisionss andconfigure it correctly at the beginning.

WordPress.org supplies good basic instructions for installing and configuring WordPress.

The software is relatively easy to install.  If you can get access to a basic linux server*, you should have not problem installing it and doing this customization. WordPress is ideal for many smaller archives, since it is very likely that your webhosting provider gives access to it already.  You may be able to install it in a few clicks fromcPanel.  If not, the instructions below show how to install manually.  If you run into server configuration errors, you may need to check with a system administrator.  For this post, we’ll concentrate on getting WordPress up and running, assuming the basic system requirements have been met.

As I noted previously, I have ‘sudo’ or administrator access to a LAMP webserver (specifically, Red Had 6.2).  Today, I’ll be installing WordPress from the Linux shell; that is by using commands from a terminal application.  However, it is equally possible to do everything I am going to do via FTP or a visual file manager.  Basically, all we are doing is:

  1. Putting some files on a webserver;
  2. Creating a database and login credentials, so that the files on the server have someplace to store your pages, posts, and other information; and
  3. Editing a few of those file on the server,  so that WordPress can connect to the database and operate smoothly.
  4. Letting web-based installer finish the installation.

1. Putting Files on the Server

You can also download the files to a local computer from WordPress.org.  After that point, you should tranfer them to the webserver using a file manager (if the webserver is configured for access via a file manager.  Otherwise, you can use or FTP or SFTP.

I find it is quicker to work from the shell, or linux command line.  (As I’ve noted earlier, it is helpful to learn a bit about commands you can submit through the most common Linux shell, bash.)  First, I’ll connect to the Linux server via an open-source secure shell client, PuTTY, which runs on my windows desktop:

Connect to Server via PuTTY

Once I click open, I am greeted by a login screen for the Linux shell (The “shell” is just a program that you use to give text commands to the Linux machine. It is similar to the Windows command prompt.)

Logging In

I navigate to the folder that has been designated to hold web content, by using the ‘cd’ command:

Changing Directory

If you don’t know the path, ask your system administrator.  I then use the wget program to download a zipped version of the wordpress application by entering this text after the dollar sign:

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

Then I unzip the file by typing:

tar -xzvf latest.tar.gz

Linux  unzips the files  into a folder titled ‘wordpress’.  I move into that folder.

cd wordpress

Then I move all the files ‘up’ one level, so they are at the root of the server, and remove the now empty wordpress directory, by entering these three simple commands in succession.

mv * ..
cd ..
rm wordpress

The first command says move everything in this folder (including files and directories) to the parent folder.  I then move into the parent folder and remove the now empty wordpress folder.

2. Create the Database.

Next, we create the database and a user account for it.  The detailed instructions on the WordPress site provide several options, I connected to the database with an open source mac program, Sequel Pro,  and created a blank database and a user and full credentials on, within one minute.  You can use many other tools, or even the command line, to do the same thing.

In order to make the database and the user account, you will need access to a user account that has the authority to create and drop databases and to assign user permissions.  If you do not have such access, a system administrator will need to make the database for you, and supply the login creditials, which you need in step three.

3. Edit Configuration Settings

Once a blank database has been created, we need to put its connection settings into WordPress’s configuration file.

the first step is to make a copy of the sample configuration file, giving it the correct name.  If the name is wrong, wordpress won’t be able to load.  From the Linux shell, I type:

cp wp-config-sample.php wp-config.php

I then open the file with a text editor and supply the server address, database name, login, and password.  I’m using a command line tool called vim, but you can use any text editor:

Setting configuration settings

To edit the file, I simply type:

vim wp-config.php

from the command line.  vim seems a little intimidating at first.  Beginners should use use insert mode. Simply type the single character ‘i’ after the file loads.  That puts vim into insert mode, from which point you can use it like a regular text editor, using the cursor keys to move around, insert and delete texts, etc.  To exit insert mode, you simply hit the escape key and return to command mode.  At that point, you can type ‘ZZ’ to exit and save your changes.  If you wish to save changes without exiting, type ‘:w’  (colon, ‘w’–which stands for ‘write’). Then you can go back into insert mode if you wish.  If you want to quit without saving, enter ‘:q!’.

Here are some links to an excellent beginner and intermediate vim tutorials, if you really get hooked on vim you’ll be using command mode in no time flat.

 4. Complete the installation

Since I am installing WordPress at the root of our new server, I now point my browser to http://archives.library.illinois.edu/wp-admin/install.php.  I see this:

 

Wordpress Welcome Screen

 

If you see anything else, check to make sure that a) you configuation files is named wp-config.php, and b) that your connection credentials are correct.

I supply the requested information .  The installer creates tables in the database I made in step two, then the browser tells me the installation is complete:

WordPress is installed and running:

Barebones WordPress Install

I can now administer it from the dashboard:

Wordpress Dashboard

The question is:  How can we make this into a CMS?

I’ll be looking at the question in my next posts.


* I know this is an issue, since many IT departments will not give archives staff direct access to a webserver or database server.  But if they do, you can use this tutorial to install the program. If they don’t, this intro should give you enough information to speak plainly with them about what WordPress requires for installation (which is to say, ‘not much’.)

Tagged with: