Montag, 31. März 2014

XMPP Integration with eJabberd


yesterday I started to implement a chat into Kolab.
I decided to use an XMPP Server connected to the Kolab-Ldap and decided to use eJabberD.

Installation was quite simple and the connection to Kolab-Ldap as well.
Download and install with the following command:
apt-get install ejabberd
and follow the instructions.

Here are my specific parameter for the auth against Kolab-LDAP (the other remain as they are):
%%{auth_method, internal}.
{auth_method, ldap}.
{ldap_servers, ["localhost"]}.
{ldap_port, 389}.
{ldap_rootdn, "cn=Directory Manager"}.
{ldap_password, "DontEvenThinkAboutIt"}.
{ldap_filter, "(objectClass=mailrecipient)"}.
{ldap_uids, [{"mail", "%u@%d"}]}.
{acl, admin, {user, "admin", ""}}.
{hosts, [""]}.
{ldap_base, "ou=People,dc=zion-control,dc=org"}.

It's not necessary to register user in eJabberd, just create one in your kolab-webadmin.

If you want to check your eJabberD, go to :
and login with your full mail address and password which you use for Kolab.

Next part would be to have an IM in roundcube...


Donnerstag, 13. März 2014

Kolab and vHosts

Today I played a little with the apache config to improve my performance using apache.

I noticed that my vHost setup was not working so I fixed this at first.  After a while I was wondering that I didn't receive any mail since then... Ok, something is now "kaputt" :-)

Now I had a look at the config of kolab in the apache sites-enabled directory. Kolab adds some entries in this directory, but thos "may" work for vHosts but not for my setup.

Simply moving the kolab-syncroton from sites-available to conf.d solved the problem for me.

Not the best, may be, but it's working.


Dienstag, 11. März 2014

First impression - and thanks for the feedback


first of all I wish to say thanks for your feedback on my posts :-)

So now the groupware is up and running and the next steps are planned already (XMPP = Chat/Messaging, OwnCloud).

The roundcube web frontend is a bit slow for daily work, and it reconnects to the imap server very often.

Sending mails from my own domain (dynamic IP) uses a smart host (mailjet, costs less and 200 mails/day are free :-)) and receiving mails also takes sometime because of Spam/Virus detection.

So the next parts are also performance improving.

Some topics to check are
memory usage (count of server process fro IMAP, Apache ...)
Proxy for roundcube connection to IMAP
deactivating Virus/Spam detection and use some header/body checks instead (not for production use of course)

If you have more cheats and hints to increase the performance, that would be nice.


Montag, 10. März 2014

200 ok, it's working :-)

Hi there,

Yesterday I finished the compilation story and was able to setup kolab.

I had to install apache-2.2 and then compile 389-admin... but then...... 

Everything is available to install. :-)

Ok, I had some problems but here is a short summary:

Kolab needs some IMAP extensions which are available in cyrus-imap 2.5 (patches from kolab which are included un the next upstream) but currently the directories are not setup correctly.

Ok, just create some symlinks:
ln -s /var/lib/cyrus/ /var/lib/imap
ln -s /var/spool/cyrus/ /var/spool/imap
ln -s /usr/lib/cyrus /usr/lib/imap
And the SSL certificates are missing:
openssl req -new -x509 -nodes -out /etc/ssl/certs/cyrus-imaps.pem -keyout /etc/ssl/private/cyrus-imapd.key -days 3650
and change the filenames in the /etc/imapd.conf accordingly.

Now add postfix and cyrus to the ssl-cert group and also to the mail group.

Now it's time to start the command:

Yeah, it's working. :-) (write down all the passwords, you'll need them)

I saw that my MySQL installation needs a password for the root user on localhost (got an error message during the setup) but nevertheless it's working.

You want to login after that?
Go to http://address/kolab-webadmin and login with "cn=directory manager" and the known password.

Now you can create a user and so on and it will receive mails just right after creation.

The cool stuff is, on my smartphone (Samsung Galaxy Note with Omni Rom = Android 4.4.2) I create a new account with "Microsoft Exchange", enter my eMail address and password, accepting all SSL certificates and that's it.

Now I can synch my mobile with my own groupware, including tasks, contacts, appointments.

In the past I loved to have a Catchall for my domain, so I created a new file in /etc/postfix/ldap called
server_host = localhost
server_port = 389
version = 3
search_base = dc=domain,dc=org
scope = sub
domain = ldap:/etc/postfix/ldap/
bind_dn = uid=kolab-service,ou=Special Users,dc=domain,dc=org
bind_pw = ComeOn_I_wont_tell_you
query_filter = (&(alias=catchall@%d)(objectclass=kolabinetorgperson))
result_attribute = mail
In the kolab-webadmin page you can now add a new alias called

And now enjoy your groupware on your RaspberryPi.

For all of you who just want to download and install the DEBs:

Add my repo to your sources.
deb /
and just install.

By the way, the docs on are really helpful.


Samstag, 8. März 2014

The compilation story continues


not only pykolab was missing. The order which package to compile, install and compile again is important but we will manage this.

Now I had to compile libkolab, kolab-utils and may be some more.

I have my DEB directory in the sources.list so I know which package is currently missing (aptitude says "unavailable"). So I change into that directory, running "apt-get build-dep packagename" and it should now install all missing packages. The new one are now in my DEB directory and a "apt-get update" will take the new ones into account.

Don't forget a
dpkg-scanpackages .  | gzip -c9 > Packages.gz
before running apt-get update so the Packages.gz file is new and includes the newly created DEBs..

The story continues :-)


Compilation finished... But we are not ready


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.


Freitag, 7. März 2014

Preparation page created

Ok guys,

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

Feel free to add any comments.

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


Started to compile Kolab on Raspberry Pi


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 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)