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
Last revisionBoth sides next revision
public:groupware_toaster [2017/07/13 07:23] – [Roundcube] Nicopublic:groupware_toaster [2023/06/11 01:27] – [PHP7] formating fix 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 
-ln -s roundcubemail-1.3.roundcube+ln -s roundcubemail-1.3.roundcube
 cd 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 143: 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 316: Line 326:
 +/* 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 @@
          */          */