We have looked at a number of Open Source Groupware offerings in recent months and have found Kolab to
- actually work when installed according to the instructions given on their web site (unlike several others!)
- be straightforward to install for a singe domain use-case (it is less intuitive for multiple domains)
- have good presentation for the end user
We chose to install it on an EC2 instance with the latest CentOS 7 AMI.
This was straightforward except for running out of memory when installing. Neither a t2.nano nor t2.micro has enough memory for installation to work as is. How come, you may ask (and so did I), given that it is known to be able to work on a Raspberry Pi?
The answer is the absence of swap on EC2 by default. If you want to keep costs down, and are not expecting to have lots of users, swap can be added before attempting to install Kolab.
As the smaller t2 types do not have instance storage, you will have to use an EBS volume. Choose an EBS type that does not have additional I/O charges!
If you are not aware how to add swap, something along these lines is suitable:
sudo /bin/dd if=/dev/zero of=/var/swapfile bs=1M count=1024
sudo chmod 0400 /var/swapfile sudo /sbin/mkswap /var/swapfile sudo /sbin/swapon /var/swapfile
Replace /var/swapfile with any location that you choose, and change the count to give the swap size you want (~1GB in this example).
1GB swap on a t2.micro worked for me. Circa 1.5GB may be needed for t2.nano (I haven't tried this to confirm).
If you don't give it enough space, and setup-kolab crashes with a "can't allocate memory" error, don't despair. Add more memory or swap and then try again.
It will probably have corrupted the LDAP installation, and the easiest way to get round this seems to be to uninstall it, erase the files, and then put it back:
sudo yum remove 389-ds-base
sudo rm -rf /etc/dirsrv/ sudo rm -rf /var/lib/dirsrv/ sudo yum install 389-ds-base
sudo yum install kolab
Note the need to re-install Kolab as the dependencies are affected when 389-ds-base is removed.
Whilst it is easy to add another domain using the Kolab web admin, it appears that the out-of-the-box configuration does not cause any folders to be created for new users in domains other than the primary domain. This isn't very intuitive.
I hope to add more information on what is needed for multi-domain use cases here before too long.