This page will describe how to setup an excellent Mail and Calendaring Server solution using Kolab. This article uses Kolab 2.0.4 which is the latest stable version (as of this writing). You could also use Kolab 2.1.10 which has better support for multiple domains.
This wiki introduces Kolab and its' features. This article also talks about installing and configuring Kolab 2.0.4.
Please feel free to add to this Kolab installation and Wiki. It would be awesome if everyone contributed and added things (like Mailman, Fetchmail, etc.).
Kolab is a stable Groupware Mail and Calendaring server which is a great alternative to Microsoft Exchange. It supports POP3, SMTP, POP3S, SSMTP, IMAP, IMAPS and features shared LDAP Address Book, Shared Calendars, Out of the Office Notifications, etc.
Pros & Cons
Web Interface Administration - The kolab-webadmin interface allows basic (& some advanced)things via a web interface.
- SSMTP - which means can send emails off the server securely.
- Shared Calenders - like MS Exchange Server
- Shared Address Books
- Full Groupware functionalities
Excellent Anti-Spam (SpamAssasin) and Anti-Virus (ClamAV) feature built into the server (needs minimal configuration to get it going)
- 100% Open Source
Works with Kontact, Evolution, and Thunderbird (by using the Sync Kolab plugin).
No Web Interface for users who want to view their emails from a browser. However, we can use any email client that supports POP3, POP3S, IMAP, IMAPS, and SSMTP. The current version includes a Horde web interface that integrates with Kolab. You can also use Squirrelmail.
Kolab 2.0 doesn't fully support multiple domains (but it can be configured). Kolab 2.1 has full multiple domain support.
Installation on Kubuntu 6.10
Kolab Base Install
NOTE: You can read through 1st.README file you downloaded if you need more info.
1. Download all files from http://ftp.belnet.be/packages/kolab/server/release/kolab-server-2.0.4/ix86-debian3.1/
I suggest using Konqueror with Kget(apt-get install kget) and select list links (from within Konqueror), select all and download. Thats the quick way but you could simply go to http://www.kolab.org and go the long way but the site's documentation isn't really friendly.
2. Open Konsole and type sudo ./obmtool kolab from the directory where you downloaded the files.
3. When thats finished, type sudo /kolab/etc/kolab/kolab_bootstrap -b. Go through the instructions on the screen.
4. Run /kolab/bin/openpkg rc kolabd restart to restart kolab after installation.
5. Go to https://youripaddress/admin and login as manager with the password you chose during installation.
This is so you can manage auto-forwards, vacations and do fancy rules, custom things for a users mailbox. (Eg, autoforward to more than one mailbox).
1.Download SmartSieve from http://smartsieve.sourceforge.net/ use latest source tar build. I used version 0.5.2 .
2.Save it to /kolab/var/kolab/www/smartsieve/ (create that directory and copy it there).
3.Restart Kolab and then go to https://yourserverip/smartsieve/ and login as the user whom you would like to customize/configure.
NOTE: This step is not needed.
About KolabAdmin: KolabAdmin is a native client application to configure the Kolab groupware server. It is written in C++/Qt4, which makes it portable to all platforms (*nix, MacOSX, Windows) and allows a clean and easy installation.
If you would like to install kolabadmin tool (from http://wgess16.dyndns.org/~tobias/qt/kolabadmin/) simply do the following.
1. sudo apt-get install libqt4-dev g++ g++-4.1 libstdc++6-4.1-dev libldap2-dev libssl-dev
2. tar -xjf kolabadmin.tar.bz2
3. cd kolabadmin
6. sudo make install
I think Ubuntu 7.04 Feisty Fawn has a kolabadmin package, however, it's incompatible with this installation.
Configuring Multiple Domains
Kolab 2.1.10 has better multiple domain support but you can get a simple multiple domains configuration running on Kolab 2.0.4 stable as well.
Note: As per http://wiki.kolab.org/index.php/Multiple_Domains
1. Edit /kolab/etc/kolab/templates/main.cf.template and find line mydestination and ensure it looks as example below:
mydestination = @@@postfix-mydestination|join @@@ anotherdomain1.com @@@ anotherdomain2.com
3.Modify user details and add an alias such as email@example.com
Configuring Anti-Spam & Anti-Virus
1.Setup everything (or those that you only like) as per this link:
2. After doing the above, add a script to auto learn spam & ham in the hambox/spambox.
a. Run crontab -e as root and add 0 0 "* * * sudo -u kolab-r /usr/local/scripts/spam-learn.sh" to line in crontab file.
b. Create script in /usr/local/scripts/spam-learn.sh with below contents in file and also make it executable: chmod 700 /usr/local/scripts/spam-learn.sh
export HOME=/kolab/var/amavisd /kolab/bin/sa-learn --spam /kolab/var/imapd/spool/domain/*/shared^spam/[1-9]* /kolab/bin/sa-learn --ham /kolab/var/imapd/spool/domain/*/shared^ham/[1-9]*
3. Disable Virus notifications – edit /kolab/etc/kolab/templates/amavisd.conf search for the section below and ensure its uncommented.
# Notify virus (or banned files) RECIPIENT? # (not very useful, but some policies demand it) #$warnvirusrecip = 0; # (defaults to false (undef)) #$warnbannedrecip = 0; # (defaults to false (undef))
4. Change detected spam email (in file /kolab/etc/kolab/templates/amavisd.conf) to not come through as simply flagged but rather be discarded(which will be quarantined if setup correctly as per link above) – Ensure below options are set as per example below:
$final_spam_destiny = D_DISCARD; # (defaults to D_REJECT) $final_bad_header_destiny = D_DISCARD; # (defaults to D_PASS), D_BOUNCE suggested
5. Run /kolab/sbin/kolabconf
6. Monitor peoples mailboxes over week or so (with leave mail on host) for spam and move or copy (don't forward!) the spam to the spambox you created earlier. Your script you added to cron will study the spam in spambox and will quarantine similar emails in the future.
MailMan is great if you would to control who can email and can't email certain email lists and control it tightly. It can be intergrated quite easily.
This could be cool.
=Installation from repositories= The repository package includes dependencies for all components, including Apache, PHP, MySQL, OpenLDAP, Horde, etc. Prompts for the LDAP password, fully-qualified domain name, and other options occur during installation. OBMtool is no longer required.
- sudo apt-get install kolabd kolab-webadmin
If you need to reconfigure the installation options, then shutdown all modules and re-bootstrap:
- sudo /etc/init.d/apache2 stop sudo /etc/init.d/kolabd stop sudo /etc/init.d/kolab-cyrus stop sudo /etc/init.d/postfix stop sudo /etc/init.d/saslauthd stop sudo /etc/init.d/slapd stop sudo kolab_bootstrap -b
and then reboot or restart all the services.
How to create/delete/modify user accounts.
How to create/delete/modify distribution lists.
How to add a all email clients to use the LDAP Address book.
NOTE: By default Kolab will add all users(if they normal account) to the address book.
1. Go to Kolab Webadmin interface and login as the user. Click on vacation/forward/out of office etc.
If you need something that can forward to more than one account and have custom rules for a persons mailbox then you need to install Smartsieve.
1.If you need to setup multiple forward or something more fancy then go to the Smartsieve website at https://yourserverip/smartsieve/
2.Login as the user and make the changes. If you create a new rule and want to forward to multiple ensure to check the box that says “Check message against next rule also”.
Please join the community! Join the mailing list or IRC, read the posts, ask questions and try to help out. If you have any problems or anything just mail the mailing list!
Join #kolab channel on irc.freenode.net
You might need professional support and backing. In such, below is a few contacts and details.(Feel free to add more!)
Kolab Konsortium (Germany)