tag:blogger.com,1999:blog-21003487787437292292024-03-13T13:35:44.481-07:00Kolab on ARMHF architectureHow to install Kolab on a RaspberryPi or a Cubietruckwhvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-2100348778743729229.post-29013128384195856342016-04-23T17:12:00.000-07:002016-12-10T11:22:19.162-08:00Raspbian repository startedHi,<br />
<br />
after a long period of testing my script and trying to get the Winterfell and Development version up and running it was time to get back to 3.4.<br />
<br />
My repo contains my compiled packages and for the impatient ones:<br />
<br />
<ol>
<li>Add the key to your keyring:<br />wget -O - https://www.zion-control.org/raspbian/kolab_repo%40zion-control.org |apt-key add -</li>
<li>Add the following line to your sources.list:<br />deb http://www.zion-control.org/raspbian/ jessie main</li>
<li>Run update<br />apt-get update</li>
<li>Install kolab<br />apt-get install kolab</li>
</ol>
<div>
The cyrus package contains a fix for the bug on armhf so it is working. See the following Git-Commit for further informations : <a href="https://github.com/cyrusimap/cyrus-imapd/commit/f507861e48b6c50e6394d9a0880aefe34b820dc0">https://github.com/cyrusimap/cyrus-imapd/commit/f507861e48b6c50e6394d9a0880aefe34b820dc0</a><br />
<br />
For the Roundcube/iRony/chwala I did a small correction concerning error management and the Sabre libraries.<br />
First of all the error handling:<br />
<blockquote class="tr_bq">
find /usr/share/roundcubemail/ -name '*php' -exec sed -i 's/PEAR::isError/(new PEAR)->isError/g' {} \;</blockquote>
Repeat this for /usr/share/iRony and /usr/share/chwala.<br />
<br />
There is also a manual ToDo right now after installing the packages for the Sabre-Object. So download the Sabre libraries manually from <a href="http://sabre.io/">http://sabre.io</a> and reference them in the PHP file /usr/share/iRony/public_html/index.php. Add the following line at the beginning:<br />
<blockquote class="tr_bq">
require_once("/usr/share/php/SabreDAV/vendor/autoload.php");</blockquote>
Chwala did not install the MySQL database correctly so create them with the SQL script mysql.initial.sql found in the doc directory from the source package.</div>
<div>
<br /></div>
<div>
The new setup is running well on my Pi2 with nginx and SSL with a certificate from letsencrypt :-) following this instructions: <a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04">https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04</a><br />
<br /></div>
<div>
I'm a bit new to create correct debian packages with changelog, new version numbers and so on. But I will do my best so that you can get "right out of the box" packages for using Kolab on RaspberryPi incl. Nginx<br />
<br /></div>
<div>
Greetz.</div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-1771086752882312192016-02-07T08:01:00.003-08:002016-02-07T08:01:36.018-08:00Plan for a clean and fresh install on Debian JessieI'm currently planning to migrate (again) to a <a class="g-profile" href="https://plus.google.com/107182636490355951240" target="_blank">+Raspberry Pi</a> 2 because my <a class="g-profile" href="https://plus.google.com/105691856847416297017" target="_blank">+Cubietruck Cubieboard3</a> is a bit nasty concerning port forwarding. It doesn't show up in my Fritz!Box so I cannot redirect the ports in a convenient way.<br />
<br />
Again I updated my script for getting <a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab</a> and it should handle all the dependencies in the right way so that you will be able to install it via "apt-get" or "aptitude".<br />
<br />
So feel free to get it from my site and test it.<br />
<br />
And I will switch from Apache to NginX as a Webserver and IMAP-Proxy as well.<br />
<br />
So come back again for updates<br />
<br />
Greetzwhvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-51573685702173534772016-02-02T13:06:00.000-08:002016-02-02T13:06:15.869-08:00Update to Kolab 16After a long time using <a class="g-profile" href="https://plus.google.com/107154017183931800239" target="_blank">+Kolab.org Community</a> and some amazing news around this groupware I decided to go on with Kolab 16.<br />
<div>
<br /></div>
<div>
Currently there are not so many packages for my Debian Jessie release available.</div>
<div>
So I decided to compile them again out of the development directory from <a href="http://obs.kolabsys.com:82/Kolab:/Development/Debian_7.0/">http://obs.kolabsys.com:82/Kolab:/Development/Debian_7.0/</a></div>
<div>
<br /></div>
<div>
A few days ago I thought it went well but my Active-Sync was some sort of working. Contacts and Calendar is syncing quite well but no mails. </div>
<div>
<br /></div>
<div>
I digged into the logfiles in the directory /usr/share/kolab-syncroton/logs and found two errors:</div>
<blockquote class="tr_bq">
Call to protected method rcube_imap_generic::strToTime() from context 'kolab_sync_data_email' in /usr/share/kolab-syncroton/lib/kolab_sync_data_email.php on line 140</blockquote>
and<br />
<blockquote class="tr_bq">
Maximum execution time of 30 seconds exceeded in /usr/share/roundcubemail/program/lib/Roundcube/rcube_imap_generic.php on line 3481</blockquote>
<br />
The first one is a known bug and I found it belongs to the new version of <a class="g-profile" href="https://plus.google.com/117198963145106512069" target="_blank">+Roundcube</a> 1.2. Following <a href="https://git.kolab.org/rSe4d229229fa3de87f0d9c98156632adf8a87fb2d">https://git.kolab.org/rSe4d229229fa3de87f0d9c98156632adf8a87fb2d</a> I also changed the line 140 and after that it was working like a charme again.<br />
<br />
The second one can be avoided in modifying the entry max_execution_time in /etc/php5/apache2/php.ini.<br />
<br />
So up to now I have the following packages running concerning Kolab:<br />
<br />
<blockquote class="tr_bq">
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">root@cubietruck:~# dpkg -l | grep -E "(kolab|roundcube|imap)"<br />ii chwala 0.4~dev20160122-0~kolab1 <br />ii cyrus-imapd 2.4.16-4+deb7u2 <br />ii cyrus-imapd-2.4 2.4.16-4+deb7u2 <br />ii imapcopy 1.04-1 <br />ii imapfilter 1:2.5.2-2 <br />ii irony 0.4.0-0~kolab1 <br />ii kolab 16.0.0-3 <br />ii kolab-cli 0.7.14-0~kolab1 <br />ii kolab-conf 0.7.14-0~kolab1 <br />ii kolab-freebusy 1.1.0-0~kolab1 <br />ii kolab-imap 16.0.0-3 <br />ii kolab-ldap 16.0.0-3 <br />ii kolab-mta 16.0.0-3 <br />ii kolab-saslauthd 0.7.14-0~kolab1 <br />ii kolab-schema 3.3-0~kolab1 <br />ii kolab-server 0.7.14-0~kolab1 <br />ii kolab-syncroton 2.3.2-0~kolab1 <br />ii kolab-telemetry 0.7.14-0~kolab1 <br />ii kolab-ucs 16.0.0-3 <br />ii kolab-utils 3.1~dev20140624-0~kolab1 <br />ii kolab-webadmin 3.2.11~dev20151020-0~kolab1 <br />ii kolab-webclient 16.0.0-3 <br />ii kolab-xml 0.7.14-0~kolab1 <br />ii kolabadmin 0.0.20080222-4 <br />ii libcyrus-imap-perl24 2.4.16-4+deb7u2 <br />ii libjs-less 1.7.5-0~kolab2 <br />ii libkolab-dev 2.0~dev20151230-0~kolab1 <br />ii libkolab0 2.0~dev20151230-0~kolab1 <br />ii libkolabxml-dev 1.1.git.1422810799 <br />ii libkolabxml1 1.1.git.1422810799 <br />ii libxapian22 1.2.16-0~kolab1 <br />ii node-less 1.7.5-0~kolab2 <br />ii nodejs 0.12.8-0~kolab1 <br />ii php-kolab 2.0~dev20151230-0~kolab1 <br />ii php-kolabformat 1.1.git.1422810799 <br />ii php-net-ldap3 1.0.4-0~kolab1 <br />ii pykolab 0.7.14-0~kolab1 <br />ii python-kolab 2.0~dev20151230-0~kolab1 <br />ii python-kolabformat 1.1.git.1422810799 <br />ii roundcubemail 1:1.2~dev20160119-0~kolab1 <br />ii roundcubemail-plugin-contextmenu 2.1.1-0~kolab1 <br />ii roundcubemail-plugin-converse 0.1~dev20140214-0~kolab1 <br />ii roundcubemail-plugin-dblog 2.0 <br />ii roundcubemail-plugins-kolab 1:3.2.8-0~kolab1 <br />ii roundcubemail-skin-chameleon 0.3.7-0~kolab1 <br />ii swig 2.0.11-0~kolab1 <br />ii swig2.0 2.0.11-0~kolab1 <br />ii wallace 0.7.14-0~kolab1 </span></blockquote>
<div>
To compile all the packages I created a little script in the past. It is working if you have a running kolab installation with all dependencies.<br />
<br />
<ol>
<li>Create a working directory and change into it:<br /><span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">mkdir /mnt/kolab<br />cd /mnt/kolab</span></li>
<li>Put the script <span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">get_kolab.sh</span> in this directory and make it executable.</li>
<li>Create some directories <br /><span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">mkdir kolab_Development_src<br />mkdir kolab_Development_deb<br />mkdir compile_log</span></li>
<li>Change into the src directory and start the script get_kolab.sh with a parameter because it is the first time you start it<br /><span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">cd kolab_Development_src<br />../get_kolab.sh first</span></li>
<li>It is necessary to run the script three times because it stops after some packages and I didn't solve this up to now because the workaround (restart) is so easy :-)<br />It will continue after the last package</li>
<li>To install all the packages please add the following line top you /etc/apt/sources.list</li>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">deb file:/mnt/kolab/kolab_Development_deb ./</span></ol>
So enjoy the update like I do.<br />
<br />
Greetz</div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-75255239271863063572015-03-13T14:20:00.002-07:002015-03-15T02:24:56.749-07:00How-To - Kolab with SeafileHello,<br />
<br />
Seafile is an open source cloud software which is free for private use.<br />
<br />
There is also a professional edition which is not necessary for my needs. I just want to sync files across more than one device. In the past I used ownCloud which was pretty good for my needs.<br />
<br />
First I decided to have ownCloud integrated in Kolab as a backend but I had a bit lack of time so developing a new driver for chwala was not so easy.<br />
<br />
After a while I noticed that Seafile is integrated in chwala 0.3.0 and with Kolab 3.4 it is quite stable to install.<br />
<br />
Last week I managed all the stuff and here is my Step-By-Step Guide:<br />
<br />
<br />
<ol>
<li>Install Kolab 3.4 and test it<br />It's obvious that you need Kolab for this. Please refer to the kolab.org web page for an installation guide for your distro</li>
<li>Install seafile and test it.<br />The homepage of seafile will guide you through all the stuff you need for that. So just download, extract and run it.</li>
<li>Connect Seafile to Kolab-LDAP<br />Following <a href="http://manual.seafile.com/deploy/using_ldap.html" target="_blank">Seafile->Using LDAP</a> is exactly what I did. My installation was spreaded over /opt/seafile, /opt/seafile/seafile-server-latest and /mnt/seafile<br />But you'll find your ccnet.conf and add the LDAP part to it (please change the values according to your installation):<pre style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: #f7f7f7; border-radius: 3px; border: 0px; box-sizing: border-box; color: #333333; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; white-space: pre-wrap; word-wrap: normal;"><code style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-radius: 3px; border: 0px; box-sizing: border-box; display: inline; line-height: inherit; margin: 0px; max-width: initial; overflow: initial; padding: 0px; white-space: pre; word-wrap: normal;"><span style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: x-small;">[LDAP]
HOST = ldap://127.0.0.1
BASE = ou=People,dc=example,dc=com
USER_DN = cn=directory manager
PASSWORD = youdon'tknowjack
LOGIN_ATTR = mail</span></code></pre>
</li>
<li>Now test seafile again if you can now login with your kolab main mailaddress.<br /><b>Please keep in mind that each user has to login for the first time to seafile in order to get the right folders.</b></li>
<li>If everything is ok, now you have to use Apache as a proxy for Seafile<br />Following <a href="http://manual.seafile.com/deploy/deploy_with_apache.html">Seafile -> Deploy with Apache</a> was ok for me for the first time.<br />Well, this will break your Kolab if you follow the steps directly.</li>
<li>If this is ok as well, now fine tune a bit the Apache configuration for Seafile.<br />These lines should be changed in your apache.conf (or vhost):
<pre style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: #f7f7f7; border-radius: 3px; border: 0px; box-sizing: border-box; color: #333333; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; white-space: pre-wrap; word-wrap: normal;"><code style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-radius: 3px; border: 0px; box-sizing: border-box; display: inline; line-height: inherit; margin: 0px; max-width: initial; overflow: initial; padding: 0px; white-space: pre; word-wrap: normal;"><span style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: x-small;">#
# seahub
#
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]</span></code></pre>
This will redirect all request to Seafile, but if you only have one SSL certificate and one domain you have to ignore this for all the Kolab modules.<br />So please add the following RewriteCond to the config:<br /><br /><pre style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: #f7f7f7; border-radius: 3px; border: 0px; box-sizing: border-box; color: #333333; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; white-space: pre-wrap; word-wrap: normal;"><code style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-radius: 3px; border: 0px; box-sizing: border-box; display: inline; line-height: inherit; margin: 0px; max-width: initial; overflow: initial; padding: 0px; white-space: pre; word-wrap: normal;"><span style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: x-small;">RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/roundcubemail.*
RewriteCond %{REQUEST_URI} !^/Microsoft.*
RewriteCond %{REQUEST_URI} !^/iRony.*
RewriteCond %{REQUEST_URI} !^/chwala.*
RewriteCond %{REQUEST_URI} !^/kolab.*
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]</span></code></pre>
The first RwriteCond tells Apache to rewrite the URL if the file does not exist. For the Kolab installation there are some URL more not to check against an existing file because they are an Alias in the Apache way. So we ignore this rewrite when the URL starts with "roundcube", "Microsoft" (for active sync) and so on.<br />Reading the conf above should be:<br /><br />Rewrite all URL starting with /media<br />ReWrite the URL when the requested file does not exist (<b>! -f</b>)<br />AND (is implicitly) the request does not start with roundcube (<b>!/^/roundcubemail.*</b>)<br />AND the request does not start with Microsoft<br />AND the request does not start with iRony<br />AND the erquest does not start with chwala<br />AND the request does not start with kolab<br />TO /seahub.fcgi PLUS the request string including the trailing slash (<b>^(.*)$ /seahub.fcgi$1</b>)</li>
<li>Now test your Kolab and Seafile again, everything should now work on the same server.</li>
<li>It's time to combine Chwala with Seafile. The most interesting part. :-)<br />Please edit your /etc/roundcubemail/config.inc.php file and all the Seafile stuff:<br /><br />
<pre style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-color: #f7f7f7; border-radius: 3px; border: 0px; box-sizing: border-box; color: #333333; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; white-space: pre-wrap; word-wrap: normal;"><code style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border-radius: 3px; border: 0px; box-sizing: border-box; display: inline; line-height: inherit; margin: 0px; max-width: initial; overflow: initial; padding: 0px; white-space: pre; word-wrap: normal;"><span style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: x-small;">// seafile
$config['fileapi_backend'] = 'seafile';
$config['fileapi_seafile_host'] = 'www.example.com';
$config['fileapi_seafile_ssl_verify_peer'] = false;
$config['fileapi_seafile_ssl_verify_host'] = false;
$config['fileapi_seafile_cache_ttl'] = '14d';
$config['fileapi_seafile_debug'] = true;</span></code></pre>
</li>
<li>That's it.</li>
</ol>
<div>
<br /></div>
Now you can use your Seafile server in Kolab as a file storage. But keep in mind, password protected folders are not accessible through chwala this way.<br />
<div>
<br /></div>
<div>
Feel free to leave any comments and</div>
<div>
Greetz</div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-19413584823759704362015-03-04T15:24:00.002-08:002015-03-04T15:24:46.890-08:00Kolab 3.4 released - New Skin - Chwala driver for SeafileHello @all,<br />
<br />
<br />
<a class="g-profile" href="https://plus.google.com/107154017183931800239" target="_blank">+Kolab.org Community</a> released Version 3.4 and it was time to get the new updates up and running.<br />
<br />
This time there is a new driver for "chwala" integrated for <a class="g-profile" href="https://plus.google.com/108420359147149523930" target="_blank">+Seafile.VN</a> so I gave it a try and tried to mix it all together.<br />
<br />
After lots pf solving dependencies and so on I managed to get the new version up and running with Seafile attached.<br />
<br />
That's quite amazing, for this you have to configure Seafile through Apache and connect to the LDAP.<br />
<br />
When you were able to manage all these things, you can easily save attachments in your cloud and syncing them to your smartphone. :-) <br />
<br />
There are still some issues on my Cubietruck which I have to solve but my Idea is to rebuild all the stuff from scratch in a chroot environment and track down all steps to get it working.<br />
<br />
Two Screenshots showing the new skin for <a class="g-profile" href="https://plus.google.com/117198963145106512069" target="_blank">+Roundcube</a> and the integration of Seafile into Chwala.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDWrG3zAZh9uD43fzysZxvbfroX09J2EOtRgFqb98TOZfewxw1Zz3BhuY3vcSalnim0wWQnfxmjrhalUjd_7_c7BfhQWIheH1p6jhdGjoy9lPrUA3J2f8T11NcSHcxI97tQx5oyQ0H3NU/s1600/kolab_rc.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDWrG3zAZh9uD43fzysZxvbfroX09J2EOtRgFqb98TOZfewxw1Zz3BhuY3vcSalnim0wWQnfxmjrhalUjd_7_c7BfhQWIheH1p6jhdGjoy9lPrUA3J2f8T11NcSHcxI97tQx5oyQ0H3NU/s1600/kolab_rc.png" height="327" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">That's the new Chameleon skin for Roundcube</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6whRKLqmOUS0fWX0X0vjb7Bq14zs_kakJgSTYvNTsicZe71nolkYdMJ1LmYUrDOurerp1x5Uf4kkrOa1A6fz6N11eFGSGz5_acLzjzYCO0ZkJfKzjKdbBykszDnXqnCwx5hyphenhyphen5H2_r_E/s1600/seafile_chwala.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR6whRKLqmOUS0fWX0X0vjb7Bq14zs_kakJgSTYvNTsicZe71nolkYdMJ1LmYUrDOurerp1x5Uf4kkrOa1A6fz6N11eFGSGz5_acLzjzYCO0ZkJfKzjKdbBykszDnXqnCwx5hyphenhyphen5H2_r_E/s1600/seafile_chwala.png" height="282" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The same folders in seafile and chwala except the password protected one.</td></tr>
</tbody></table>
<br />So the next couple of days I'm trying to set up a new build environment for the ARM-HF packages for Kolab and a Step-By-Step description.<div>
<br /></div>
<div>
Greetz<br /><br /></div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-68015912093208526942015-01-26T11:35:00.002-08:002015-01-26T11:35:51.894-08:00Migration to "Cubietruck" finished<div class="tr_bq">
Hi,</div>
<br />
due to a new job since the beginning of the year and moving to a new country I was a bit stressed. In addition to this, my provider changed from IPv4 to IPv6 at a DSLite line.<br />
<br />
So my port forwarding is no longer working and I had to organize all the stuff to get access to my mails again :-). Well, that's a disadvantage of my solution but I hope this will be solved somehow.<br />
<br />
So my script to install Kolab on my truck:<br />
<br />
<br />
<blockquote>
export RELEASE=3.3<br />
export RELEASEDIR=kolab_3.3_src<br />
mkdir -p /mnt/kolab/$RELEASEDIR<br />
mkdir -p /mnt/kolab/kolab_${RELEASE}_deb<br />
echo "deb-src http://obs.kolabsys.com:82/Kolab:/$RELEASE/Debian_7.0/ ./" > /etc/apt/sources.list.d/kolab.list<br />
echo "deb-src http://obs.kolabsys.com:82/Kolab:/$RELEASE:/Updates/Debian_7.0/ ./" >> /etc/apt/sources.list.d/kolab.list<br />
#echo "deb http://kolab-deb.zion-control.org /" >> /etc/apt/sources.list.d/kolab.list<br />
echo "Package: *" > /etc/apt/preferences.d/kolab<br />
echo "Pin: origin obs.kolabsys.com" >> /etc/apt/preferences.d/kolab<br />
echo "Pin-Priority: 501" >> /etc/apt/preferences.d/kolab<br />
wget -qO - http://obs.kolabsys.com:82/Kolab:/$RELEASE/Debian_7.0/Release.key | apt-key add -<br />
wget -qO - http://obs.kolabsys.com:82/Kolab:/$RELEASE:/Updates/Debian_7.0/Release.key | apt-key add -<br />
aptitude update<br />
cd /mnt/kolab/$RELEASEDIR<br />
echo Get debian sources<br />
<br />
wget http://obs.kolabsys.com:82/Kolab:/$RELEASE/Debian_7.0/Packages -O packages.txt<br />
wget http://obs.kolabsys.com:82/Kolab:/$RELEASE:/Updates/Debian_7.0/Packages -O packages_updates.txt<br />
apt-get -ym source `grep Package packages.txt | awk '{print $2}' | grep -v "kolab-ucs" | sort -u`<br />
apt-get -ym source `grep Package packages_updates.txt | awk '{print $2}' | grep -v "kolab-ucs" | sort -u`<br />
apt-get -y build-dep `grep Package packages.txt | awk '{print $2}' | grep -v kolab-ucs | sort -u`<br />
dpkg -i 389-ds-base-libs_1.2.11.29-0_armhf.deb<br />
dpkg -i 389-ds-base-dev_1.2.11.29-0_armhf.deb<br />
cd python-icalendar-3.4/<br />
debuild -us -uc -b<br />
cd ..<br />
apt-get install python-dateutil python-tz<br />
dpkg -i python-icalendar_3.4-1_all.deb<br />
cd libcalendaring_4.9.0<br />
debuild -us -uc -b<br />
cd ..<br />
dpkg -i libcalendaring_4.9.0-3_armhf.deb<br />
dpkg -i libcalendaring-dev_4.9.0-3_armhf.deb<br />
apt-get install libboost-program-options-dev<br />
cd libkolabxml-1.1~dev20140624/<br />
debuild -us -uc -b<br />
cd ..<br />
dpkg -i libkolabxml1_1.1~dev20140624-0~kolab1_armhf.deb<br />
dpkg -i libkolabxml-dev_1.1~dev20140624-0~kolab1_armhf.deb<br />
cd libkolab-0.6~dev20140624/<br />
debuild -us -uc -b<br />
cd ..<br />
dpkg -i libkolab0_0.6~dev20140624-0~kolab1_armhf.deb<br />
dpkg -i libkolab-dev_0.6~dev20140624-0~kolab1_armhf.deb<br />
apt-get -y build-dep `grep Package packages.txt | awk '{print $2}' | grep -v kolab-ucs | sort -u`<br />
apt-get -y build-dep `grep Package packages_updates.txt | awk '{print $2}' | grep -v kolab-ucs | sort -u`<br />
ls -ld * | grep '^d' | awk '{print $9}' | while read verz<br />
do<br />
cd $verz<br />
debuild -us -uc -b<br />
cd ..<br />
done<br />
<br />
cp *deb ../kolab_${RELEASE}_deb/<br />
cd ../kolab_${RELEASE}_deb<br />
dpkg-scanpackages -m . | gzip -c9 > Packages.gz</blockquote>
<div>
<br /></div>
<div>
After a while it was installed and I had to move all mails to my truck. I decided to reorganize all the mails according to the recipient in a separate folder (because of my C@tch@ll). I used "imapfilter" for that and for this I wrote a little LUA script:<br />
<br />
<blockquote class="tr_bq">
function processMailbox(raspberryPi,cubietruck, mb,subfolders)<br /> -- Status<br /> total, recent,unseen,nextid = raspberryPi[mb]:check_status()<br /> -- Alle Nachrichten auswaehlen<br /> results = raspberryPi[mb]:select_all()<br /> number = 1<br /> for _, message in ipairs(results) do<br /> print ("")<br /> mailbox, uid = table.unpack(message)<br /> header = mailbox[uid]:fetch_header()<br /> recipient = string.gsub(header, ".*for <([A-Za-z0-9-]+@example.com)>.*","%1")<br /> if (recipient:find(":")) then<br /> headerTo = mailbox[uid]:fetch_field('To')<br /> if (headerTo == nil) then<br /> recipient = "invalid_to@example.com"<br /> else<br /> headerTo = headerTo:gsub("\r","")<br /> headerTo = headerTo:gsub("\n","")<br /> headerTo = headerTo:gsub(" ","")<br /> headerTo = headerTo:gsub("To: ","")<br /> if (headerTo == "") then<br /> recipient = "invalid_to@example.com"<br /> else<br /> recipient = headerTo:gsub("To: ","")<br /> end<br /> end<br /> end<br /> if (recipient:find("<")) then<br /> recipient = recipient:gsub(".*<(.*)>","%1")<br /> end<br /> toFolder = string.gsub(recipient,"(.-)(@.*)","%1")<br /> messageId = mailbox[uid]:fetch_field("Message-id")<br /> messageId = string.gsub(messageId,".-<(.-)>","%1")<br /> subject = mailbox[uid]:fetch_field('Subject')<br /> subject = subject:gsub("\r"," ")<br /> subject = subject:gsub("\n"," ")<br /> print('Processing : <' .. mb .. '>')<br /> print('Subject : <' .. subject .. '>')<br /> print('Recipient : <' .. recipient .. '>')<br /> print('Folder : <' .. toFolder .. '>')<br /> print('ID : <' .. messageId .. '>')<br /> prozent = number / total * 100<br /> print('Number : <' .. number .. '/' .. total .. '> in ' .. mb .. ' (' .. prozent .. ' %)')<br /> cubietruck:create_mailbox('Archive/' .. toFolder)<br /> toMove = raspberryPi[mb]:contain_field("Message-id",messageId)<br /> for _, messageM in ipairs(toMove) do<br /> tmMB,tmUID = table.unpack(message)<br /> end<br /> toMove:copy_messages(cubietruck['Archive/' .. toFolder])<br /> number = number + 1<br /> end<br /> -- process all subfolder<br /> if (subfolders) then<br /> rPi_Mailboxes, rPi_Folders = raspberryPi:list_all(mb)<br /> for _, mbSub in ipairs(rPi_Mailboxes) do<br /> processMailbox(raspberryPi,cubietruck,mbSub,true)<br /> end<br /> end<br />end<br />---------------<br />-- Options --<br />---------------<br />options.timeout = 120<br />options.subscribe = true<br />options.create = true<br />----------------<br />-- Accounts --<br />----------------<br />-- Quelle ist Pi und Ziel ist Truck<br />raspberryPi = IMAP {<br /> server = 'raspberrypi.example.com',<br /> username = 'username@example.com',<br /> password = ':-)',<br />}<br />cubietruck = IMAP {<br /> server = 'cubietruck.example.com',<br /> username = 'username@example.com',<br /> password = ';-)',<br />}<br />processMailbox(raspberryPi,cubietruck,'Subfolder',false)</blockquote>
</div>
<div>
<div>
<br /></div>
</div>
<div>
<br /></div>
<div>
Don't hesitate to ask any questions</div>
<div>
<br /></div>
<div>
Greetz</div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-8228910592681545672015-01-03T08:38:00.000-08:002015-01-03T08:38:37.764-08:00Repository updated for Raspberry Pi and migration to Cubietruck startedHello,<div>
<br /></div>
<div>
currently my <a class="g-profile" href="https://plus.google.com/107182636490355951240" target="_blank">+Raspberry Pi</a> compiles the packages to the latest version available. (Update from 01.01.2015)</div>
<div>
<br /></div>
<div>
In the next couple of weeks I'm going to migrate from <a class="g-profile" href="https://plus.google.com/107182636490355951240" target="_blank">+Raspberry Pi</a> to my new Cubietruck. I decided to upgrade to a new SBC because the Cubietruck has more power (2 GB Ram instead of 512MB, ARMv7 instead ARMv6 a.s.o.)</div>
<div>
<br /></div>
<div>
For the Cubietruck I decided to go the debootsrap way for a debian image and followed these instructions :</div>
<div>
<ul>
<li><a href="http://blog.night-shade.org.uk/2013/12/building-a-pure-debian-armhf-rootfs/">http://blog.night-shade.org.uk/2013/12/building-a-pure-debian-armhf-rootfs/</a></li>
<li><a href="http://blog.night-shade.org.uk/2013/12/create-a-bootable-sd-for-a-cubietruck/">http://blog.night-shade.org.uk/2013/12/create-a-bootable-sd-for-a-cubietruck/</a></li>
</ul>
<div>
After that I had an amazing fast boot sequence on my "truck". :-) </div>
<div>
I had to fix an issue on my host because the module "binfmt_misc" was not integrated in my kernel which I compiled myself.</div>
</div>
<div>
<br /></div>
<div>
The main difference beetween Raspberry Pi and the Cubietruck is the CPU.</div>
<div>
Debian is available for ARMv7 CPUs as "armhf" and for ARMv6 CPUs as "armel" (soft float). The difference is the performance. If you use "armel" on the Raspberry Pi you will loose lots of performance, that's why the guys from Raspbian created their own repository for ARMv6 and "hard float". They compiled nearly every package for the Pi and I did that for the <a class="g-profile" href="https://plus.google.com/107154017183931800239" target="_blank">+Kolab</a> packages.</div>
<div>
<br /></div>
<div>
The debian-armhf repository does not contain all of the packages which are necessary for the Kolab installation so my "truck" is compiling all the stuff as well. :-)</div>
<div>
<br /></div>
<div>
Greetz</div>
<div>
Andreas</div>
<div>
<br /></div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-44485883824594972122014-09-04T12:41:00.001-07:002014-09-04T12:55:07.460-07:00Kolab 3.3 now available for Raspberry PiHi,<br />
<br />
now I finished compiling all the <a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab.org</a> packages for the <a class="g-profile" href="https://plus.google.com/107182636490355951240" target="_blank">+Raspberry Pi</a> .
Just a short note that you can update your groupware on your Pi pto the most recent version of <a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab.org</a> .<br />
<br />
Greetz
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-25534457494105365352014-08-07T16:06:00.003-07:002014-08-08T12:14:14.014-07:00Updating from 3.2 to 3.3 beta1Hello,<br />
<br />
I just finished the compiling of all modules and performed an upgrade to 3.3 beta1 on <a class="g-profile" href="https://plus.google.com/109062849130107436455" target="_blank">+Rasperry Pi</a> .<br />
<br />
For all impatient:<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">deb http://kolab.zion-control.org /</span></blockquote>
<br />
<br />
Changes I adopted to my installation :<br />
<br />
/etc/kolab/kolab.conf<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">[wallace]</span><br />
<span style="font-family: Courier New, Courier, monospace;">modules = resources, invitationpolicy, footer </span><br />
<span style="font-family: Courier New, Courier, monospace;">kolab_invitation_policy = ACT_ACCEPT_IF_NO_CONFLICT:zion-control.org, ACT_MANUAL</span></blockquote>
<div>
/etc/kolab-freebusy/config.ini</div>
<div>
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;">[httpauth]</span><br />
<span style="font-family: Courier New, Courier, monospace;">type = ldap</span><br />
<span style="font-family: Courier New, Courier, monospace;">host = ldap://localhost:389</span><br />
<span style="font-family: Courier New, Courier, monospace;">bind_dn = "uid=kolab-service,ou=Special Users,dc=zion-control,dc=org"</span><br />
<span style="font-family: Courier New, Courier, monospace;">bind_pw = "</span><span style="font-family: 'Courier New', Courier, monospace;">IwontTellYou</span><span style="font-family: Courier New, Courier, monospace;">"</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span><br />
<span style="font-family: Courier New, Courier, monospace;">[directory "local-cache"]</span><br />
<span style="font-family: Courier New, Courier, monospace;">type = static</span><br />
<span style="font-family: Courier New, Courier, monospace;">fbsource = file:/var/cache/kolab-freebusy/%s.ifb</span><br />
<span style="font-family: Courier New, Courier, monospace;">expires = 10m</span><br />
<span style="font-family: Courier New, Courier, monospace;">[directory "kolab-resources"]</span><br />
<span style="font-family: Courier New, Courier, monospace;">type = ldap</span><br />
<span style="font-family: Courier New, Courier, monospace;">host = ldap://localhost:389</span><br />
<span style="font-family: Courier New, Courier, monospace;">bind_dn = "uid=kolab-service,ou=Special Users,dc=zion-control,dc=org"</span><br />
<span style="font-family: Courier New, Courier, monospace;">bind_pw = "</span><span style="font-family: 'Courier New', Courier, monospace;">IwontTellYou</span><span style="font-family: Courier New, Courier, monospace;">"</span><br />
<span style="font-family: Courier New, Courier, monospace;">base_dn = "ou=Resources,dc=zion-control,dc=org"</span><br />
<span style="font-family: Courier New, Courier, monospace;">filter = "(&(objectClass=kolabsharedfolder)(mail=%s))"</span><br />
<span style="font-family: Courier New, Courier, monospace;">attributes = mail, kolabtargetfolder</span><br />
<span style="font-family: Courier New, Courier, monospace;">fbsource = "imap://cyrus-admin:IwontTellYou@localhost/%kolabtargetfolder?acl=lrs"</span><br />
<span style="font-family: Courier New, Courier, monospace;">cacheto = /var/cache/kolab-freebusy/%mail.ifb</span><br />
<span style="font-family: Courier New, Courier, monospace;">expires = 10m</span><br />
<span style="font-family: Courier New, Courier, monospace;">loglevel = 100 ; Debug</span></blockquote>
</div>
<div>
<br /></div>
<div>
So far, active-sync still working :-) and no major issues as the ones already known.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
More the next days when I performed some tests</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Greetz Andreas</div>whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-51934127378158310202014-08-06T05:55:00.000-07:002014-08-06T05:55:01.033-07:00Kolab 3.3 beta1 releasedHi there,<div>
<br /></div>
<div>
<br /></div>
<div>
<a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab</a> just released the 3.3 beta1 version of kolab. (</div>
<div>
See the original post here : <a href="https://kolab.org/news/2014/08/06/first-beta-kolab.org-3.3-released">https://kolab.org/news/2014/08/06/first-beta-kolab.org-3.3-released</a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
My <a class="g-profile" href="https://plus.google.com/107182636490355951240" target="_blank">+Raspberry Pi</a> is currently downloading and compiling all the packages.</div>
<div>
<br /></div>
<div>
Because of all the dependencies I solved during the first compile phase, I expect not so much errors during this installation.</div>
<div>
<br /></div>
<div>
Hope to tell you more tomorrow or even on friday.</div>
<div>
<br /></div>
<div>
Greets Andreas</div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-20234327279541911212014-05-03T15:15:00.001-07:002014-05-03T15:15:12.674-07:00100 days and no mayor probsSince now I'm using <a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab</a> on my <a class="g-profile" href="https://plus.google.com/107182636490355951240" target="_blank">+Raspberry Pi</a> for 100 days.<div>
<br /></div>
<div>
Syncroton (Active-Sync) is working like a charme, access to my files via WebDav is also working.</div>
<div>
<br /></div>
<div>
After changing the webserver from <a class="g-profile" href="http://plus.google.com/115711826069542019482" target="_blank">+Apache</a> to <a class="g-profile" href="https://plus.google.com/116365460298651137554" target="_blank">+Nginx</a> the performance in using roundcube is now ok and after the logrotate during midnight I had no sync problems any more with my mobile.</div>
<div>
<br /></div>
<div>
Power consumption is below 3W so it costs only about 7€ per year (0,60€ per month) which is really cheap. Ok you have to add 1€ per month for the domain if you use <a class="g-profile" href="http://plus.google.com/116400375158646807631" target="_blank">+regfish</a> for the domain. </div>
<div>
<br /></div>
<div>
<div>
A few days ago I exported all my contacts hosted on the google server and imported them into Kolab. </div>
</div>
<div>
So if you don't like to let google know the phone number from your grandma and so on it's up to you to change this and get your own groupware on your server at your home :-)</div>
<div>
<br /></div>
<div>
BTW you can do a lot of other things with your Raspberry Pi.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Greetz</div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-11805164483728823092014-04-17T06:32:00.001-07:002014-04-29T23:43:06.531-07:00Storing files in Kolab does not workHello,<br />
<br />
yesterday I needed the functionality of storing files in <a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab</a>.<br />
<br />
I found out that this does not work on my installation.<br />
<br />
<br />
This is a known bug in cyrus.<br />
<br />
<a href="https://lists.kolabsys.com/pipermail/packaging-commits/2012-November/007932.html">https://lists.kolabsys.com/pipermail/packaging-commits/2012-November/007932.html</a><br />
<a href="https://bugzilla.cyrusimap.org/show_bug.cgi?id=3754">https://bugzilla.cyrusimap.org/show_bug.cgi?id=3754</a><br />
<br />
<br />
Raspbian does not have an updated package :-( so I started the compile issue again but now for a raspbian package.<br />
<br />
To do the changes I downloaded the package cyrus-imapd and tried to compile like I did for all the <a class="g-profile" href="http://plus.google.com/107154017183931800239" target="_blank">+Kolab</a> packages. But that didn't fix the error because I had to modify imap/message.c.<br />
<br />
Ok, googling showed me that I have to use the right method with quilt.<br />
<br />
So here are the instructions<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">apt-get -y source cyrus-imapd<br />apt-get -y build-dep cyrus-imapd<br />cd cyrus-imapd-2.4-2.4.16<br />quilt push -a<br />quilt new failed_asserting_during_append<br />quilt add imap/message.c</span></blockquote>
<br />
Edit the file imap/message.c. In line 389 add the line:<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">message_guid_generate(&(*body)->guid, msg.base, msg.len);</span></blockquote>
And continue with the following commands<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">quilt refresh<br />debuild -us -uc -b</span></blockquote>
<br />
and now go for coffee break :-)<br />
<br />
After less than 2 hours you can install the new package.<br />
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"><br /></span>
<br />
<blockquote class="tr_bq">
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">cd ..</span><br />
<span style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">dpkg -i cyrus-imapd-2.4_2.4.16-4+deb7u1_all.deb</span> </blockquote>
<br />
To get the indexes working on the existing files you have to reconstruct the mailboxes with the following command:<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">cyrreconstruct -C /etc/imapd.conf -fr 'user/name/Files@domain'</span></blockquote>
<br />
You can also mount the files in Windows. For me only the command line is working. So click on Start->run (or press Windows-R) and enter the following command:<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">net use x: https://example.com/iRony/files/ YourPasswordGoesHere /user:primary.email@example.com</span></blockquote>
The impatient people can you use my prebuild package on my APT-Repo<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">deb http://kolab-deb.zion-contro.org /</span> </blockquote>
<blockquote class="tr_bq">
</blockquote>
greetz<br />
<br />
<br />whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-1257334389835829302014-04-12T13:29:00.000-07:002014-04-12T13:29:00.770-07:00NGINXHello,<br />
<br />
I create a new page with my nginx config to cover all changes and mods which I've done on my Raspberry Pi.<br />
<br />
The instructions are based on<a href="http://kolab.org/blog/grote/2013/07/08/using-kolab-3-nginx" target="_blank"> http://kolab.org/blog/grote/2013/07/08/using-kolab-3-nginx</a> and <a href="https://docs.kolab.org/howtos/nginx-webserver.html">https://docs.kolab.org/howtos/nginx-webserver.html</a>.<br />
<br />
<br />
So feel free to leave any comments and to get your Kolab running on your Pi with a bit more performance.<br />
<br />
More tuning tips are welcome. :-)<br />
<br />
greetz<br />
<br />whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-51425644618916564282014-04-11T16:30:00.002-07:002014-04-11T16:35:31.429-07:00XMPP now integrated in Kolab and working :-)Now I got it.<br />
<br />
I'm using converse.js.<br />
<br />
Following the instructions on http://permalink.gmane.org/gmane.comp.kde.kolab.devel/12092 I got it.<br />
<br />
Well, not only following the instructions but also to setup some more things:<br />
<br />
First of all the config from the plugin. The main parts are<br />
<blockquote class="tr_bq">
$config['converse_xmpp_bosh_prebind_url']= function($args) {<br />
return 'http://127.0.0.1:5280/http-bind';<br />
};<br />
$config['converse_xmpp_bosh_url']= function($args) {<br />
return '/http-bind';<br />
};<br />
$config['converse_xmpp_hostname']= function($args) {<br />
list($user,$host) = explode('@', $args['user']);<br />
return $host;<br />
};<br />
$config['converse_xmpp_username']= function($args) {<br />
list($user,$host) = explode('@', $args['user']);<br />
return $user;<br />
};</blockquote>
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 :-)<br />
<br />
<div>
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:</div>
<div>
<blockquote class="tr_bq">
location /http-bind {<br />
proxy_pass http://localhost:5280/http-bind;<br />
proxy_set_header Host $host;<br />
proxy_buffering off;<br />
tcp_nodelay on;<br />
}</blockquote>
</div>
<div>
<br /></div>
<div>
And now the ejabberd.cfg. When you install ejabberd and connect it to kolab-ldap, binding also seems to work (domain:5280/http-bind) but it doesn't. You need explicitly to activate it in the "modules"-section!</div>
<div>
I forgot this and struggled around nearly 4 hours to find the error.</div>
<div>
<br /></div>
<div>
So the changes in modules section are</div>
<div>
<blockquote class="tr_bq">
{mod_shared_roster,[<br />
{'ldap_base', 'ou=People,dc=example,dc=com'},<br />
{'ldap_rfilter', '(objectClass=kolabinetorgperson)'},<br />
{'ldap_memberattr', 'uid'},<br />
{'ldap_userdesc', 'cn'},<br />
{'ldap_filter', '(objectClass=kolabinetorgperson)'},<br />
{'ldap_useruid', 'uid'}<br />
]},<br />
{mod_http_bind,[]}</blockquote>
<br />
greetz </div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-85017254783010120982014-04-08T09:05:00.002-07:002014-04-08T09:05:36.291-07:00XMPP now workingHi,<br />
<br />
<br />
my eJabberd server is now up and running and I can receive messages and send messages.<br />
<br />
My next step is to setup the chat functionality in roundcubemail so you can send messages through a Jabber client or roundcubemail. :-)<br />
<br />
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.<br />
<br />
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.<br />
<br />
Also you should use SASL for authentication purpose.<br />
<br />
I prefer to have my domain as the jabber ID and not a subdomain. <br />
<br />
<br />
greetzwhvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-13354468526783905572014-03-31T01:07:00.001-07:002014-03-31T01:07:45.478-07:00XMPP Integration with eJabberd<div dir="ltr">
Hi,</div>
<div dir="ltr">
<u><br /></u></div>
<div dir="ltr">
yesterday I started to implement a chat into Kolab.</div>
<div dir="ltr">
I decided to use an XMPP Server connected to the Kolab-Ldap and decided to use eJabberD.</div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
Installation was quite simple and the connection to Kolab-Ldap as well.</div>
<div dir="ltr">
Download and install with the following command:</div>
<blockquote class="tr_bq">
apt-get install ejabberd</blockquote>
<div dir="ltr">
and follow the instructions.</div>
<div dir="ltr">
<br />
Here are my specific parameter for the auth against Kolab-LDAP (the other remain as they are):<br />
<blockquote class="tr_bq">
%%{auth_method, internal}. <br />{auth_method, ldap}.<br />{ldap_servers, ["localhost"]}.<br />{ldap_port, 389}.<br />{ldap_rootdn, "cn=Directory Manager"}.<br />{ldap_password, "DontEvenThinkAboutIt"}.<br />{ldap_filter, "(objectClass=mailrecipient)"}.<br />{ldap_uids, [{"mail", "%u@%d"}]}.<br />{acl, admin, {user, "admin", "zion-control.org"}}.<br />{hosts, ["zion-control.org"]}.<br />{ldap_base, "ou=People,dc=zion-control,dc=org"}.</blockquote>
<br />
<br />
It's not necessary to register user in eJabberd, just create one in your kolab-webadmin.<br />
<br />
If you want to check your eJabberD, go to :<br />
<blockquote class="tr_bq">
http://youraddress:5280/admin</blockquote>
and login with your full mail address and password which you use for Kolab.<br />
<br />
Next part would be to have an IM in roundcube...<br />
<br />
greets </div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-45618482031730550992014-03-13T13:54:00.000-07:002014-03-13T13:54:09.244-07:00Kolab and vHostsToday I played a little with the apache config to improve my performance using apache.<br />
<br />
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" :-)<br />
<br />
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.<br />
<br />
Simply moving the kolab-syncroton from sites-available to conf.d solved the problem for me.<br />
<br />
Not the best, may be, but it's working.<br />
<br />
<br />
greetswhvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-52463100927977805942014-03-11T15:31:00.001-07:002014-03-11T15:31:42.211-07:00First impression - and thanks for the feedbackHi,<br />
<br />
first of all I wish to say thanks for your feedback on my posts :-)<br />
<br />
<br />
So now the groupware is up and running and the next steps are planned already (XMPP = Chat/Messaging, OwnCloud).<br />
<br />
The roundcube web frontend is a bit slow for daily work, and it reconnects to the imap server very often.<br />
<br />
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.<br />
<br />
So the next parts are also performance improving.<br />
<br />
Some topics to check are<br />
<blockquote class="tr_bq">
memory usage (count of server process fro IMAP, Apache ...)<br />Proxy for roundcube connection to IMAP<br />deactivating Virus/Spam detection and use some header/body checks instead (not for production use of course)</blockquote>
<br />
If you have more cheats and hints to increase the performance, that would be nice.<br />
<br />
greetswhvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-68114704082109764832014-03-10T14:25:00.001-07:002014-03-10T14:25:45.378-07:00200 ok, it's working :-)Hi there,<div>
<br /></div>
<div>
Yesterday I finished the compilation story and was able to setup kolab.</div>
<div>
<br /></div>
<div>
I had to install apache-2.2 and then compile 389-admin... but then...... </div>
<div>
<br /></div>
<div>
Everything is available to install. :-)</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Ok, I had some problems but here is a short summary:</div>
<div>
<br /></div>
<div>
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.</div>
<div>
<br /></div>
<div>
Ok, just create some symlinks:</div>
<div>
<blockquote class="tr_bq">
ln -s /var/lib/cyrus/ /var/lib/imap<br />ln -s /var/spool/cyrus/ /var/spool/imap<br />ln -s /usr/lib/cyrus /usr/lib/imap</blockquote>
</div>
<div>
And the SSL certificates are missing:</div>
<div>
<blockquote class="tr_bq">
openssl req -new -x509 -nodes -out /etc/ssl/certs/cyrus-imaps.pem -keyout /etc/ssl/private/cyrus-imapd.key -days 3650</blockquote>
</div>
<div>
and change the filenames in the /etc/imapd.conf accordingly.</div>
<div>
<br /></div>
<div>
Now add postfix and cyrus to the ssl-cert group and also to the mail group.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Now it's time to start the command:</div>
<blockquote class="tr_bq">
setup-kolab</blockquote>
<br />
Yeah, it's working. :-) (write down all the passwords, you'll need them)<br />
<br />
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.<br />
<br />
You want to login after that?<br />
Go to http://address/kolab-webadmin and login with "cn=directory manager" and the known password.<br />
<br />
Now you can create a user and so on and it will receive mails just right after creation.<br />
<br />
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.<br />
<br />
Now I can synch my mobile with my own groupware, including tasks, contacts, appointments.<br />
<br />
In the past I loved to have a Catchall for my domain, so I created a new file in /etc/postfix/ldap called virtual_alias_maps_catchall.cf<br />
<blockquote class="tr_bq">
server_host = localhost<br />server_port = 389<br />version = 3<br />search_base = dc=domain,dc=org<br />scope = sub<br />domain = ldap:/etc/postfix/ldap/mydestination.cf<br />bind_dn = uid=kolab-service,ou=Special Users,dc=domain,dc=org<br />bind_pw = ComeOn_I_wont_tell_you<br />query_filter = (&(alias=catchall@%d)(objectclass=kolabinetorgperson))<br />result_attribute = mail</blockquote>
<div>
In the kolab-webadmin page you can now add a new alias called catchall@domain.org</div>
<br />
And now enjoy your groupware on your RaspberryPi.<br />
<br />
For all of you who just want to download and install the DEBs:<br />
<br />
Add my repo to your sources.<br />
<blockquote class="tr_bq">
deb http://kolab-deb.zion-control.org /</blockquote>
and just install.<br />
<br />
By the way, the docs on kolab.org are really helpful.<br />
<br />
greets<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-88081837638536135372014-03-08T10:08:00.002-08:002014-03-08T10:08:53.271-08:00The compilation story continuesOk,<br />
<br />
not only pykolab was missing. The order which package to compile, install and compile again is important but we will manage this.<br />
<br />
Now I had to compile libkolab, kolab-utils and may be some more.<br />
<br />
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.<br />
<br />
Don't forget a<br />
dpkg-scanpackages . | gzip -c9 > Packages.gz<br />
before running apt-get update so the Packages.gz file is new and includes the newly created DEBs..<br />
<br />
<br />
The story continues :-)<br />
<br />
greets<br />
<br />whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-82391155699938180882014-03-08T04:47:00.000-08:002014-03-08T04:50:05.963-08:00Compilation finished... But we are not readyYeah,<br />
<br />
compilation finished after, well, quite a lot of time (~13h)...<br />
<br />
I checked all the files and one package was missing (pykolab) because of some missing dependencies.<br />
<br />
Checking again showed me that the following packages are missing:<br />
<blockquote class="tr_bq">
intltool libglib2.0-dev python-icalendar python-nose</blockquote>
Ok. So we install these packages and continue with pykolab... (python-icalendar we compiled last night).<br />
<br />
And again, compilation will take its time.<br />
<br />
<br />
<br />
<br />
greets<br />
<br />whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-69262793552969009892014-03-07T14:29:00.001-08:002014-03-07T14:29:34.100-08:00Preparation page createdOk guys,<br />
<br />
I created the first How-To for Kolab on Pi.<br />
<br />
<a href="http://whvneo.blogspot.de/p/preparation.html">http://whvneo.blogspot.de/p/preparation.html</a><br />
<br />
Feel free to add any comments.<br />
<br />
My RasPi is still compiling for 9 hours (and continues).<br />
<br />
<br />
greetswhvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0tag:blogger.com,1999:blog-2100348778743729229.post-83388771280114386582014-03-07T11:38:00.002-08:002014-03-07T11:38:54.269-08:00Started to compile Kolab on Raspberry PiHello,<br />
<br />
<br />
now it's time to start my blog and share my experience with my Raspberry Pi.<br />
<br />
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 <a href="http://www.kolab.org/" target="_blank">kolab</a> on it. :-)<br />
<br />
I googled a lot about <a href="http://www.kolab.org/" target="_blank">kolab</a> and it looks promising to my needs, but ....<br />
<br />
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.<br />
<br />
So I decided to build Kolab from scratch. Daniele Gobbetti did this for Kolab 3.0.<br />
You may find some information here:<br />
<br />
<ul>
<li><a href="http://lists.kolab.org/pipermail/devel/2013-March/014173.html">http://lists.kolab.org/pipermail/devel/2013-March/014173.html</a></li>
<li><a href="https://daniele.gobbetti.name/kolab-debs/">https://daniele.gobbetti.name/kolab-debs/</a></li>
<li><a href="https://daniele.gobbetti.name/kolab-debs/00-kolab-installation.txt">https://daniele.gobbetti.name/kolab-debs/00-kolab-installation.txt</a></li>
</ul>
<div>
But now we have 3.1 available and 3.2 is in the line.</div>
<div>
To know how it works, I'll do this on my own and share all the knowledge. :-)</div>
<div>
<br /></div>
<div>
Writing this post, my Raspberry Pi is compiling ........ and I think it will take a lot of time to generate all the debs.</div>
<div>
<br /></div>
<div>
Later on I'll write some more lines (have to iron some clothes)</div>
<div>
<br /></div>
<div>
greets</div>
<div>
<br /></div>
whvneohttp://www.blogger.com/profile/06764983290848316128noreply@blogger.com0