Blogs

Andreas Cordes's picture

Compilation finished... But we are not ready

Yeah,

compilation finished after, well, quite a lot of time (~13h)...

I checked all the files and one package was missing (pykolab) because of some missing dependencies.

Checking again showed me that the following packages are missing:

intltool libglib2.0-dev python-icalendar python-nose

Ok. So we install these packages and continue with pykolab... (python-icalendar we compiled last night).

And again, compilation will take its time.

greets

Minimal Kolab: Unbundling the LDAP and IMAP Components

In my last post about Kolab I hinted about unbundling the LDAP server and using a remote server for LDAP service. Since then, I’ve been looking at making the IMAP server an “unbundled” component – IMAP service still being required, of course – and even at supporting Dovecot in setup-kolab as well. After all, choice is an important motivation for adopting Free Software, and we should at least try and make that choice convenient to exercise where possible. Supporting a choice of IMAP servers gives everyone a bit more flexibility and should make Kolab a bit easier to adopt. The Dovecot work is still very much in progress, however.

As you may recall, I wanted to deploy an XMPP server – ejabberd – on one host and the rest of the Kolab stack on another host, and yet retain the possibility of configuring these different components using setup-kolab. To support this specific situation, and to eventually move beyond it to support other architectural configurations, I have chosen to introduce a new metapackage called kolab-minimal: the glue components of Kolab plus the Web components minus the “infrastructure” components, those being the components providing the LDAP, IMAP and mail transport services. Here’s where this takes us:

A dependency diagram for Kolab featuring a kolab-minimal package and the different setup-kolab invocations

A dependency diagram for Kolab featuring a kolab-minimal package and the different setup-kolab invocations

Andreas Cordes's picture

Preparation page created

Ok guys,

I created the first How-To for Kolab on Pi.

http://whvneo.blogspot.de/p/preparation.html

Feel free to add any comments.

My RasPi is still compiling for 9 hours (and continues).

greets

Andreas Cordes's picture

Started to compile Kolab on Raspberry Pi

Hello,

now it's time to start my blog and share my experience with my Raspberry Pi.

Currently it is up and running as a mailserver for my own domain zion-control.org but in the near future I'm going to install kolab on it. :-)

I googled a lot about kolab and it looks promising to my needs, but ....

Yes, Raspberry Pi is not x86 or x64, it is an arm based little server with less power consuming and there are no Kolab binaries available.

So I decided to build Kolab from scratch. Daniele Gobbetti did this for Kolab 3.0.
You may find some information here:

But now we have 3.1 available and 3.2 is in the line.
To know how it works, I'll do this on my own and share all the knowledge. :-)
Writing this post, my Raspberry Pi is compiling ........ and I think it will take a lot of time to generate all the debs.
Later on I'll write some more lines (have to iron some clothes)
greets
Hugo Roy's picture

Kolab’s CardDav address lookup in mutt

This should work with any carddav server, but if you use Kolab’s
carddav server here’s some extra tip!

The problem you want to fix is: it’s impossible to remember
everyone’s email address. This problem is solved by most email
programs because they are linked to a contact list already.
However, for those of us using mutt, there’s no full contact
integration so you need to rely on something else.

One obvious solution is to rely on a mail indexer to search and
find addresses in emails from the past. If you use mu, here’s how
Karsten does it
.

However, that’s not really helping if you have contact information
from multiple sources (e.g. typing on your mobile the email
address of somebody you just met AFK). This is where a contact
server is handy.


If you use Google’s contacts, you can use goobook it works well
but it’s quite slow IMHO. And obviously, the problem is that you
have given up your whole contact list to Google.

Find your Kolab addressbook

With Kolab 3.1 comes a CardDav/CalDav/webDav server! Version
3.1 was just released today. So let’s use that instead.

  • When I set up Kolab 3.1 before the official release, I got a
    packaging bug in CentOS, but it’s easy to fix.

  • The *Dav server is located at https://kolab.example.org/iRony.
    Now, you need to find how to link to a specific addressbook. I
    tried to have a look at the Roundcube interface, for a folder
    id or something, but I could not find any that was working.

  • Just connect a webDav client (in Nautilus, File > Connect to a
    server) to the iRony folder, and then just navigate to find
    the addressbook identifier (look in the address bar!)

Fighting spam with amavis

Recently I set up a spam-filter for my Kolab 3.0 server system. There are plenty of how-tos out there, so I only highlight some bits of my setup. Since I’m running Kolab on Ubuntu Server 12.04 (always use LTS for servers!), I started off installing the package for the clamav and spamassassin wrapper amavis and configured it according Combating Spam with a preseeded a (non-sql) bayes databayes and did some testing.

Instead of /etc/amavis/amavisd.conf, I used /etc/amavis/conf.d/40-kolab to setup my config (conf.d seems to be the default for ubuntu), which you can check out on pastebin.

Besides the bayes database I use network checks  pyzor razor2 and dcc, that detect bulk spam and others by using checksum databases. Because of it’s license dcc is not included in most linux distribution and has to be compiled from source. For instructions, read here. Pyzor and razor can be installed and setup easily. To actually use them you have to enable the plugins in the /etc/spamassassin/*.pre files and to set the use_plugin parameter to 1 in local.cf. Check out my spamassassin configuration on pastebin.

If you use a firewall you have to allow some things for the network requests to work, namely the UDP ports 6277 and 24441 for dcc and pyzor respectively and TCP port 2307 for razor2 for INPUT.

Fighting spam with amavis

Recently I set up a spam-filter for my Kolab 3.0 server system. There are plenty of how-tos out there, so I only highlight some bits of my setup. Since I’m running Kolab on Ubuntu Server 12.04 (always use LTS for servers!), I started off installing the package for the clamav and spamassassin wrapper amavis and configured it according Combating Spam with a preseeded a (non-sql) bayes databayes and did some testing.

Instead of /etc/amavis/amavisd.conf, I used /etc/amavis/conf.d/40-kolab to setup my config (conf.d seems to be the default for ubuntu), which you can check out on pastebin.

Besides the bayes database I use network checks  pyzor razor2 and dcc, that detect bulk spam and others by using checksum databases. Because of it’s license dcc is not included in most linux distribution and has to be compiled from source. For instructions, read here. Pyzor and razor can be installed and setup easily. To actually use them you have to enable the plugins in the /etc/spamassassin/*.pre files and to set the use_plugin parameter to 1 in local.cf. Check out my spamassassin configuration on pastebin.

If you use a firewall you have to allow some things for the network requests to work, namely the UDP ports 6277 and 24441 for dcc and pyzor respectively and TCP port 2307 for razor2 for INPUT.

CalDAV/iCAL Support for Kolab

The Kolab groupware is a great open source alternative to well known closed source groupware solutions. For example, the Kolab groupware has most of the features of Google Mail including mail, calendar, contacts and supports sharing of those entries between users. Since Kolab 3.1 there is also CalDAV and CardDAV support included via a SabreDAV based protocol layer called iRony. This turns Kolab into a CalDAV/iCAL server that enables synchronization of Kolab stored calendars and contacts with any CalDAV/CardDAV supporting device, e.g. Android or iOS based smartphones and tablets.
Read more ...

Kolab, Debian, LDAP and XMPP

I had another chance to look at Kolab and the dependency graph recently. Having been inspired by the prospect of chat integration within Roundcube, I set out to install a suitable XMPP server, and it seemed that ejabberd was the most likely choice on Debian systems such as my own. Here is what the configuration would ideally look like:

Kolab, Roundcube and ejabberd running in a User Mode Linux environment

Kolab, Roundcube and ejabberd running in a User Mode Linux environment

But I then discovered that ejabberd did not seem to work with the User Mode Linux environment in which I test my packages. This then gave me an excuse to contemplate the relationship between the different components. LDAP is central to the way Kolab manages credentials and is employed by ejabberd to authenticate users, but the LDAP service does not need to be located on the same server. Indeed, it is likely that in a larger organisation the services would reside on a number of different computers.

Installing Kolab 3.2 on CentOS

Kolab the open-source groupware collaboration project released version 3.2 on Valentines day. I have been on version 3.0 for some time now and wanted to get away from using ownCloud and some other projects and just use Kolab as it was doing my mail, contacts and calendaring anyway.

The installation process is not all that difficult, here is what I did to install the software.

Lets get some utilities.

# yum install wget
# yum install nano

First we need to prepare the target system. The document http://docs.kolab.org/installation-guide/preparing-the-system.html tells us we need to relax the SELinux policy.

# setenforce 0

Lets also make it persist across reboots.

nano /etc/selinux/config

Change `enforcing` to `permissive`.

At this point (since this is a completely internal install) I wanted to disable the iptables firewall. (We can re-enable later after it’s all working).

# /etc/init.d/iptables stop
# chkconfig iptables off

Kolab has some very strict DNS requirements for how this machine refers to itself, and how people locate this machine.

# hostname -f

This needs to be exactly how you connect to this server via the web interface. If this is not how your external DNS will handle this servers FQDN you need to fix your hosts file.

# nano /etc/hosts

Follow the steps @ http://docs.kolab.org/installation-guide/centos.html

First we need to install EPEL. (At the time of this post, this is the most current RPM you need for EPEL.)

# rpm -Uhv http://mirror.chpc.utah.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm

Next download some files with wget that add the Repos.

# cd /etc/yum.repos.d/
# wget http://obs.kolabsys.com:82/Kolab:/3.2/CentOS_6/Kolab:3.2.repo
# wget http://obs.kolabsys.com:82/Kolab:/3.2:/Updates/CentOS_6/Kolab:3.2:Updates.repo

Next we can install all the packages Kolab needs.

# yum install kolab

After all these are installed we (at this time, its a bug that needs fixing) need to fix the template script for amavisd.conf