Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
public:groupware_toaster [2017/07/12 23:48] – ↷ Page name changed from public:groupwaretoaster to public:groupware_toaster Nicopublic:groupware_toaster [2023/06/21 22:35] (current) – fix code tag bug Nico
Line 1: Line 1:
 ====== Lightweight groupware solution using nginx+php-fpm+mysql+baïkal+roundcube+agendav ====== ====== Lightweight groupware solution using nginx+php-fpm+mysql+baïkal+roundcube+agendav ======
  
 +The goal of this document is to set up a web-based solution providing mail, calendars and contacts management, along with mobile  devices & desktop synchronization using dav* protocols. 
 +
 +This obviously needs an already running full mail stack (I use qmail/postfix/dovecot), which will not be covered there. This document also assume that nginx, fpm and mysql are also already up and running.
 ===== nginx ===== ===== nginx =====
 <code> <code>
Line 9: Line 12:
         server_name sub.domain.tld;         server_name sub.domain.tld;
  
-        access_log /var/log/nginx/gp-access.log; +        access_log /var/log/nginx/groupware-access.log; 
-        error_log /var/log/nginx/gp-error.log;+        error_log /var/log/nginx/groupware-error.log;
  
         location / {         location / {
Line 81: Line 84:
   * Install roundecube:   * Install roundecube:
 <code bash> <code bash>
-curl -L -O https://github.com/roundcube/roundcubemail/releases/download/1.3.0/roundcubemail-1.3.0-complete.tar.gz +curl -L -O https://github.com/roundcube/roundcubemail/releases/download/1.3.3/roundcubemail-1.3.3-complete.tar.gz 
-tar xvf roundcubemail-1.3.0-complete.tar.gz && rm -f roundcubemail-1.3.0-complete.tar.gz +tar xvf roundcubemail-1.3.3-complete.tar.gz && rm -f roundcubemail-1.3.3-complete.tar.gz 
-cd roundcubemail-1.3.0+ln -s roundcubemail-1.3.3 roundcube 
 +cd roundcube
 mysql -h dbhost -u roundcubemail -p roundcubemail < SQL/mysql.initial.sql mysql -h dbhost -u roundcubemail -p roundcubemail < SQL/mysql.initial.sql
 </code> </code>
-===== Agendav plugin =====+===== AgenDAV plugin =====
   * First, you need to create a database. Here we created a mysql database named agendav, hosted on "dbhost" and owned by user agendav.   * First, you need to create a database. Here we created a mysql database named agendav, hosted on "dbhost" and owned by user agendav.
-  * Install agendav plugin:+  * Install AgenDAV plugin:
 <code bash> <code bash>
-cd plugins+cd roundcube/plugins
 git clone https://github.com/stephanblanke/roundcube-agendav.git agendav git clone https://github.com/stephanblanke/roundcube-agendav.git agendav
 curl -L -O https://github.com/adobo/agendav/archive/1.2.6.2.tar.gz curl -L -O https://github.com/adobo/agendav/archive/1.2.6.2.tar.gz
Line 142: Line 146:
 </code> </code>
  
 +  * If using classic skin, replace the strange "interrogation mark" button by a prettier one:
 +
 +<code bash>
 +mv plugins/agendav/skins/classic/agendav.gif plugins/agendav/skins/classic/agendav.old.gif 
 +curl -o plugins/agendav/skins/classic/agendav.gif https://git.kolab.org/file/data/kamnlpzz2fmtbgygywso/PHID-FILE-2ozl7pm2enflqcndiowh/calendar.gif
 +</code>
 ==== PHP7 ==== ==== PHP7 ====
-<note important>If using php7, you need to patch agendav</note>+<note important>If using php7, you need to patch agendav 1.2.6.2</note> 
    * plugins/agendav/agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_driver.php    * plugins/agendav/agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_driver.php
 +
 <code diff> <code diff>
---- agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_driver.php  2012-10-15 09:54:01.000000000 +0200 +--- agendav-1.2.6.2.old/web/system/database/drivers/mysql/mysql_driver.php  2012-10-15 09:54:01.000000000 +0200 
-+++ /home/www/roundcube/plugins/agendav/agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_driver.php      2017-07-09 16:18:32.673770000 +0200++++ agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_driver.php      2017-07-09 16:18:32.673770000 +0200
 @@ -88,7 +88,7 @@ @@ -88,7 +88,7 @@
                         $this->hostname .= ':'.$this->port;                         $this->hostname .= ':'.$this->port;
Line 315: Line 327:
 +/* Location: ./system/database/drivers/mysql/mysql_driver.php */ +/* Location: ./system/database/drivers/mysql/mysql_driver.php */
 </code> </code>
 +
    * plugins/agendav/agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_result.php    * plugins/agendav/agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_result.php
-<code> + 
---- agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_result.php  2012-10-15 09:54:01.000000000 +0200 +<code diff
-+++ /home/www/roundcube/plugins/agendav/agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_result.php      2017-07-09 18:06:06.572461000 +0200+--- agendav-1.2.6.2.old/web/system/database/drivers/mysql/mysql_result.php  2012-10-15 09:54:01.000000000 +0200 
 ++++ agendav-1.2.6.2/web/system/database/drivers/mysql/mysql_result.php      2017-07-09 18:06:06.572461000 +0200
 @@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
          */          */
Line 364: Line 378:
 ===== Carddav plugin ===== ===== Carddav plugin =====
 <code bash> <code bash>
 +cd roundcube
 curl -s http://getcomposer.org/installer | php curl -s http://getcomposer.org/installer | php
 php composer.phar require roundcube/carddav php composer.phar require roundcube/carddav