Ubuntu Precise Groupware and Web Publishing
- Many web publishing / groupware systems rely heavily on PHP scripting. See this section for information on securing PHP.
Groupware servers are most often operated on a server platform. You can install the server version of Ubuntu (in the interest of speed) for a dedicated groupware server. Read servers.
Kolab is the most comprehensive open-source groupware solution available and is distributed as a multi-platform solution. (It integrates easily with both Ubuntu (including Evolution) and KDE/Kubuntu (including Kontact).) It is free and open source with a GPL license (unlike other groupware solutions), yet enterprise support is also available. It is scalable to large organizations and is Outlook (MS-Exchange) and Mozilla compatible. This is a German package, however, and documentation in English can occasionally be limited. The Kolab website provides its own instructions for installation from source (currently v. 2.2). Version 2.2 includes the Horde web interface. The current beta Debian package instructions are here or the OpenPkg installation instructions are here.
- Note: Kolab uses its own server components, and it is best to run Kolab on a dedicated server. However, it is possible to run other servers on the same machine, as long as you choose alternate ports if the server modules conflict.
- Install the compiler and other necessary stuff:
sudo apt-get install build-essential
Kolab Ubuntu package
- There is an Ubuntu/Kubuntu package for the new version of Kolab (v. 2.2), but no documentation support for it yet exists. Install:
sudo apt-get install kolabd
Manual Kolab installation
- Make a directory for the Kolab installation and make it universally accessible:
sudo cd / sudo mkdir /kolab sudo chmod 777 /kolab
- Optional: If you wish to mount kolab in its own partition, then create a new partition (using Gparted, for example). Figure out the device name of your extra partition:
sudo fdisk -l
- It should be something like /dev/sda3.
- Mount /dev/sda3 (or whatever your partition is) as /kolab by editing /etc/fstab:
sudo nano /etc/fstab
- and adding the line:
/dev/sda3 /kolab ext3 defaults,rw 0 0
- then reboot and make sure there are no errors.
- Make a directory into which to download kolab:
cd /tmp mkdir /kolabtmp
- Download all the current Kolab files:
cd /tmp/kolabtmp wget -r -l1 -nd --no-parent http://files.kolab.org/server/release/kolab-server-2.2.2/sources/
- Install Kolab (as root using sudo -s):
sudo -s sh install-kolab.sh 2>&1 | tee kolab-install.log
- Reboot your system.
- Stop Kolab services and run the configuration utility:
sudo /kolab/bin/openpkg rc all stop sudo /kolab/sbin/kolab_bootstrap -b
- Obviously, you should know all your details, such as your fully qualified host name (which you can determine from hostname -f), domain details, etc., before doing this step. If you are not familiar with OpenLDAPand LDAP basics, you should learn about it, as Kolab uses the slapd OpenLDAP server daemon.
- Restart all Kolab services:
sudo /kolab/bin/openpkg rc all start
- Login to the web administrator interface using "manager" and the password you set at bootstrap configuration:
Citadel is a turn-key fully open source groupware solution (that is both KDE and Kolab-1 compliant). Based on a bulletin-board framework spanning over 20 years, it is user friendly and interfaces with both KDE and Gnome apps and also has a web-based client. It is also WebDAV compliant and can be used with Thunderbird.
- Install the Citadel server:
sudo apt-get install citadel-server
- Install the Citadel client:
sudo apt-get install citadel-client
- Install both:
sudo apt-get install citadel-suite
eGroupware is a robust and stable free open source groupware solution (with GPL license) based on the LAMP stack (the default server stack included with Ubuntu Server) and the Postfix mail server (both of which should be installed first). There is a new version recently available, with a new corporate sponsor in Germany and a commercial enterprise version. Compatibility with many clients has been improved. Egroupware provides the easiest installation and quickest setup time of all groupware solutions. Much of the documentation for the current version, unfortunately, is not in English.
sudo apt-get install egroupware
Open-Xchange is a proprietary groupware solution (meant as an MS-Exchange replacement) that has released a "community edition" based on commercial versions. The latest .deb package is for Hardy Heron 8.04. It is compliant with many different types of clients, including Kontact, Outlook, and Palm PDAs. Installation instructions are at the website and are not trivial.
OpenGroupware is a groupware solution based on the postgreSQL database. There is an enterprise version and a limited open source version, and development appears to have been stagnant in 2008. Installation must be from source, as packages are very outdated. See the website for details.
Zarafa is the leading European MS-Exchange replacement/groupware solution. It is proprietary, but a GPL-licensed (except for trademarks) free open-source community edition was released in 2008. Download instructions are available from the website.
Zimbra is a proprietary groupware solution (now owned by VMWare) that offers an open source "community edition". Although currently free, the community edition is limited in features and does not have a GPL license. All submitted modifications and contributions become the property of VMWare. See the Zimbra wiki.
A Beta version for Lucid Lynx 10.04 LTS is available for 64-bit users, or the older Hardy 8.04 version can be used.
SchoolTool is a free open source groupware solution for use in primary and secondary schools which includes calendaring, gradebooks, attendance records, and student information databases. It was created with the help of the Shuttleworth Foundation (which also sponsors Ubuntu). See these installation instructions.
SugarCRM Community Edition
SugarCRM is a customer-relationship management system that is used to co-ordinate a sales force (sales, marketing, support, project management, calendaring). SugarCRM has a community edition that is one of the most widely used. A LAMP server stack should be installed first ( sudo tasksel install lamp-server ). Extract SugarCRM to /var/www and then logon to http://localhost/SUGAR-FOLDER. Alternatively, for a new server SugarCRM provides a (binary) integrated installation of the LAMP stack with the SugarCRM Community Edition.
Many groupware solutions have connectors to interface with clients such as Kontact/KMail and Mozilla Thunderbird (or SeaMonkey).
The Evolution Exchange connector adds connectivity (using Outlook Web Access) to the Evolution suite for MS Exchange 2000 and 2003. Install:
sudo apt-get install evolution-exchange
Kontact Personal Information Manager
KDE Groupware Wizard
Kubuntu provides a wizard (script) to help clients (such as Kontact/Kmail) connect to a groupware server. Currently supported groupware servers are Kolab, eGroupware, SUSE Linux Openexchange, and Novell Groupwise.
Oracle Calendar Desktop Client
The Oracle Calendar Desktop Client is proprietary calendaring software for use with Oracle groupware/database systems.
Download Oracle Calendar Desktop Client:
tar -xvf cal_linux_1011.tar.gz
Change into the extracted files directory:
Prepare the files:
mv cal_linux cal_linux.bak; cat cal_linux.bak | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > cal_linux; rm cal_linux.bak
chmod +x gui_install.sh cal_linux
Start the GUI installer:
sudo sh gui_install.sh
DAViCal Calendar Server
DAViCal is a CalDAV, postgreSQL, Apache and php-based shared Calendar server that works with Mozilla Thunderbird/Lightning/Sunbird, Evolution, Kontact, aCal (for Google Android), and other calendar clients. Install:
sudo apt-get install davical
Then see these detailed installation instructions.
Radicale Calendar Server
Radicale is a simple-to-use CalDAV contact and calendar server. Install:
sudo apt-get install radicale
- To use Radicale with Evolution, see this info. It can also be used with the Mozilla Thunderbird Lightning calendar plugin and with the Google Android aCal CalDAV calendar app.
Darwin Calendar Server
Darwin Calendar Server is an open-source port of Apple's CalDAV-based calendar server that works with Mozilla Thunderbird/Lightning/Sunbird, Evolution, and other calendar clients. Install version 1.2 from the repositories (then see the website for usage instructions):
sudo apt-get install calendarserver
WebCalendar is an ICS-based server for group calendars that can use many different databases as the backend, is written in PHP, and is compatible with clients such as Sunbird/Thunderbird (Lightning), Apple iCal, and Evolution. The newest version can also be viewed using RSS clients. See the website and the wiki for installing the newest (1.2) version. Install the older (1.05) version from the repositories:
sudo apt-get install webcalendar
Postfix / Dovecot (Mail Server)
Postfix is a free open source mail server. It interfaces directly to Dovecot, the free open source IMAP and POP3 server. For more information see the official Ubuntu documentation. The dovecot-postfix metapackage installs the components and customizes the configuration files to use the Maildir (mail spooling) folder system by default. Imap and Pop3 modules, SMTP, and SASL/TLS (with self-signed certificates) are installed by default.
sudo apt-get install dovecot-postfix
For tips on setting up a personal mail server, see here.
SquirrelMail is an open source (GPL-licensed) webmail package (written in PHP) for use with an IMAP (or other type of) mail server. It is efficient and effective. See the Ubuntu Community documentation.
sudo apt-get install squirrelmail
Roundcube is an open source (GPL-licensed) webmail package (written in AJAX) for use with an IMAP (or other type of) mail server. It requires a LAMP (or similar) server stack. See the Ubuntu Community documentation.
sudo apt-get install roundcube
iRedMail is an integrated package that includes Dovecot, Postfix, a choice of OpenLDAP (with phpLDAPAdmin) or MySQL for the database, Roundcubemail or Squirrelmail for web-based mail access, phpAdmin, PostfixAdmin, and AWStats. It is optimized for Precise 12.04 LTS and is best installed on a fresh server (since it resets many email configuration files). There is a community edition with many of the features of the commercial edition.
Wiki software allows an organization to have a manual that can be edited by a number of collaborators. Wikipedia is the best known example.
MediaWiki is the free, open source server software that Wikipedia uses. It is scalable to very large uses. It runs on the LAMP server stack (which uses the MySQL database and is available as an installation option with the (K)ubuntu server), or it can be used with a PostgreSQL database. See these detailed instructions. (Other instructions are also available here.) Install from the repositories:
sudo apt-get install mediawiki
- Edit the config file so it recognizes MediaWiki:
sudo nano /etc/mediawiki/apache.conf
Uncomment (remove the #) the line:
Alias /mediawiki /var/lib/mediawiki
- Restart apache2:
sudo /etc/init.d/apache2 restart
- Run/install MediaWiki by logging into:
- You will be prompted for configuration variables to be set. The trickiest is the MySQL user/password. Hopefully you remember your MySQL superuser that you set at the time of LAMP (or MySQL) installation.
- Copy your local settings configuration file to /etc/mediawiki (and make a backup of the original):
sudo cp /var/lib/mediawiki/config/LocalSettings.php /etc/mediawiki sudo mv /var/lib/mediawiki/config/LocalSettings.php /var/lib/mediawiki/config/LocalSettings_at_install.php
Edit your configuration variables there:
sudo kate /etc/mediawiki/LocalSettings.php
- If you are using a virtual host server, make a symbolic link (named in this example mywiki) from your /usr/share/mediawiki installation folder to your /var/www folder:
sudo ln -s /usr/share/mediawiki /var/www/mywiki
then make sure you have an apache2 virtual hosts configuration file (in /etc/apache2/sites-available) that points to /var/www/mywiki as the DocumentRoot. Make a symbolic link from your virtual host configuration file in /etc/apache2/sites-available to /etc/apache2/sites-enabled to enable it. Restart apache2 after enabling the sites. (Warning: MediaWiki is not secure at installation and can be easily hacked by new users. Do not publish your wiki to the Internet before reading all the instructions and changing the configuration file (LocalSettings.php) so that it is more secure.) You would then access the database at:
Moin Moin is free, open source (GPL-licensed) wiki software written using Python, with a large community of users, including the Apache, Debian, and Ubuntu wikis. See these Ubuntu installation instructions. Install:
sudo apt-get install python-moinmoin
Twiki is an open source wiki engine used by many small to medium size companies internally. It has an active development team with multiple plugins. See the website for installation instructions. Install:
sudo apt-get install twiki
TiddlyWiki is an open source personal wiki. It is ideal for creating a list of things to do, note taking, or as a collaboration tool for a small team. It is a single HTML file that can reside on your computer or can even be uploaded to a web server and be used as a simple website. It is developed using a Firefox browser as an interface. Installation instructions are on the website.
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.