Building a Linux Collaboration Server

Building a Linux Collaboration Server
Page content

We all play with e-mail every day. We assign/are assigned tasks, invite(d) to meetings, send/receive documents, and we do the same things over and over - open e-mail, read, open calendar, see if the proposed time is available, reply back with confirmation only to find out that someone has this time slot full. Even setting up a small meeting takes a lot of time.

If your business’s primary focus is not e-mail, i.e. if you are not an Internet Service Provider providing e-mail addresses to your customers or a web hosting company setting up e-mail accounts for your clients, then collaboration software will be a better fit for your company.

At this point, before deployment, you have to consider your business size and the future expansion possibilities. There are options like Open X-Change and Zimbra, offering commercial services charged per client basis and there are free options like Scalix. In this article, we will follow Citadel, but I definitely suggest you to check Open X-Change and Zimbra for your business, especially with hosted options.


Citadel offers calendaring/scheduling (including group calendars), instant messaging, chat rooms, forums, mailing lists, and RSS feeds in addition to e-mail exchanges. With this variety of features offered, it is only a matter of a basic installation and configuration to get your office working.


As we have assumed an Ubuntu Server in our previous articles, we will continue this way. Citadel is available for Debian (Lenny) and Ubuntu 8.04, so you do not need to do anything except issue the command apt-get install citadel-suite as root from the command line.

Although this will install Citadel on your system, go for an apt-get install citadel-mta to install Citadel Mail Transfer Agent. If everything is compiled, in place and running, you will receive an “already installed” message.

Be sure to follow the installation carefully and record your answers that you give to the installer’s questions, such as ports, username, password etc.. We will use them for configuration.

Before we go on, I must tell you that Citadel works with the concept of “rooms.” Rooms can be e-mail, calendar, contacts, tasks, chat room, anything.

Installation - Check Installation

When you are finished with the installation, be sure that Citadel server is running by looking at the output of ps -aux. And then check with the netstat command to see that all relevant ports are open and being listened to.

To continue with the configuration, adding users etc., we have to log in to the Citadel server. We do this by typing the address of the Citadel server with the port that was defined during the installation, such as We log in with the administrator username and password to be able to make changes.

Configuration - E-mail

Before diving into the configuration, make sure that you visit the Network Services by clicking on the “Advanced” link on the left. Here you set your POP3, SMTP and IMAP ports. Then go on to “Advanced” link again and go through Domain names → Internet e-mail. Here you define Local host aliases, directory domains (if you will use Global Address List), Smart Hosts, Realtime Blackhole Lists, SpamAssassin hosts, and Gateway domains. For this time, Local host aliases are particularly important, because this is the key point on your configuration. Be sure to set this up correctly, otherwise you will not be able to send and receive e-mails. For more information about SMTP, POP3, IMAP configuration, relay/local mail deliveries, you can have a look at the General Client Configuration Recommendations.

After careful configuration of the users and their mailboxes, users are ready to log on to the Citadel server with their web browsers and begin using the system. However, I prefer a ‘desktop-oriented’ approach (because I’m old) and thus recommend using KMail. The configuration is easy: enter the username/password/Citadel Server IP Address and the port that we defined above, and this is it. Now our users can use Citadel within their beautiful KMail program.  

Configuration: Calendar

To use the calendar functionality, we need to know the GroupDAV port that we have defined during installation. GroupDAV is the most painless protocol in Citadel to use group calendar in Kmail. We open KMail, go to calendar and proceed with adding a calendar. In the resource configuration dialogue, we enter the GroupDAV server address, username and password, and complete the installation.

However, we need to mention that you can use WebDAV and WebCal to use with Sunbird and Evolution.

Configuration - Address Book

Citadel Contact IMAP Configuration

Setting up an Address Book is no different from setting up Calendar. In Kontact, select Contacts from the left menu and right-click on the middle pane to add an Address Book. Enter the GroupDAV address (in our example, username and password. When done, click the “Update folder list” to make Kontact aware of the changes.

Configuration - Tasks and Journal

For tasks and journal entries, it is the same thing that we have done with Calendar and Address Book. Just go with adding a task resource and journal resource and enter the Citadel server’s GroupDAV address.

Creating Chat Rooms

As we mentioned above, Citadel works with “rooms” concept. In this heading, we will describe you how to add a chat room for your employees, where they can make virtual meetings without leaving their desks.

Log on to the Citadel server and on the left pane select “Rooms,” then follow the creation of the room, which is intuitive from the menus. We will not go into the details because we want to push you a little bit to get to know the configuration. If you have followed us so far, you should not have a problem with creating a public room that all users can access. Just to remind you, Aides are the ultimate users who have access to all rooms in Citadel. A detailed list of tasks that Aides can perform can be found in the Citadel System Administration Manual.


There are many programs in the Open Source community to replace Microsoft Exchange and they are really on a good track. In addition to the ones that we stated above, such as Open X-Change and Zimbra, there are E-groupware and Scalix for the same purpose. We have used Citadel for its ease of installation, configuration, and use. Plus, it is infinitely scalable (the database can hold up to 256 Terabytes of data) and can be configured to work with other Citadel servers in different geographic locations.

Other options: Another possible resource is

This post is part of the series: Building a Linux Server

In this series we look at building and configuring a Linux server from scratch. We will look at configuration in detail and we will determine ways to keep our server as secure as possible.

  1. How to Build a Linux Server: Secure Server and Secure Network
  2. How to Build a Linux Server: Network, File, Print and Proxy Servers
  3. How to Build a Linux Server: E-mail Server
  4. How to Build a Linux Server: Collaboration
  5. How to Build a Linux Server: Anti-malware and Anti-spam Protection