Blogs

Andreas Cordes's picture

Storing files in Kolab does not work

Hello,

yesterday I needed the functionality of storing files in +Kolab.

I found out that this does not work on my installation.

This is a known bug in cyrus.

https://lists.kolabsys.com/pipermail/packaging-commits/2012-November/007932.html
https://bugzilla.cyrusimap.org/show_bug.cgi?id=3754

Raspbian does not have an updated package :-( so I started the compile issue again but now for a raspbian package.

To do the changes I downloaded the package cyrus-imapd and tried to compile like I did for all the +Kolab packages. But that didn't fix the error because I had to modify imap/message.c.

Ok, googling showed me that I have to use the right method with quilt.

So here are the instructions

apt-get -y source cyrus-imapd
apt-get -y build-dep cyrus-imapd
cd cyrus-imapd-2.4-2.4.16
quilt push -a
quilt new failed_asserting_during_append
quilt add imap/message.c

Edit the file imap/message.c. In line 389 add the line:

message_guid_generate(&(*body)->guid, msg.base, msg.len);

And continue with the following commands

quilt refresh
debuild -us -uc -b

and now go for coffee break :-)

After less than 2 hours you can install the new package.


cd ..
dpkg -i cyrus-imapd-2.4_2.4.16-4+deb7u1_all.deb 
Andreas Cordes's picture

NGINX

Hello,

I create a new page with my nginx config to cover all changes and mods which I've done on my Raspberry Pi.

The instructions are based on http://kolab.org/blog/grote/2013/07/08/using-kolab-3-nginx and https://docs.kolab.org/howtos/nginx-webserver.html.

So feel free to leave any comments and to get your Kolab running on your Pi with a bit more performance.

More tuning tips are welcome. :-)

greetz

Andreas Cordes's picture

XMPP now integrated in Kolab and working :-)

Now I got it.

I'm using converse.js.

Following the instructions on http://permalink.gmane.org/gmane.comp.kde.kolab.devel/12092  I got it.

Well, not only following the instructions but also to setup some more things:

First of all the config from the plugin. The main parts are

$config['converse_xmpp_bosh_prebind_url']= function($args) {
        return 'http://127.0.0.1:5280/http-bind';
};
$config['converse_xmpp_bosh_url']= function($args) {
        return '/http-bind';
};
$config['converse_xmpp_hostname']= function($args) {
        list($user,$host) = explode('@', $args['user']);
        return $host;
};
$config['converse_xmpp_username']= function($args) {
        list($user,$host) = explode('@', $args['user']);
        return $user;
};

Please check the variable name. It is in the config.inc.php from the plugin by default $rcmail_config, but the roundcubemail from kolab sources/binaries uses $config, so please change it :-)

To have the BOSH-Url available in roundcubemail, you have to redirect domain/http-bind to server:5280/htt-bind. My nginx config looks like this:
location /http-bind {
            proxy_pass  http://localhost:5280/http-bind;
            proxy_set_header Host $host;
            proxy_buffering off;
            tcp_nodelay on;
        }
Andreas Cordes's picture

XMPP now working

Hi,

my eJabberd server is now up and running and I can receive messages and send messages.

My next step is to setup the chat functionality in roundcubemail so you can send messages through a Jabber client or roundcubemail. :-)

I had to find the correct settings for my domain and the client to get it to work. So it's necessary to have proper DNS records for your domain and the services jabber is running on.

You must have a A/CNAME record for your domain (no wildcard, -> "nslookup domain.com" should work) and 3 SRV records for your domain where you setup your jabber server where all the clients and servers have to connect to.

Also you should use SASL for authentication purpose.

I prefer to have my domain as the jabber ID and not a subdomain.

greetz

roundcube's picture

Roundcube Webmail 1.0.0 released

We’re very proud to announce the stable version 1.0 of Roundcube Webmail. After more
than 8 years since the project was published, we feel confident to name it one-dot-oh.
From the last stable version we added to following new features:

  • Cleaned up the configuration into a single file
  • Importing email messages and contact group assignments
  • Advanced LDAP address book functionality
  • A toggle to switch between HTML and plaintext view
  • Save drafts in local storage for recovery
  • Canned responses to save and recall boilerplate texts
  • Improved keyboard navigation in messages list
  • Optimized UI to work on tablet devices
  • Attachment reminder plugin

And mainly we were busy cleaning up the codebase, fixing a lot of bugs, making it
more stable and writing more documentation.

With this release, we’d also like to introduce the Roundcube plugins repository at
plugins.roundcube.net. This central platform should help you
find the right plugins for your Roundcube installation and makes it simple to keep them up-to-date.
The installation and update mechanism is based on Composer
and Packagist.

We’d also like to encourage plugin developers to publish their plugins on this platform.
Please read the instructions how to prepare your
plugin for publishing.

After lots of testing and collecting your feedback, this version is considered stable
and we recommend to update all productive installations of Roundcube.

Download the fresh webmail and framework packages from roundcube.net/download

Read the full list of changes here: trac.roundcube.net/wiki/Changelog

Andreas Cordes's picture

XMPP Integration with eJabberd

Hi,

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", "zion-control.org"}}.
{hosts, ["zion-control.org"]}.
{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 :

http://youraddress:5280/admin

and login with your full mail address and password which you use for Kolab.

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

greets

Timotheus Pokorra's picture

Installing Demo Version of Kolab 3.1 with Docker

This describes how to install a docker image of Kolab.

Please note: this is not meant to be for production use. The main purpose is to provide an easy way for demonstration of features and for product validation.

This installation has not been tested a lot, and could still use some fine tuning. This is just a demonstration of what could be done with Docker for Kolab.

Preparing for Docker
I am using a Jiffybox provided by DomainFactory for downloading a Docker container for Kolab 3.1 running on CentOS 6.

I have installed Ubuntu 12.04 LTS on a Jiffybox.
I am therefore following Docker Installation instructions for Ubuntu for the installation instructions:

Install a kernel that is required by Docker:

sudo apt-get update
sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

After that, in the admin website of JiffyBox, select the custom kernel Bootmanager 64 Bit (pvgrub64); see also the german JiffyBox FAQ. Then restart your JiffyBox.

After the restart, uname -a should show something like:

Linux j89610.servers.jiffybox.net 3.8.0-37-generic #53~precise1-Ubuntu SMP Wed Feb 19 21:37:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Now install docker:

Timotheus Pokorra's picture

Building a Docker container for Kolab on Jiffybox

Preparation
I am using a Jiffybox provided by DomainFactory for building a Docker container for Kolab 3.1 running on CentOS 6.

I have installed Ubuntu 12.04 LTS on a Jiffybox.
I am therefore following Docker Installation instructions for Ubuntu for the installation instructions:

Install a kernel that is required by Docker:

sudo apt-get update
sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring

After that, in the admin website of JiffyBox, select the custom kernel Bootmanager 64 Bit (pvgrub64); see also the german JiffyBox FAQ. Then restart your JiffyBox.

After the restart, uname -a should show something like:

Linux j89610.servers.jiffybox.net 3.8.0-37-generic #53~precise1-Ubuntu SMP Wed Feb 19 21:37:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Now install docker:

Staffe's picture

Mit dem eigenen (VPS/Root-)Server weg von Google: Centos 6.5 + Kolab 3.2 + Owncloud 6 + Plex

Es kann viele Gründe geben, Konzerne wie Microsoft, Apple oder Google zu meiden. Wer sich dazu entschließt, aber trotzdem auf Bequemlichkeiten der “Cloud” nicht verzichten will und seine Daten aber möglichst selbst unter Kontrolle haben möchte, ist mit einem gemieteten VPS oder root-Server gut beraten. Um zu einem passablen Ergebnis zu kommen, muss aber viel installiert und konfiguriert werden. Wer sich davon nicht zurückschrecken lässt, sollte zumindest ein paar Stunden Zeit einplanen. Dieses Tutorial soll helfen, die größten Probleme zu umschiffen und dem frisch gebackenen (oder auch teilweise erfahrenen Server-Admin) stundenlange Sucherei im Internet zu ersparen.
kolab
Zur eingesetzten Software: Als Betriebssystem habe ich mich für das aktuelle CentOS 6.5 entschieden. Mit der Kolab Groupware, ein auf Roundcube aufgesetztes Webinterface, installieren wir eine moderne Web-UI inklusive Mailserver (IMAP,POP3,SMTP,Spam- und Virenfilter), Adressbuch, Kalender, Aufgaben und Active Sync (Push-Mail). Als Daten-Cloud kommt ownCloud zum Einsatz und als “Schmankerl” installieren wir noch den Plex Media Server.  Die komplette Software ist kostenlos und zum größten Teil Open Source.

grote's picture

How Kolab is using Open Standards for Interoperability

Today is Document Freedom Day which started out for documents in the OOXML days, but now is much more generally about Open Standards. This is a great opportunity to show you how Kolab uses Open Standards all the way down to the storage layer.

Since Kolab is a lot about email, it uses SMTP (RFC 821) and IMAP (RFC 1730) to send and store emails which is by itself not overly exciting since at least in the free world, most email software does that. But Kolab goes further and uses IMAP as a NoSQL storage engine and therefore gets all the scalability, ACLs and sharing from IMAP for free. It uses the IMAP METADATA Extension (RFC 5464) to storage other content and even configuration in IMAP folders. Since Kolab is a Groupware Solution, it stores contacts, events and tasks in there. Of course, it does so using Open Standards as well. Contacts are stored in the xCard (RFC 6351) format and tasks as well as events are stored in the xCal (RFC 6321) format. All those objects are then encapsulated in a MIME message according to RFC 2822.

The advantage of that is that your personal data is not scattered all over the place, but in one central IMAP database which you can easily back up (e.g. with offlineimap) or move to another server (e.g. with imapsync). The new version of Kolab supports file storage and the default is to store them in IMAP as well.