Blogs

Andreas Cordes's picture

First impression - and thanks for the feedback

Hi,

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.

greets

Andreas Cordes's picture

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:

setup-kolab

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.

Andreas Cordes's picture

The compilation story continues

Ok,

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

greets

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.