After installing three different blog systems (and trying to install a
fourth), it's now time to install five different CMS packages. The five
are:
The basic goal in this post is to see how easy it is to get these
systems installed and ready for use. What obstacles will you have to
overcome and how confused will you get before you can start using your
CMS? Those are the questions.
Environment
The environment for the systems is the same as in the first blog post
in this
series,
but I'll run through it again for good measure. The basic setup is
Apache 2, PHP 5.3 and MySQL 5.0. With PHP 5.3 this series also becomes a
test of how well the packages manage in a more up-to-date environment.
Each package gets a separate bit of space, separate database and user,
plus own VirtualHost. Finally, I'll try to make use of localisations
where possible.
CMS Made Simple
- Version tested: 1.6.6
- Requirements:
- PHP 4.3+ up to 5.2.x
- ImageMagick/GD support
- MySQL 4.1+/PostgreSQL 7+
Although the package requirements stated that CMS Made Simple does not
work under PHP 5.3 I figured I'd give it the benefit of the doubt - the
latest package was date October 2009 giving it a theoretical chance -
and try the install. I first downloaded and extracted the files:
mkdir cms && cd cms
wget https://s3.amazonaws.com/cmsms/downloads/4470/cmsmadesimple-1.6.6-full.tar.gz && tar -zxvvf cmsmadesimple-1.6.6-full.tar.gz
Note the extra steps above: the package doesn't come in it's own folder,
so unless you're careful, you'll end up with a mess in your www
directory.
After extracting things, I had a read through /doc/README.txt and
/doc/INSTALL.txt. The latter proved to be a very good primer on the
installation process, detailing how to get everything setup. I proceeded
to setup a database and a user for the package and when everything was
ready, aimed FF at the proper place.
Turns out the CMS Made Simple documentation is up to date: the system
won't run on PHP 5.3. I could not get the installation process started
as too many error outputs blocked the session handling. Moral of the
story: don't go for CMS Made Simple if you want to use PHP 5.3.
- Ease-of-installation: 0-4*/5
- Instructions given: 4/5
- Confusion level: low*
* seeing as I couldn't actually run through the installation process,
it wasn't easy - and the score is 0. However, the part that I did go
through was OK handled and presented little problems. Similarly, the
confusion level was low, up until the installation process crashed.
Joomla!
- Version tested: 1.5.15
- Requirements:
- PHP 4.3.10+
- MySQL 3.23+
- Apache 1.3+
The Joomla! site is pretty well done, getting the info you need from it
is easy. A minute after browsing to it I was downloading the source
files while looking at the requirements. The following should work fine:
mkdir joomla; cd joomla; wget https://joomlacode.org/gf/download/frsrelease/11396/45610/Joomla_1.5.15-Stable-Full_Package.zip -O joomla.zip && unzip joomla.zip
You should now have the Joomla! sources unzipped in a folder, ready to
get on with the installing. You'll need to setup a database for Joomla!
as well as a user and grant all (not really needed but it's easier than
getting into details) privileges to that user. You'll also need to set
up a virtualhost file for it. And finally, make sure that apache can
write to the files in the folder you installed Joomla! in. After that's
done, pointing your browser at the web root of the install should kick
off the remaining bits of the installation.
There's not much to say about the web-based install other than that
using it is very easy and there's lots of documentation handed to you.
Very well done.
The last step of the installation is removing the installation directory
- if this is not done, the system won't function properly. It's a
typical precaution to take, but one does wonder a bit why this can't be
automated. PHP does have the capability to remove files and folders ...
however, with a simple
you're through, and you can enjoy your working Joomla! install.
- Ease-of-installation: 4/5
- Instructions given: 4/5
- Confusion level: None
MODx
- Version tested: 1.0.2
- Requirements:
- PHP 4.3.11+
- MySQL 4.1.20+ (but not 5.0.51, it seems)
MODx looks to be a nice and well-maintained system - latest release was
dated November 4th '09. In general, the usability of the MODx site
deserves a thumbs up: getting the needed info was very easy.
Getting started with the install should amount to
wget https://modxcms.com/download/ga/modx-1.0.2.tar.gz && tar -zxvvf modx-1.0.2.tar.gz
However, the otherwise friendly people of MODx for some strange reason
decided to throw obstacles in the way of users, and you have to register
on their site to be able to download the sources of MODx. Fairly
pointless exercise and I'm sure they get tons of useless signups that
never lead to any site-activity.
After unpacking the files, setting up a virtualhost file, creating a
database and database user, and setting permissions on the install
folder of MODx, it's time to point the browser to the install folder.
This will provide a page with a big, fat, red box notifying you that
MODx is not installed and asking you if you want to, perhaps, install
now. Clicking that will take you to the somewhat nicer designed install
guide.
Like with Joomla! the install guide of MODx has been cared for. It's a
breeze to get through it, with some javascript effects to make it even
tastier. There's not quite as much documentation, but you won't really
find yourself in need of it.
At the end of the install guide, there's a nice touch: the option to
automatically remove the install folder. After setting up the few first
bits such as Apache config files and MySQL user/database, you won't need
to get into the dirty details again - MODx takes care of it (well, as
long as you did a proper job the first time round).
- Ease-of-installation: 4*/5
- Instructions given: 3/5
- Confusion level: low
* while the install was easy, the download wasn't, as noted. Seeing as
the competition doesn't block users from downloading, there's really no
excuse for it.
Drupal
- Version tested: 6.1.4
- Requirements:
- PHP 4.3.5+
- MySQL 4.1+ / PostgreSQL 7.4+
One of the most hyped CMS products, this package is supported by a huge
community. The major advantage to this is the amount of plugins and
modules available for the system. Something to toy with later - but
first, the install.
The Drupal site is slightly overpacked with information. Finding the
requirements list for Drupal 6.1.4 involved clicking through 5-6 ... a
bit much when you're just at the step of wondering if it'll even work
for you (having the requirements or at least a link to them along with a
download link would be a good idea).
After downloading and unpacking
wget https://ftp.drupal.org/files/projects/drupal-6.14.tar.gz && tar -xzvvf drupal-6.14.tar.gz
you need to spend some time with the online documentation or the
INSTALL.txt file. Specifically, you'll need to copy the Drupal example
settings file from sites/default/default.settings.php to
sites/default/settings.php. After that, give Apache write permission to
the sites/default/ folder so the install guide will be able to create
what it needs. As always, you also need to set up a database and a
database user with proper rights. Not to mention a virtualhost entry for
Apache. After that, point the browser to the root of the installed
folder.
Unfortunately, unlike what is specified on the page of
requirements for Drupal, it does NOT
work with PHP 5.3. Well, at least the installer doesn't work - but
seeing as there is no Drupal without installation, that amounts to the
same thing. The problem is the use of the ereg() function - deprecated
in PHP 5.3 along with all other ereg* functions. So, Drupal is a no-go,
unfortunately.
- Ease-of-installation: 0-3*/5
- Instructions given: 3/5
- Confusion level: medium
* the part of the installation I could go through was ok, though too
manual. Seeing as the installation crashed it's not really possible to
rate it, hence the 0-3
Typo3
- Version tested: 4.2.10
- Requirements:
While it's easy to find the download link on typo3.org, it's seemingly
impossible to find a page on requirements. So, it's very hard to say if
the installation will prove to be a waste of time or not. Only one way
to find out - trial and error.
So first thing is grabbing the files and unpacking them. Typo3 has an
unusual setup - you need to download a skeleton site as well as the
sources. You can get both in one packaged file though, so it's not too
bad.
wget https://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%204.2.10/typo3_src%2Bdummy-4.2.10.zip?use_mirror=dfn -O typo3.zip && unzip typo3.zip
You should now have the files needed to setup a Typo3 site, and while
the site doesn't offer you helpful info straightaway, the INSTALL.txt
and README.txt have lots of good stuff. Among other things, they go
through all the steps of installing Apache, PHP and MySQL ... so, all
the way from scratch. Luckily, I don't need to do that - I just need to
set up a database and a user for Typo3, set the proper permissions on
the unpacked files (specifically allowing for writing to /typo3temp,
/typo3/temp, /typo3conf/localconf.php) and then add the virtualhost
record. After that, the install should work as per the typical web
install guide.
And so after these steps, it's time to point the browser to the
installed CMS. The first thing to greet you when you do is a big JS
alert box, notifying you that you really should change the default
password. Obviously good to know, but this is not really the way
information like this should be presented to the user. The next pages
are better done and quite simple in their presentation which is good -
it's the typical setup pages asking for database connection details. You
don't want any unnecessary info here, confusing the user.
At the end of the web install guide things do get more confusing,
though. Specifically, the user is told that a given install folder is a
big security problem. You're then presented with three options for
fixing this problem ... none of which involve clicking a link and seeing
it get done. In fact, the install guide recommends that you carry on
setting up the Typo3 installation instead of tending to the security
threat. That's not proper handling of priorities - either don't tell me
about the problem now or make me fix it straight away.
Choosing to carry on with the installation I'm then greeted with a
fairly confusing install tool, the purpose of which is hard to guess. Is
it used for reinstalls? For configuring advanced stuff? For letting me
know what I chose? Apparently all of the above. Sensing the confusion
level rising I then opted to have a look at the installed site. The
frontpage greeted me with PHP warnings and a Typo3 error to the effect
that no pages on rootlevel could be found - regardless of the install of
skeleton site. Looking at the admin pages, things didn't get much
better. Tons of PHP warnings make it pretty much unusable - you either
have to switch off PHP warnings or get to work with search and replace
taking out ereg* calls. Not a good start for the Typo3 install, but at
least it didn't crash completely - there's a possibility it could work.
- Ease-of-installation: 3/5
- Instructions given: 4/5
- Confusion level: medium
Conclusion
Three out of five CMS systems aren't ready yet for the latest stable
version of PHP. I find that rather surprising actually - PHP 5.3 has
been on it's way for some time, there's been plenty of time to weed out
the problematic parts. My best guess is that the forces behind these
projects figure that web-hosts probably won't upgrade to 5.3 for a while
and thus the majority of users won't see the problems. It's fair
reasoning but still a bad excuse - most deprecated functions can be
fixed in very little time.
Overall, the web guided installations have really come far and most of
these products treat the user to a nice and only slightly confusion
ride. Some could still do with some polishing but overall it's not that
hard anymore installing your own CMS. The biggest annoyance comes from
the need to remove various files or copy them round during installation:
why is this a demand? Why don't the installers check if the needed
permissions are there? With the installers being so user-friendly it's
just strange that they're not taken the last step.