diff options
author | Daniel Lange <DLange@git.local> | 2016-03-07 15:53:16 +0100 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-03-07 15:53:16 +0100 |
commit | 50569114acdc64e7c7cae1498635d3f821517c30 (patch) | |
tree | 13d6fe76af33134fbfb2286930fb6603047f9299 /README.md | |
parent | c210d30de6c62e7f7867bb32651349ddf455d9e6 (diff) | |
download | roundcube_calendar-50569114acdc64e7c7cae1498635d3f821517c30.tar.gz roundcube_calendar-50569114acdc64e7c7cae1498635d3f821517c30.tar.bz2 roundcube_calendar-50569114acdc64e7c7cae1498635d3f821517c30.zip |
Initial commit of the Faster IT roundcube_calendar plugin distribution
This includes:
* Kolab plugins 3.2.9 (calendar and libcalendaring)
* CalDAV driver 3.2.8
* .htaccess files for at least some security
* SabreDAV updated to 1.8.12 (Jan 2015 release)
* Support for CURLOPT_SSL_* settings to allow self-signed certificates
* Small fixes & improved documentation
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca01bd2 --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ +# Roundcube Calendar plugin with CalDAV support + +Using Kolab-plugins from https://git.kolab.org/ (based on v3.2.9) +Using the CalDAV driver from https://gitlab.awesome-it.de/kolab/roundcube-plugins/tree/feature_caldav (based on v3.2.8) + +Hosted at https://git.faster-it.com/roundcube_calendar +Mirrored at https://github.com/fasterit/roundcube_calendar + + +## About + +Roundcube is an awesome web mailer and a good platform for calendaring as the work from +Kolab Systems AG shows. Their Roundcube plugins (primarily developed to support the +Kolab Groupware server) have been extended by "Awesome IT" (a GbR out for Karlsruhe, Germany) +to support CalDAV calendars. + +Getting this all to work is a bit of a hassle so we - Faster IT GmbH - decided to +combine the various parts into a distribution when we were asked to implement this for a nonprofit company. +For the public benefit we re-publish the work under the origiginal AGPLv3+ license. + +This version is compatible with the [rcmcarddav plugin](https://github.com/blind-coder/rcmcarddav) +from [Benjamin Schieder](http://www.benjamin-schieder.de/carddav.html). +We hacked this by moving the ancient SabreDAV version the WebDAV driver uses into its own +`OldSabre` namespace so it does not collide with rcmcarddav's version. +We updated it to 1.8.12 which is the last version of the 1.x series (SabreDAV is at 3.1 now). + +That way you can have both CalDAV and CardDAV supported simultaneously in Roundcube by Free Software. + +There is work underway at "Awesome IT" to update SabreDAV to a recent version +(see their [gitlab](https://gitlab.awesome-it.de/kolab/roundcube-plugins/commit/5a0825b89a0b0183bf8469e66b667e294309b609)) +but at the time of writing this (2016-03-07) it has not yet been completed. + + +## Installation + +Clone the repository and copy `calendar` and `libcalendaring` to the `plugins` directory +of your roundcube installation: + + $ git clone git://github.com/fasterit/roundcube_calendar.git + $ cd roundcube_calendar + $ cd -r calendar/ libcalendaring/ /var/www/htdocs/roundcube/plugins/ # adjust as needed + +Copy and edit the supplied config.inc.php.dist: + + $ cd /var/www/htdocs/roundcube/plugins/ + $ cp config.inc.php.dist config.inc.php + $ $EDITOR config.inc.php + +Change the driver to include caldav (this is why you use this version of the calendar +plugins, right?); + + // backend type (database, kolab, caldav, ical) + $config['calendar_driver'] = array('database', 'caldav'); + $config['calendar_driver_default'] = 'caldav'; + +Provide a unique crypt_key. This is used to scramble the passwords for CalDAV calendars +before they are stored into the database: + + // Crypt key to encrypt passwords for added iCAL/CalDAV calendars + $config['calendar_crypt_key'] = "<run pwgen -sy 32 to get some nice random data for here>"; + +Now we need to import the database tables for the database driver (these tables are also required +for CalDAV!) and the caldav driver. Your database name (<db-name>) will usually be roundcubemail or roundcube. +Check with `mysql -e 'show databases;'`. + + $ mysql <db-name> < /var/www/htdocs/roundcube/plugins/calendar/drivers/database/SQL/mysql.initial.sql + $ mysql <db-name> < /var/www/htdocs/roundcube/plugins/calendar/drivers/caldav/SQL/mysql.initial.sql + +Finally enable the calendar plugin in your **global** roundcube `config.inc.php`: + + $ $EDITOR /var/www/htdocs/roundcube/config/config.inc.php + +Add 'calendar' to the list of active plugins: + + $config['plugins'] = array( + (...) + 'calendar', + ); + + +## Usage + +After installation, add a CalDAV Calendar by going to the Calendar view and clicking the [+] in the +lower right corner. Select CalDAV Calendar and provide a name, URL and username / password for your calendar. + +In case you want to add calendars that are served with self-signed SSL certificates, be sure to set + + // Set to false to allow CURL to connect with SSL hosts that it can't verify the certificates from + // e.g. for self-signed certificates. + // technical note: This sets CURLOPT_SSL_VERIFYPEER _and_ CURLOPT_SSL_VERIFYHOST. + $config['calendar_curl_secure_ssl'] = false; + +in `calendar/config.inc.php`. And know what you are doing. + + +## Debugging + +See `/var/www/htdocs/roundcube/logs/` for errors. + +## Support + +There is none. Really. This code is not for the faint of heart. +Patches welcome. |