Adding Kolab Calendar in Directadmin Roundcube webmail


Code: 86 Publish date: 2017/8/23
Adding Kolab Calendar Directadmin Roundcube webmail

Adding Kolab Calendar in Directadmin Roundcube webmail
Tested server is CentOS6 64 with DirecAdmin and php5.6 you will do any change with your own risk.

If you need calendar on roundcube this may help you:

First we need access root.
Run this command to found pnp.ini. if you are not sure where is it:
php --ini
In pnp.ini if you have (proc_close,proc_open,) in disable_functions then remove this 2 itmes  and restart httpd. (We can add them again after sucess kolab calendar instalaltion)

Time to start:
# yum install git php-sabre-*
# cd /tmp
# git clone
# cd /var/www/html/roundcube/plugins/ >>>or (cd /<path-to-roundcube>)
# cp -r /tmp/roundcubemail-plugins-kolab/plugins/calendar .
# cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring .
# cd calendar
# cp
Now we need mysql root password, if you dont know what is it run this command:
# cat /usr/local/directadmin/conf/mysql.conf
backup your roundcube database before anychange, all users contacts saved in this db if you dont have backup you will go in trouble.
I used this command to backup database:

# mysqldump --user da_admin --password="123456" da_roundcube > /var/www/html/roundcube/da_roundcubeBK.sql

da_admin is mysql root username
123456 is myql root password 
da_roundcube is roundcube database name

after backedup roundcube db make sure da_roundcubeBK.sql file is ok on backup path in this case: /var/www/html/roundcube/
If you need to restore backedup database you can use this command:
mysql --user=da_admin --password="123456" da_roundcube < da_roundcubeBK.sql

Run the initial mysql file in the calendar plugin folder:
# mysql --user=da_admin --password="123456" da_roundcube < /var/www/html/roundcube/plugins/calendar/drivers/database/SQL/mysql.initial.sql
# mysql --user=da_admin --password="123456" da_roundcube < /var/www/html/roundcube/plugins/calendar/drivers/kolab/SQL/mysql.initial.sql
# mysql --user=da_admin --password="123456" da_roundcube < /var/www/html/roundcube/SQL/mysql.initial.sql

Now add ( 'calendar',) to roundcube config file with your favorite editor, Mine is vi:

# vi /var/www/html/roundcube/config/
If you was not sure where is the right place look for this line:
$config ['plugins'] = array(
As screenshot :

This file is read only and to save by vi should use this commans:
w !sudo tee %

To prevent changing config on updates:
# cd /usr/local/directadmin/custombuild/
# mkdir custom
# cd custom
# mkdir roundcube
# cp /var/www/html/roundcubemail-1.3.x/config/ /usr/local/directadmin/custombuild/custom/roundcube

We need php-ldap modoule but its not possible on directadmin install it with yum, so we will do a little change:

remove (php*) on this file:

# vi /etc/yum.conf
sould delete php* from exclude= php*
Now we can install php-ldap:

# yum install php-ldap
After installation add again exclude= php*

Compile php with ldap:

# cd /usr/local/directadmin/custombuild
# mkdir -p custom/ap2
# cp -fp configure/ap2/configure.php56 custom/ap2/configure.php56
# ./build used_configs | grep configure.php
This command show php info and result should be like this:# (PHP (default) configuration file: /usr/local/directadmin/custombuild/custom/ap2/configure.php56)
Edit custom/ap2/configure.php56 and add:
(--with-ldap=/usr \
# cd /usr/local/directadmin/custombuild/
# ./build php n
# service httpd restart

Install the dependencies with Composer
# cd /var/www/html/roundcube/
# wget
# cp composer.json-dist composer.json
# php composer.phar require sabre/vobject 3.3.3 
if you got error you can run first :
# php composer.phar install
and again:
# php composer.phar require sabre/vobject 3.3.3
# cd var/www/html/roundcube/plugins
# chown webapps:webapps libcalendaring calendar

Now you have calendar on your round cube.


  • Author: Amir javidan
Resource: Day Telecom
Resource URL: