Drupal (Web content publishing)
Drupal is the most powerful 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. I have found it easier to use the MySQL database (the "M" in LAMP), but Drupal can also integrate with PostgreSQL if you have it installed.
Drupal 7 is available as a package from a package manager or from the command-line terminal:
sudo apt-get install drupal7
- See these instructions for upgrading from Drupal6 to Drupal7.
Drupal 6 is available as a package from a package manager 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:
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). Drupal6 uses Exim, however, and therefore removes Postfix at installation and installs Exim instead. Therefore, it is better not to use Drupal6 on a mail server that uses Postfix.
WordPress is the most 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)
sudo apt-get install gallery2
phpBB is the leading open source platform for Forums. A LAMP server stack (or PostgreSQL database instead of MySQL) will be required and should be installed first. Then make sure the universe repositories are enabled and install:
sudo apt-get install phpbb3
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.)
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.