Project

General

Profile

Support #663

Updated by Daniel Curtis over 8 years ago

This is a short guide on adding CardDAV support for the Roundcube address book. I intend on using owncloud to provide the CardDAV backend. 

 h2. Download rcmcarddav 

 * Clone the rcmcarddav repository: 
 <pre> 
 cd /usr/local/www/roundcube/plugins 
 git clone https://github.com/blind-coder/rcmcarddav.git 
 mv rcmcarddav carddav 
 cd carddav 
 </pre> 

 * Install php56-phar and php56-curl: 
 <pre> 
 pkg install php56-phar 
 </pre> 

 * Download composer and install the rcmcarddav dependencies 
 <pre> 
 curl -sS https://getcomposer.org/installer | php 
 php composer.phar install 
 </pre> 

 * Create the initial config.inc.php: 
 <pre> 
 cp config.inc.php.dist config.inc.php 
 </pre> 

 * Edit the plugin config file: 
 <pre> 
 vi /usr/local/www/roundcube/plugins/carddav/config.inc.php /usr/local/www/roundcube/plugins/rcmcarddav/config.inc.php 
 </pre> 
 #* And add the following to the bottom of the file: 
 <pre> 
 $prefs['db_version'] $prefs['Personal'] = 2; 
 </pre> 

 * Remove all occurrences of TABLE_PREFIX from array( 
         // required attributes 
         'name'           =>    'Personal', 
         // will be substituted for the dbinit sql file: 
 <pre> 
 sed -i '' -e 's/TABLE_PREFIX//g' /usr/local/www/roundcube/plugins/carddav/dbmigrations/0000-dbinit/postgres.sql 
 </pre> 

 * Initialize roundcube username 
         'username'       =>    '%u', 
         // will be substituted for the database:  
 <pre> roundcube password 
         'password'       =>    '%p', 
         // %u will be substituted for the CardDAV username 
         'url'            =>    'https://owncloud.example.com/remote.php/carddav/addressbooks/%u/contacts', 

         'active'         =>    true, 
         'readonly'       =>    false, 
         'refresh_time' => '02:00:00', 

         'fixed'          =>    array( 'username' ), 
         'hide'          =>    false, 
 psql -h pg.example.com -U roundcubeuser -W -d roundcubedb < /usr/local/www/roundcube/plugins/carddav/dbmigrations/0000-dbinit/postgres.sql ); 
 </pre> 

 * Set the ownership of the plugin to www: 
 <pre> 
 chown -R www:www /usr/local/www/roundcube/plugins/carddav/ /usr/local/www/roundcube/plugins/rcmcarddav/ 
 </pre> 

 * Edit the main roundcube config file: 
 <pre> 
 vi /usr/local/www/roundcube/config/config.inc.php 
 </pre> 
 #* And add carddav to the plugins section: 
 <pre> 
 $config['plugins'] = array( 
     'archive', 
     'zipdownload', 
     'managesieve', 
     'password', 
     'carddav', 
 ); 
 </pre> 

 * Login to Roundcube and set-up your first CardDAV address book by accessing +Settings -> Settings -> CardDAV+ 

 h2. Resources 

 * https://plugins.roundcube.net/packages/roundcube/carddav 
 * https://github.com/blind-coder/rcmcarddav/blob/master/INSTALL 
 * https://github.com/blind-coder/rcmcarddav/

Back