About us...
Site Map

ruby in steel



If you have never used CMS software before, trying to find the appropriate package for the job at hand is not a trivial task. There is no such thing as the perfect CMS. It all depends on what you need to do. What is right for me may be next to useless for you and vice versa.

Before even starting to look for a CMS, you need to be clear in your own mind about the features you really need. Is ease of use the fundamental criterion? Or is it more important that the software should be capable of managing a really big and complex site with numerous contributors? For help on determining the essential features to look for, see our article CMS :: What’s It For? Do You Need It?

Here, I’ll outline the process that I personally went through in trying to find a CMS product for a very specific task. There is certainly no guarantee that the one I chose will satisfy your requirements. However, if this is the first time you have grappled with CMS software, you will doubtless have to go through many of the same steps I did in order to find, setup and configure a suitable package. So save yourself some time and frustration by learning from my experiences…

First, Define The Problem…

If you are looking for a CMS, you probably want to create a ‘dynamic’ web site of some sort - one which grows and changes as new data (‘content’) is added. That, after all, is what a CMS (Content Management System) is for. One or more authors add the content and the CMS ‘manages’ it!

In my own case, I wanted to have web site with multiple discrete sections and a front page on which the newest posts from these sections are automatically displayed. So, for example, if one new item were added to the News page and two new items were added to the Reviews page, the front page would show all three items. In other words, the front page would act as a ‘digest’ of the latest posts from all the other sections of the web site.

The other thing I wanted was to have two Blog pages. In one page, I would post my personal entries. In another page, another author would post his. The other author is not particularly technical so another important criterion when choosing the software was that it should be easy to use. A user should be able to log in and post a new message without getting lost in the user interface and without any likelihood that he might make a catastrophic error and corrupt the entire database.

The project in hand was not a commercial venture so spending my hard earned cash was not an option. Consequently, I wouldn’t even bother looking at commercial products (some of which are stunningly expensive). Instead, my choice would be restricted to the free CMS packages (or, as the developers often prefer to call them, CMS ‘scripts’) available. Oh, and one final thing. As I’d never used a CMS before I would ideally like one that is easy to install and maintain.

In summary then, these were my main criteria:

  • The ability to host multiple linked sections and blogs
  • The ability to aggregate posts from several sections on the front page
  • Inexpensive or free
  • Easy to use for a non-technical user
  • Easy to install and maintain

Finding The Software

There is a surprisingly large number of open source CMS packages. They are implemented in various programming languages including (but not restricted to) Java, Perl, Python and PHP and they are normally hosted on either Windows or Linux. By far the largest number are written in PHP and are hosted on Linux.

Note: For information on hosting a development system on a Windows based PC and uploading it to a Linux based web server, see our guide to WAMP - Windows, Apache, MySQL and PHP.

Rather early in my search for a CMS, I chanced upon the invaluable OpenSourceCMS site which is devoted to PHP CMS systems. Amongst other things this has a useful ‘score table’ which lists many of these systems by category - Portal, Blog, e-Commerce and so on. The rankings in this table are dictated by users’ votes and are by no means perfect - not only do they vary from week to week but, in addition, some are ranked on the basis of very few votes and other on the basis of hundreds of votes. Still, as long as you treat the ratings with caution, these tables provide an excellent jumping off point when searching for a CMS.

Better still, the same site provides ‘live demos’ of most packages. You can log into the administration panel; and start adding data or configuring the software. The demos are ‘reset’ at regular intervals to undo the changes that testers have made.

After some time, I eventually narrowed down my choice to four packages - pLog (note, this has recently been renamed to: LifeType), b2evolution, TextPattern and Pivot - all of which claim to be good at handling multiple blogs. After giving the demo installations a test-run, I felt that I should be able to find my way around and configure them without too much heartache. I also decided to try out WordPress which, while it doesn’t claim to do multi-blogging, is very widely used and praised and might (for all I know as a total novice) be able to do what I require anyway.

First of all, I had to install them…

These are the Blogs I installed and the sites from which you can download them


When you log into pLog, all available weblogs are shown and you must select one in order to access the administration or authoring features

LifeType (pLog)

pLog was the first CMS I installed (note, this system has now been renamed to LifeType) and it no doubt suffered from my inexperience. I was attracted to the fact that it had an installation wizard “that will walk you through every step of the installation process”. In my innocence, I expected this to work like most Windows setup wizards - i.e. a dialog pops up, you click a few buttons and, a couple of minutes later, everything is setup and ready to run. Not so…

The wizard started out by asking me for my database server, user and table names without giving me any clues as to what they might be or where I might find them. I spent some time hacking around in my web host’s control panel and trying out a large combination of possible values in the hope that I might chance upon the right combination. But each time I tried to create the database, I just ended up with a page of inscrutable error messages.

Finally, instead of letting the wizard create a database for me. I decided to do it for myself. In my web host’s control panel, I used the MYSQL page to create a new user and a new database and add the user to that database (this is explained in more detail in our guides to MySQL and WordPress). Then I started the pLog Wizard again. This time I told it to use the database server named localhost, entered my newly created database, user name and password and made sure that the automatic database creation option was not checked. Simple and user-friendly this wasn’t. To make matters worse, as with so much open source software, pLog’s documentation is less than ideal. While the installation instructions in their Wiki may look comprehensive at first sight, in practice, they miss out many of the essential steps which may baffle a novice user.

The b2Evolution control panel is divided into tabbed areas. You can select a specific blog when you wish to write a new post


This was my second Blog installation and this time I was prepared. Without further ado, I went into MySQL in my web host’s Control Panel and created a new user and database called b2evolution. Then I told the b2Evolution installer to use this database (the actual name, just to confuse matters, takes the form of the main website user name - for example, if you are registered with the name myname, and your database is called b2evolution, you must tell the installer to use the database called myname_b2evolution). At least it had already entered the name localhost to save me the trouble. While the installation was reasonable trouble free, this was undoubtedly aided by the fact that I’d already been through a similar process once before, using pLog. The b2Evolution installation documentation is pretty poor and tends to assume a) that you know what you are doing and b) that you won’t encounter any major problems.

The Pivot control panel lets you click an icon to select the post editor or click another to work in the Administration area


This was the third Blog I installed and it turned out to be far easier than I was expecting. This is largely due to the fact that Pivot saves its data in files rather than in a database so I didn’t have to go through the messy business of setting up MySQL. The only complicated part of the setup process was having to chmod a whole load of files. This is something that is required by most CMS software and, while it may be second nature to hardened Unix users, it can seem a bit like witchcraft to a mere Windows user. At least this process is well documented in Pivot’s clear step-by-step installation guide. Another advantage of Pivot is that it is a doddle to install on your local PC. As long as you have Apache and PHP installed (see our Apache and PHP setup guides), you can just download your entire Pivot installation from the remote server and copy all the files into a subdirectory beneath the Apache \htdocs directory. At first I was a bit suspicious about the lack of a MySQL connection. In practice, I discovered that there are considerable advantages when you take into account the ease of installation and simultaneous development on a local PC and a remote server.

WordPress has a fairly straightforward user interface which uses menus and tabbed pages - here the post editor is seen


WordPress is not exactly reticent about the ease of its installation process. It claims to have a “5 minute installation” which, in practice, can take even less than five minutes. As always, you should take such claims with a very large pinch of Sodium chloride. The fact of the matter is that, if you re an old hand at CMS installation, you may well whiz through this in a few minutes. But if this is the first time you’ve done it, you probably won’t. Even so, while the installation may not be quite as quick and easy as they’d have us believe, it is relatively straightforward as these things go. Moreover, WordPress is one of the better documented Blog systems whose Wiki is more complete than most and has a decent section on installing. For a detailed account of installing WordPress on a remote server or on a local PC, see our separate feature.

TextPattern is another system that’s big on tabbed pages. The interface is a bit more complicated than some of the other systems I tried out


Credit where it’s due - this has excellent installation instructions. These instructions come in several versions - from very terse for the benefit of experienced CMS users to exhaustive step-by-step guidance for novices (though even this is a bit vague on the mysteries of creating a MySQL database for those who have never done this before).  In my case, the installation was not entirely without its problems, however. When, according to the installation instructions, I should have been viewing a setup screen, what I actually saw was this somewhat mysterious error message:

config.php is not ok or not found. If you would like to install, go to [/subdir]/textpattern/setup/

I changed to the /textpattern/setup subdirectory and tried again but the message didn’t go away. Unsure what to do next, I tried changing to the setup directory a few more times and, eventually, the setup screen appeared. Don’t ask me what the problem was. I don’t know. It may have been the fault of TextPattern, of my server or some obscure combination of the both. Or it might simply have been my own ineptitude. At any rate, once the installation proper started, everything went pretty smoothly - though you do have to know how to create a new file (for configuration) on your server. And, while chmoding isn’t required when installing, you may subsequently need to chmod various directories in order to be able to upload images and files.

CHMOD For Unix Virgins

CHMOD is the name of the Unix/Linux command to change file permissions and is short for ‘Change Mode’. You need to do this in order to allow some files to be rewritten when data is changed while other files are made read-only so that malicious users or programs cannot attempt to modify them. The easiest way to change file permissions on your web host may be with the help of an FTP program or by using the File Manager in your web host’s control panel. The permissions associated with each file or directory are expressed as a three digit number. This number varies between 0 (no permissions) to 777 (all permissions). The value can be decomposed into three types of permission (to read a file, to write it or to execute it) and three groups of user (the owner, the User/Group and Everyone). The user here means you - the ‘administrator’; the user/group could, in principle, be other people to whom you assign special privileges and Everyone is the rest of the world. You don’t need to know all the possible values which can be set using CHMOD. Just be sure to set the values suggested by the installation documentation of your chosen CMS.

Even after an successful installation you may need to set file permissions to allow certain operations such as uploading files to the server. Here, the help in TextPattern gives me some basic advice on what needs to be done.

If you are using an FTP application, you may be able to change file permissions by entering numbers or ticking off check-boxes. Here the number ‘777’ gives the highest level of access to a file or directory and you should only set this value when the documentation specifically tells you to.

Ideally, having installed these five systems, I would now have spent a few weeks experimenting in depth with each of them before coming to a decision on which to use for the project at hand. Real life is rarely ideal, however. The fact of the matter is that circumstances dictated that I had to get this web site up and running in just a couple of weeks. As a result, I was forced to make a decision pretty damn’ quickly.

So I played with each of the packages for just a couple of hours. In that time I decided that the pLog interface might be confusing for a novice user (such as my non-technical partner in this project). Curiously, it doesn’t have a central ‘dashboard’ which appears at the outset but instead requires that you log into one of the weblogs before gaining access to other features.

TextPattern too has a slightly confusing interface (lots of tabs and screens) and lacks a WYSIWYG editor. The choice of editor is, I should point out, quite deliberate; there are disadvantages as well as advantages to WYSIWYG - but nonetheless for a novice user, I think WYSIWYG is simpler.

I wasn’t sure how easy it would be to get the various separate sections to work together in WordPress so I discounted that at the outset. I am still not sure if this was a correct decision on my part and I shall take a closer look at WordPress in coming months. All I can say for sure is that, in the short time available to me, I was not convinced that WordPress had what I needed.

I was very drawn towards b2evolution and very nearly decided to use it. In the end, however, I plumped for Pivot - mainly because of its ease of setup and use. It has a straightforward user interface which makes it simple for a novice user to post to specific categories using a WYSIWYG editor. The categories can be used to create discreet blogs (if the category is Fred, for instance, that post may go into Fred’s blog; if it’s Bert it may go into Bert’s Blog) and also to group multiple categories onto the front page (you just set up that page to display posts from both the Fred and Bert categories). Moreover, by using flat files to store data instead of the MySQL database, it makes it very simple indeed to share your local and remote Blog development. To bring your local Blog up to date with the Blog on your web server, you just download the files from the server to your hard disk.


This is the first screen of the Fantastico version of the b2evolution installation. It's simpler than installing it from scratch but does have some drawbacks...

If you want a simpler way to install a CMS or Blog, take a look in your web host's control panel. If this is a CPanel control panel, you should see an icon called Fantastico down at the bottom. Click this to enter a screen from which a number of tools and scripts can be installed. The actual range of options may vary from host to host but typically you will find several popular Blogs and CMSes such as WordPress, b2evolution and Drupal. When you install these using Fantastico, you will be guided through the setup process and this will normally be much simpler (avoiding many of the complexities of MySQL configuration and setting file permissions). The downside, however, is that often the versions of software available in Fantastico are somewhat out of date. When critical updates are released you may need to install those in the more long-winded way, by downloading from the developers, uploading to your host and setting file permissions as instructed. But doing so may ‘break’ your Fantastico installation. In other words, once you’ve installed an update yourself, Fantastico may refuse to install other updates in future.

Now, I’m not saying that Pivot is the ‘best’ of the systems tested. Far from it,. The others each have features which, for some users, make them superior. However, Pivot did most of what I wanted, it did it simply and it let me get my site up and running within the limited time I had available.

I’ll be taking a closer look at the pros and cons of these and other CMS systems over the coming months… (more)

Huw Collingbourne


November 2005


Home | Archives | Contacts

Copyright © 2006 Dark Neon Ltd. :: not to be reproduced without permission