23.05.2020

Kopano

Open Xchange
SOGo
Kopano
Zarafa
Kerio Connect
sonstiges

Links zu den Projekten

Zimbra, Zimbra Wiki
Axigen
DOCUframe
OpenGroupware
SmarterMail
Community Projekt Tine.org
Kolab Community, Kolab Enterprise ausprobieren

Groupware Migration

audriga Groupware Migration

Navigation:

Links:
Kopano Community
Kopano Community Version
Kopano Dokumentation
Installation: Kopano
Kopano Tuning
Youtube Video Kopano von den Kieler Linux Tage 2016
Debian Wiki Kopano
Procmail FAQs
Procmail Beispiele

Seitenanfang

Installation

unter Debian 9.0 muß als erstes MySQL, Postfix und Apache installiert werden

apt-get install mysql-server postfix postfix-mysql apache2-mpm-prefork
Pakete Beschreibung
core Basis für alle anderen Komponenten
webapp komplett ausgestattete Web-GUI a la Outlook Web Access
files Einbindung diverser Cloud-Dienste. Beispielsweise: Owncloud/Nextcloud
webmeetings  
deskapp Vollwertiger Desktop-Mailclient auf Basis eines modifizierten Chromium Browsers! –> Senden an… funktioniert! –> kein Outlook mehr!
mdm Mobile Device Management

- Installation Core

wget https://download.kopano.io/community/core:/core-8.4.90.177_0%2B42-Debian_9.0-i386.tar.gz
tar xvzf core-8.4.90.177_0+42-Debian_9.0-amd64.tar.gz
cd core-8.4.90.177_0+42-Debian_9.0-amd64
dpkg -i *.deb

- Installation WebAPP

wget https://download.kopano.io/community/webapp:/webapp-3.4.0.836_0%2B550-Debian_9.0-all.tar.gz
tar xvzf webapp-3.4.0.836_0+550-Debian_9.0-all.tar.gz
cd webapp-3.4.0.836_0+550-Debian_9.0-all
dpkg -i *.deb
apt install -f

- prüfen ob Apache Prozess läuft

systemctl status apache2.service

- prüfen, ob der Apache beim Systemstart mit gestartet wird.

systemctl is-enabled apache2.service

- Status aller Prozesse prüfen

systemctl list-units kopano*

- Locale für Kopano anpassen

# /etc/default/locale
LC_ALL="de_DE.UTF-8"
LANG="de_DE.UTF-8"
update-locale

- (Optional) Apache Proxy Modul aktivieren

a2enmod proxy
systemctl restart apache2.service
# /apache2/mods-enabled/proxy.conf
<IfModule mod_proxy.c>
 ProxyPass /kopano http://127.0.0.1:236/
 ProxyPassReverse /kopano http://127.0.0.1:236/
</IfModule>

- Anpassung bevor der erste Benutzer angelegt wird.

# /etc/default/kopano
KOPANO_LOCALE="de_DE.UTF-8"
KOPANO_USERSCRIPT_LOCALE="de_DE.UTF-8"
# /etc/apache2/envvars
export LANG="de_DE.UTF-8"

 

Seitenanfang

Grundkonfiguration

Configure KC Components
Special KC Configurations

Log Dateien von Kopano im Ordner /var/log/kopano

LOG Datei
dagent.log  
gateway.log POP3/IMAP
ical.log Ical/CalDAV
monitor.log Quota Check
presence.log  
search.log Kopano Suche
server.log Kopano Server
spooler.log SMTP Server
Konfiguration
/etc/kopano/ Kopano Konfigurationsverzeichnis
Prozess Konfigurationsdatei Beschreibung
kopano-server /etc/kopano/server.cfg Hauptserver, wird über SOAP angesprochen, speichert Daten in der MySQL-Datenbank
kopano-spooler /etc/kopano/spooler.cfg leitet ausgehende Mails an den MTA weiter
kopano-monitor /etc/kopano/monitor.cfg überwacht Stündlich die Quota-Einstellungen (optional) und verschickt eMail bei Annäherung oder Überschreitung
kopano-gateway /etc/kopano/gateway.cfg POP3- und IMAP-Schnittstelle (optional)
kopano-ical /etc/kopano/ical.cfg Ical- und CardDAV-Schnittstelle (optional)
kopano-indexer /etc/kopano/indexer.cfg gespeicherte Mails für Volltextsuchen indexiert (optional)
kopano-dagent /etc/kopano/dagent.cfg leitet eingehende Mail vom externen MTA zu Kopano (standardmäßig nicht aktiv)

Login WebApp (default) https://domain.tld/webapp/

- Anbindung des Kopano-Servers an MySQL/MariaDB Datenbank

# /etc/kopano/server.cfg
...
mysql_user              =
mysql_password          =
mysql_database          = kopano
attachment_storage      = database
...

- Features global aktivieren/deaktivieren

# /etc/kopano/server.cfg
...
disabled_features = imap pop3
...

- SSL aktivieren, am Beispiel von Let’s-Encrypt, CA Zertifikate und die server.pem muss mit cat /etc/letsencrypt/live/<domain.tld>/cert.pem /etc/letsencrypt/live/<domain.tld>/privkey.pem > /etc/letsencrypt/live/<domain.tld>/server.pem zusammen kopiert werden und im Ordner /etc/letsencrypt/archive/<domain.tld>/ abgelegt werden.

Let’s Encrypt Authority X3 (IdenTrust cross-signed)
Let’s Encrypt Authority X3 (Signed by ISRG Root X1)

# /etc/kopano/server.cfg
...
server_ssl_enabled	= yes
server_ssl_port         = 237
server_ssl_key_file     = /etc/letsencrypt/live/<domain.tld>/server.pem
server_ssl_key_file     = /etc/letsencrypt/archive/<domain.tld>/ca-x3-cross.pem
server_ssl_protocols	=
server_ssl_ciphers	= ALL:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL
...

- Konfiguration des Gateways anpassen

# /etc/kopano/gateway.cfg
ssl_private_key_file = /etc/letsencrypt/live/<domain.tld>/privkey.pem
ssl_certificate_file = /etc/letsencrypt/live/<domain.tld>/fullchain.pem

- Service neu starten

systemctl restart kopano-server.service
systemctl restart kopano-ical.service
systemctl restart kopano-gateway.service

- Login Format, %u - Username, %c - CompanyName

# /etc/kopano/server.cfg
...
loginname_format = %u
...
%u		john
%u@%c		john@exampleorg
\\%c\%u		\exampleorg\john

- Status des Servers prüfen

systemctl start kopano-server
systemctl status kopano-server

 

Seitenanfang

Befehle

DOC User Management

Befehl Erklärung
Zentrales Management
kopano-admin -V Version des Servers anzeigen
kopano-admin -s Public Store erstellen
systemctl start kopano-server Kopan Server starten
kopano-admin --force-resync User Resync Cache-Mode-Profil
kopano-admin --clear-cache internen Cache löschen
kopano-admin --sync  
System Infos anzeigen
kopano-admin --user-count Benutzer Übersicht
kopano-stats Übersicht über verfügbare Optionen
kopano-stats --system Systemstatistik
kopano-stats --users Userstatistik
User Management
User anlegen
kopano-admin -c <LoginName> -p <Passwort> -e <eMailAdresse> -f "Vor Nachname" neue User anlegen, die Option -f legt auch den Namen fest, der als Absender einer eMail gezeigt wird
kopano-admin -u <Username> -f "Vor Nachname" ändern der Benutzerangaben
kopano-admin -u <Username> -p <neues Passwort> Passwort ändern, nach dem ändern des Passwortes, muß IMAP und POP3 wieder freigegeben werden kopano-admin -u User --enable-feature imap
kopano-admin -u <Username> -U <neuer Benutzername> Login Name ändern (-U) für neuen UserName
kopano-admin --create-store LoginName MailStore erstellen, wird normalerweise automatisch erstellt
kopano-admin -u User --enable-feature imap IMAP für einen Nutzer aktivieren
kopano-admin -u User --enable-feature pop3 POP3 für einen Nutzer aktivieren
kopano-admin -u User --disable-feature pop3 POP3 für einen Nutzer deaktivieren
User löschen
kopano-admin -d Loginname Benutzer löschen
kopano-admin --list-orphans verwaisten Datenpeicher anzeigen, der nach dem löschen eines Users erhalten bleibt. GUID zum löschen des Datenspeichers wird auch ausgegeben
kopano-admin --remove-store <GUID> verwaisten Datenpeicher löschen
User Infos anzeigen
kopano-admin -l zeigt die erstellten User an
kopano-admin -L zeigt die erstellten Gruppen an
kopano-admin --detail <Username>  
User Berechtigung
kopano-admin -u <UserName> --add-sendas <user> Senden Als - Berechtigung einem Nutzer hinzufügen
kopano-admin -u <UserName> --del-sendas <user> Senden Als - Berechtigung beim Nutzer entfernen
kopano-admin --list-sendas <user> anzeigen, welcher Benutzer im Auftrag des angegebenen Benutzers senden kann
Gruppen Management
kopano-admin -g <Gruppenname> Gruppe erstellen
kopano-admin -b <UserName> -i <Gruppenname> den UserName (-b) der Gruppe hinzufügen (-i)
sonstiges
echo test | kopano-dagent -F 'Gelöschte Objekte'KopanoUser Mails direct im Ordner ablegen
http://<Server Name>/webapp Webapp Zugriff
   

Parameter

-c <UserName> - create
-u <UserName> - upgrade
-U <Neuer UserName> -d <UserName> - delete -p <Passwort> -e <eMail> -f <Voller Name> -a <administrator> - 0 oder 1 - wenn 1 gesetzt ist, ist es ein AdminUser

 

Seitenanfang

MySQL / MariaDB

- Zugriff auf SQL Datenbank setzen, für die Datenbank kopano, wird der Zugriff für den User kopano mit dem password eingerichtet. Für "password" sollte ein sinnvoller Wert gesetzt werden. Dadrunter ein Beispiel für restriktive Berechtigung.

mysql -u <SQLAdminName> -p <Passwort>
mysql> GRANT ALL PRIVILEGES ON kopano.* TO 'kopano'@'localhost' IDENTIFIED BY 'password';
GRANT ALTER, CREATE, CREATE ROUTINE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, \
      SELECT, UPDATE ON kopano.* TO 'kopano'@'localhost' IDENTIFIED BY 'password';

- Character_set der MySQL Datenbank prüfen

mysql -u <SQLUserName> -p <Passwort>
mysql> SHOW VARIABLES LIKE "character_set%";

 

 

 

Seitenanfang

PHP5 oder PHP7

- PHP Konfigurationsdateien anzeigen

php -i | grep 'Configuration File'

- Installierte PHP5 Versionen

dpkg --get-selections | grep php5

- PHP7 installieren

apt install php7.0 libapache2-mod-php7.0 php7.0-apcu php7.0-curl \
 php7.0-xml php7.0-zip php7.0-mbstring php7.0-gd php7.0-mysql

-PHP in Apache deaktivieren und PHP7 aktivieren

a2dismod php5
a2enmod php7.0
systemctl reload apache2

- PHP5 entfernen

apt --purge remove libapache2-mod-php5 php5-cli php5-common php5-json php5-readline

- PHP Version im Browser prüfen, eine Datei z.B. phpinfo.php auf dem Webserver mit folgenden Inhalt ablegen.

<!-- phpinfo.php -->
<?php phpinfo(); ?>

 

Seitenanfang

z-Push

z-Push Projekt
Pakete für z-Push

- PHP Komponenten für z-Push

apt install php-cli php-soap

- Sourcen definieren und laden

# /etc/apt/sources.list.d/z-push.list
#
deb http://repo.z-hub.io/z-push:/final/Debian_9.0/ /
wget -qO - http://repo.z-hub.io/z-push:/final/Debian_9.0/Release.key | sudo apt-key add -
apt update
apt install z-push-kopano z-push-config-apache
Befehl / Datei Beschreibung
/var/log/z-push/z-push.log
/var/log/z-push/z-push-error.log
LOG Dateien
/etc/z-push Konfigurationsdateien
z-push-admin -a list zeigt alle Device an
z-push-admin -a remove -d <Device id> ein Device entfernen
z-push-top Desktop Überwachung
ln -s /usr/share/z-push/z-push-admin.php /usr/local/sbin/z-push-admin
ln -s /usr/share/z-push/z-push-top.php /usr/local/sbin/z-push-top

 

 

Seitenanfang

iCal

 

 

 

Seitenanfang

Fehlersuche

Fehlermeldung - beim Anmeldung an der WebAPP

# /var/log/apache2/error.log
Kopano WebApp user: <username>: authentication failure at MAPI, referer: https://<server.domain.tld>/webapp/?logon
# /var/log/kopano/server.log
Authentication by plugin failed for user "<username>": Trying to authenticate failed: wrong username or password

Lösung - der Fehler kann auftreten, wenn ein nicht unterstütztes Zeichen im Passwort ist. z.B. $

ein Test mit testsaslauthd und dem Passwort mit dem nicht unterstützten Zeichen lief ohne Probleme.

# testsaslauthd -u <username> -p <passswort> -f /var/spool/postfix/var/run/saslauthd/mux
0: OK "Success."

Fehlermeldung - in der Kopano Server Log

# /var/log/kopano/server.log
[error  ] SQL [00000472] result failed: BIGINT UNSIGNED value is out of range in 
'(`zarafa`.`properties`.`tag` - 0x8501)', Query: "SELECT 0,properties.tag,properties.type,properties.val_ulong,
properties.val_string,properties.val_binary,properties.val_double,properties.val_longint,properties.val_hi,
properties.val_lo, hierarchyid, names.nameid, names.namestring, names.guid FROM properties FORCE INDEX (PRIMARY) 
LEFT JOIN names ON (properties.tag-0x8501)=names.id WHERE hierarchyid=34 AND 
(tag <= 0x8500 OR names.id IS NOT NULL)"

Lösung:

# /etc/mysql/mariadb.conf.d/60-kopano.cnf
[mysqld]
...
# Anpassung kopano-server
sql_mode = 'STRICT_ALL_TABLES,NO_UNSIGNED_SUBTRACTION'
mysql -u root -p -D zarafa
SELECT @@sql_mode;
# default Eintrag der Datenbank
SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

- prüfen. ob alle Dienst laufen

systemctl list-units kopano*

 

Seitenanfang

sonstiges

eMail maximale Größe einstellen

- max. eMail Größe festlegen

# /etc/postfix/main.cf
# eMail Max. Groesse auf 50MB
message_size_limit = 52428800
...

Größe für die WebAPP setzen

# /etc/kopano/webapp/.htaccess
...
php_value post_max_size 51M
php_value upload_max_filesize 50M

wenn das nicht reicht, in der /etc/php/7.0/apache2/php.ini upload_max_filesize anpassen.

MySQL/MariaDB Einstellungen für Kopano anpassen

# /etc/mysql/mariadb.conf.d/60-kopano.cnf
[mysqld]
innodb_buffer_pool_size = 512M
innodb_log_file_size = 52M
innodb_log_buffer_size = 50M
max_allowed_packet = 50M

# Anpassung kopano-server
sql_mode = 'STRICT_ALL_TABLES,NO_UNSIGNED_SUBTRACTION'

Wenn der Wert für innodb_log_file_size zu klein ist, kommt die folgende Fehlermeldung.

/var/log/mysql/mysql.err.log
[ERROR] InnoDB: The total blob data length (392448) is greater than 10% of the total redo log size (2097152). Please increase total redo log size.

Nach Änderung des Wertes innodb_log_file_size müssen die LogFiles gelöscht werden.

systemctl stop kopano-server.service
systemctl stop mariadb
rm /var/lib/mysql/ib_logfile0
rm /var/lib/mysql/ib_logfile1
systemctl start mariadb
systemctl start kopano-server.service

Empfehlung

innodb_buffer_pool_size - 50% vom Arbeitsspeicher max. 4096M

innodb_buffer_pool_size = 4096M

innodb_log_file_size - 25% von innodb_buffer_pool_size

innodb_log_file_size = 1024M