Jump to: navigation, search


Web Publishing

Drupal (Web content publishing)

Drupal is the leading open-source website creation and content collaboration tools. A modular approach to website building, from simple out-of-the-box websites to complex sites is possible with a short learning curve. Get more info on how to get started. Drupal requires an installation of a LAMP server stack; if you have not already installed LAMP, it will be installed along with Drupal 6. I have found it easier to use the MySQL database (the "M" in LAMP), but Drupal6 can also integrate with PostgreSQL if you have it installed. Drupal is available as a package, or from the command-line terminal:

sudo apt-get install drupal6
  • After everything is installed (and the problems below sorted out), restart the apache2 server:
sudo /etc/init.d/apache2 restart
  • Finish installation through your browser:

You can then also see these installation tips for installing through the browser, then see these Drupal site building tips. A Drupal/Ubuntu users group is found at Drubuntu.

Installation quirks


When I installed my Ubuntu server, it installed libgd2-noxpm. This is a graphics library (without X pixmap (XPM) or font configuration (fontconfig) support). However, Drupal requires libgd2-xpm, which is used instead of libgd2-xpm. Removing libgd2-xpm doesn't appear to be trivial, however. I could not remove it using apt, Adept, or KPackageKit.

However, Synaptic Package Manager does appear to remove libgd2-noxpm successfully, and then libgd2-xpm can be installed.

Exim vs. Postfix

Exim and Postfix are mail handlers. I had installed Postfix at the time I installed my Ubuntu server (but was not using it). But Drupal uses Exim and therefore removes Postfix at installation and installs Exim instead. Therefore, it is better not to use Drupal on a mail server that uses Postfix.


WordPress is a popular free open source web content manager that started as a blog tool and now incorporates many publishing elements. For bloggers and small to medium-sized websites, WordPress provides the fastest installation and customization process with many modules. WordPress requires an installation of a LAMP server stack first. Then install:

sudo apt-get install wordpress
  • Make a symbolic link from your Apache2 www folder to your installation folder and install a new MySQL database named localhost to use with WordPress:
sudo ln -s /usr/share/wordpress /var/www/wordpress
sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress localhost

Note: If you already know the name of your (virtual) host URL for WordPress, then use it as the name of your database instead of localhost. For example, my URL is mysite_x.homeserve.org so my command is:

sudo bash /usr/share/doc/wordpress/examples/setup-mysql -n wordpress mysite_x.homeserve.org
  • If you will access your WordPress server through a virtual host, then create your virtual host configuration file in the /etc/apache2/sites-available folder. Once you have edited the file, make a symbolic link from it to the /etc/apache2/sites-enabled folder. Restart apache2:
sudo /etc/init.d/apache2 restart
  • Install WordPress through a browser:
or, if you are using a virtual host:

Note: The Jaunty repositories contain version 2.7.1, which is subject to a security worm. If you install this version, please update immediately to the current version from the Tools -> Upgrade menu. (Alternatively, install the current source version from the website.)

For the automatic updater to work, all the WordPress files, folders, and subfolders must be owned by www-data (which is also the owner of the apache2 process) prior to updating.

sudo chown -R www-data /usr/share/wordpress

Joomla (Web content publishing)

Joomla is a powerful open source website creation and content management tool that allows website creation for use in every arena from the simple to complex corporate environments. Info for beginners is a good place to start.

Scribus (Desktop publishing)

Scribus is an open-source package that provides professional-appearing desktop publishing.

sudo apt-get install scribus

Plone (Content Management System)

Plone is a free, open source (GPL-licensed) multi-platform content management system used by many large organizations around the world. It is available with an integrated installer here. Some users have had some difficulties in Jaunty, due to changes in Python.

Gallery (Photo album website)

Gallery is a PHP-based method of presenting a photo album on a website. A [http://drupal.org/project/gallery Drupal interface is also available for Gallery2. Install:

sudo apt-get install gallery2

Distance teaching


Moodle is a free open source platform for hosting online learning courses. It can be integrated with webinar software. A LAMP server installation is required (sudo tasksel install lamp-server). Also find free Moodle themes here. Install:

sudo apt-get install moodle
  • Database server software for Moodle: mysql-server -> follow remainder of instructions. Assuming the database is hosted on the same computer as the one Moodle is being installed upon, accept localhost for the options when prompted.
  • Edit Moodle configuration options (if needed). (Use the gedit text editor instead of kate if using Ubuntu instead of Kubuntu.):
sudo kate /etc/moodle/config.php
  • Edit Moodle apache2 configuration file (if needed). (Use the gedit text editor instead of kate if using Ubuntu instead of Kubuntu.):
sudo kate /etc/moodle/apache.conf
  • Finish installation through the browser. (I recommend the "unattended" installation.)

For more information, see these detailed tips.


Claroline is a free open source platform for hosting e-learning courses and online student collaboration. A LAMP server installation is required. Installation is from source files available at the website, with instructions found here.


Dokeos has a free learning platform, but also a medically-oriented proprietary platform that includes modules for case presentations and imaging. It is widely used in Europe.

Personal tools