Menü Schließen

Kopano Groupware Community Editon – Konfiguration Server – Quota – Suche – WebApp

Kopano - Logo

Nachdem ich zuvor die Installation der Groupware Kopano in der Community Edition auf einem Debian Jessie installiert habe: Kopano Groupware Community Edition – Installation Geht es nun im nächsten Schritt um die Konfiguration des Servers. Grundlegend ist Kopano nach der Installation gut vorkonfiguriert, muss jedoch auf das eigene System angepasst werden.

Nachfolgend meine Notizen die ich mir beim durchhangel der guten Doku gemacht habe. Die Doku ist unter: https://documentation.kopano.io/ zu finden.

Es gibt verschiedene Möglichkeiten der Authentifizierung eines Benutzers an Kopano, dies passiert über folgende Plugins darunter:

  • MySQL
  • Unix Authentication
  • LDAP
  • Active Directory

Je nachdem welchen Weg man wählt stehen folgende Möglichkeiten zur Verfügung:

Feature DB Unix LDAP LDAPMS
Create/delete/ modify users yes yes yes yes
Set aliases On MTA level On MTA level yes yes
Hide users yes yes
Sendas permissions yes yes yes yes
Sendas permissions of groups yes yes
Security Groups yes yes yes yes
Distribution groups yes yes
Hide groups yes yes
Dynamic groups yes yes
Contacts support yes yes
Multi-tenancy support yes yes yes
Addresslists support yes yes
Multi-server support yes

Ich werde nachfolgend die Authentifizierung über MySQL konfigurieren. Die Konfiguration erfolgt unter Debian unter /etc/kopano wo sich diverse Konfigurationsdateien befinden:

  • backup.cfg
  • dagent.cfg
  • gateway.cfg
  • ical.cfg
  • migration-pst.cfg
  • monitor.cfg
  • presence.cfg
  • quotamail
  • search.cfg
  • server.cfg
  • spooler.cfg
  • unix.cfg
  • webmeetings.cfg

Info zur Konfiguration unter z.B. man kopano-server.cfg.

Kopano Server konfiguration

erfolgt unter /etc/kopano/server.cfg

Log aktivieren und Loglevel einstellen:

  • log_method = file
  • log_file = /var/log/kopano/server.log
  • log_level = 3 #(warn)

Kopano Server und MySQL konfigurieren

Anlegen des User „kopano“ mit dem Passwort „password“:

  • # mysql -uroot -p
  • # GRANT ALL PRIVILEGES ON kopano.* TO ‚kopano’@’localhost‘ IDENTIFIED BY ‚kopano‘;

Festlegen der Rechte für den Datenbankbenutzer kopano:

  • # GRANT ALTER, CREATE, CREATE ROUTINE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, \
    SELECT, UPDATE ON kopano.* TO ‚kopano’@’localhost‘ IDENTIFIED BY ‚password‘;

Nun muss der Server für MySQL konfiguriert werden. Dafür die /etc/kopano/server.cfg anpassen.

  • mysql_host = localhost
  • mysql_port =3306
  • mysql_user = kopano
  • mysql_password = password
  • mysql_socket =
  • mysql_database = kopano
  • attachment_storage = files

Festlegen wo Attachments / Dateianhänge gespeichert werden sollen (Amazon S3 möglich)

  • attachment_storage = files
  • attachment_files_fsync = yes
  • attachment_path = /var/lib/kopano/attachments

Falls „database“ gewählt wurde, kann mittels Script auch zu „Files“ konvertiert werden, aber nicht umgekehrt.

Vor- und Nachteile die Dateianhänge dateibasiert zu speichern:

Vorteile

  • MySQL muss nicht die großen Binary Blobs in der Datenbank ablegen, read und write Zugriff wird beschleunigt
  • Cache Purges in MySQL werden vermieden

Nachteile

  • nur die Datenbank zu sichern reicht als Backup/Restore Strategie nicht aus, NFS mit locking -o nolock als Mount wird empfohlen

Dann den Kopano Server neustarten: # /etc/init.d/kopano-server restart

Kopano Spooler konfigurieren

Der Spooler ist für den Mailversand sowohl intern als auch nach extern zuständig. Mails die gesendet werden landen in den Postausgang von wo der MTA die Mail versendet. Die Konfiguration erfolgt unter /etc/kopano/spooler.cfg

  • smtp_server = localhost
  • smtp_port = 25
  • server_socket = file:///var/run/kopano/server.sock (selber wie server_pipe_name in der server.cfg)
  • log_method = file
  • log_level = 3 (warn)
  • log_file = /var/log/kopano/spooler.log

Dann den Kopano Spooler neustarten: # /etc/init.d/kopano-spooler restart

Kopano Caldav konfigurieren

Wer Caldav oder iCal zum verbinden des Kalenders mit mobilen Geräten oder Clients nutzen möchte. Ich lasse dies vorerst aus und will später ActiveSync nutzen.

Kopano IMAP / POP3 Gateway konfigurieren

Das Gateway wird benötigt damit der Benutzer über IMAP oder POP3 von einem Mailclient auf Elemente zugreifen kann. Das Gateway selber verbindet sich mittels MAPI mit dem Server. Die Änderungen werden in der gateway.cfg vorgenommen.

  • server_bind = 0.0.0.0 (jede Adresse)
  • server_socket = http://localhost:236/
  • imap_enable = yes
  • imap_port = 143
  • imaps_enable = yes
  • imaps_port = 993
  • imap_only_mailfolders = yes
  • pop3_enable = yes
  • pop3_port = 110
  • pop3s_enable = yes
  • pop3s_port = 995
  • log_method = file
  • log_level = 3 (warn)
  • log_file = /var/log/kopano/gateway.log

Dann das Kopano Gateway neustarten: # /etc/init.d/kopano-gateway restart

Kopano Quota Manager konfigurieren

Benutzer können durch viele E-Mails mit Anhängen und abgelegten Dateien, viel Speicherplatz belegen. Damit dies kontrolliert werden und vor allem koordiniert werden kann, kann in Kopano Quota konfiguriert werden. Dies kann Serverweit in der server.cfg eingestellt werden. Der Kopano Quota-Manager kennt drei Warnstufen, warn, soft und hard quota. Bei jeder erreichten Stufe erhält der Benutzer eine Infomail mit entsprechenden Daten über sein Quota.

  • soft quota = der Benutzer kann keine Mails mehr senden
  • hard quota = der Benutzer kann keine Mails mehr senden und empfangen

, bis er seinen Store reduziert hat. Der Wert in der server.cfg ist in Megabytes.

  • quota_warn = 100
  • quota_soft = 150
  • quota_hard = 200

Quota pro Benutzer einstellen

Quota kann auch über den Befehl „kopano-admin“ für bestimmte Benutzer gesetzt werden. Um z.B. für Max ein Warn Quota von 80Mb, Soft Quota von 90 und ein Hard Limit von 100 zu setzen, sieht der Befehl wie folgt aus:

  • kopano-admin -u max –qo 1 –qw 80 qs 90 –qh 100

Quota Monitoring aktivieren

Das Kopano Monitor  programm überprüft jede Stunde (per Default) welcher Benutzer sein Quota erreicht hat und sendet entsprechende Benachrichtigungen. Damit der Monitor funktioniert muss er gestartet werden: # /etc/init.d/kopano-monitor start oder als Daemon mit: # kopano-monitor -c /etc/kopano/monitor.cfg

Quota Templates anpassen

Die Templates sind per Default unter /etc/kopano/quotamail gespeichert. Sie könnem mit folgenden Optionen spezifiziert werden:

  • userquota_warning_template
  • companyquota_warning_template

Die Templates beinhalten bestimmte Variablen die wie folgt lauten:

  • KOPANO_QUOTA_NAME = name des Benutzers oder Firma
  • KOPANO_QUOTA_COMPANY = Name der Firma zu der der Benutzer gehört
  • KOPANO_QUOTA_STORE_SIZE =enthält Total Size des Benutzers oder bei einer Firma aller Stores inkl. der Public Stores der Firma
  • KOPANO_QUOTA_WARN_SIZE = Warning Limit des Benutzers oder der Firma
  • enthalten in den Werten sind immer B, KB, MB und GB

Kopano Suchdienst konfigurieren

Die Full-Text-Suche wird vom Kopano Suchserver bereitgestellt. Dieser indexiert kontinuierlich alle Mails. Jeder Kopano-Server Instanz ines Multi-Server Setup benötigt seinen eigenen Search Service. Auch ist es möglich die Indexierung der Anhänge zu aktivieren. Die Einstellung findet in der server.cfg statt:

  • search_enable = yes
  • search_socket = file:///var/run/kopano/search.sock

Starten der Indexierung durch den Searchservice: # /etc/init.d/kopano-search start

Suchdienst konfigurieren

Während der Indexierung wird eine Indexdatei für jeden Store auf Festplatte gespeichert. Der Pfad dieser wird in der search.cfg festgelegt:

  • index_path = /var/lib/kopano/search

Wenn ein Store erneut indexiert werden muss, oder der Pfad sich ändern, muss der Suchdienst zuvor angehalten werden. Damit die Indexierung möglichst schnell läuft kann die Streaming Synchronisation aktiviert werden. Dies erfolgt in der server.cfg:

  • enable_enhanced_ics = yes

Anhänge / Attachments indexieren

Damit auch Anhänge indexiert werden muss in der search.cfg folgende Option aktiviert werden:

  • index_attachments = yes

Dabei werden die Anhänge in Plaintext umgewandelt und indexiert. Je nach Größe des Anhangs kann es länger oder kürzer sein. Die Größe des zu indexierenden Anhangs kann mit der Option:

  • index_attachment_max_size = 5M

konfiguriert werden. Damit dieser Prozess läuft muss ein bestimmtes Script bereitgestellt werden. Der Pfad dahin ist unter der Option:

  • index_attachment_parser = /etc/kopano/searchscripts/attachments_parser

einzustellen. Das Script nutzt dann die Datei attachments_parser.db um zu entscheiden welche Anhänge indexiert werden. Das Layout sieht wie folgt aus:

  • <mime-type>;<extension> ‚<command>

Kopano WebApp konfigurieren

Auch die WebApp kann mittels /etc/kopano/webapp/config.php konfiguriert und angepasst werden. So kann die Default-Sprache oder Anzahl an zur Auswahl stehenden Sprachen festgelegt werden, oder auch bestimmte Plugins deaktiviert werden.

Kopano Z-Push (ActiveSync) Konfiguration

Z-Push ist ein unabhängiges und eigenständiges Projekt unter http://z-push.org. Z-Push emuliert die ActiveSync Funktionalität von Microsoft Exchange Server. Als Voraussetzung muss Z-Push auf dem Server installiert werden. Z-Push kann mit folgenden mobilen Endgeräten verwendet werden:

  • Apple iPhone und iPad
  • Windows Phone 7, 7.5 und 8
  • Android Smartphones mit Version 4.x und neuer
  • Blackberry PlayBook und 10 mit ActiveSync
  • und andere ActiveSync kompatiblen Geräte

Damit die Sicherheit beim Transfer zwischen Kopano Server und Z-Push Gerät eingehalten wird, muss der SSL Support auf dem Web-Server aktiviert und konfiguriert werden. Die mobilen Geräte funktionieren meist nur mit offiziellen Zertifikaten und nicht mit selbstsignierten, unter Windows kann es sein, dass das Zertifikat direkt im Gerät importiert werden muss.

Z-Push Installation

Läuft nur auf PHP 5.4 und neuer, sowie ab

  • Debian 7.0
  • Ubuntu 14.04
  • RHEL/CentOS 6
  • Fedora 23
  • OpenSuse 13.2
  • SLES 12

Installation

  • Verzeichnis erstellen: # mkdir -p /usr/share/z-push
  • Download der letzten Version (2.3.4) : # wget http://download.z-push.org/final/2.3/z-push-2.3.4.tar.gz
  • entpacken: # tar -vxf z-push-2.3.4.tar.gz –strip-components=1

Z-Push speichert je Benutzer in ein Verzeichnis den Status und die Logs. Das „state“ und „log“ Verzeichnis muss existieren.

Berechtigungen für Z-Push festlegen

Da Z-Push über den Webserver (Apache) läuft muss der der Besitzer sein.

  • # mkdir -p /var/lib/z-push
  • # mkdir -p /var/log/z-push
  • # chmod 755 /var/lib/z-push
  • # chmod 755 /var/log/z-push
  • # chown www-data www-data /var/lib/z-push
  • # chown www-data www-data /var/log/z-push

Apache für ActiveSync konfigurieren

Damit Z-Push über den Alias „Microsoft-Server-ActiveSync“ erreichbar ist, wird ein Alias im Apache2 erstellt:

  • # touch /etc/apache2/sites-available/z-push.conf

Der Inhalt sieht wie folgt aus:

  • Alias /Microsoft-Server-ActiveSync /usr/share/z-push/index.php

aktivieren und Webserver neu laden:

  • # a2ensite z-push
  • # service apache2 reload

Z-Push alle Features nutzen

Damit alle Funktionen von Z-Push und dem z-push-top Befehl genutzt werden können, müssen diese weiteren PHP-Pakete installiert werden:

  • Red Hat Enterprise Linux*
    • php-cli php-soap php-process
  • SLES**
    • php53 php53-soap php53-pcntl php53-sysvshm php53-sysvsem php53-posix
  • Debian and Ubuntu
    • # aptitude install php5-cli php-soap
    • # service apache2 reload

Z-Push PHP Einstellungen

Folgende Einstellungen sollten in der php.ini oder .htaccess für Z-Push min. konfiguriert werden:

  • php_flag magic_quotes_gpc = off
  • php_flag register_globals = off
  • php_flag magic_quotes_runtime = off
  • php_flag short_open_tag = on

Sowei folgende Apache Direktiven:

<Directory /usr/share/z-push>
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
</Directory>

Z-Push aktivieren

Start von Z-Push mittels:

  • ./z-push-top.php
  • und / oder
  • ./z-push-admin.php

sowie setzen der symbolischen Links

  • # 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

Damit können die Z-Push Tools von jedem Verzeichnis und ohne die .php Eerweiterung ausgeführt werden.

Kopano Mobile Device Managment

Benutzer können das MDM Web-Plugin von Kopano zum verwalten ihrer Geräte verwenden. Damit können Sie ihr Gerät löschen. Aber auch Administratoren können mittels Befehl z-push-admin remote Geräte löschen / wipen.

4 Kommentare

  1. SH

    Ich setze Zarafa+Yaffas//Kopano schon seit 2012 ein aber ich will hier einfach nur mal danke sagen für die Anleitung! Denn die Installation und Einrichtung ist das eine aber noch das alles zu dokumentieren und zu veröffentlichen ist auch Arbeit!

  2. Lars Sill

    Gerade im deutschsprachigen Raum vielleicht interessant:

    Bei diversen Debian Installationen, war es notwendig die „locales“ zu konfigurieren.

    dpkg-reconfigure locales (de_DE.UTF-8)

    Anschließend wird die Datei
    /etc/default/kopano noch angepasst:

    #Common defaults for all daemons
    KOPANO_LOCALE=“C“
    ändern in:
    KOPANO_LOCALE=“de_DE.UTF-8″

    Ebenfalls zu ändern ist folgende Zeile, um die Ordneransicht in deutscher Sprache auszugeben („Posteingang“ anstelle von „Inbox“ usw.)

    # Locale to export to userscripts
    KOPANO_USERSCRIPT_LOCALE=“de_DE.UTF-8″

    Neue Datenspeicher (s.g. Stores) werden nun in deutscher Sprache angelegt.
    (Sollte im Falle des Falles vor dem Anlegen von Benutzern passieren – da dies nicht nachträglich auf bestehende Stores angewendet werden kann.

    Sollte es in der Web-/Deskapp zur fehlerhaften Ausgabe von Sonderzeichen kommen, so hilft ein Blick in die Datei

    /etc/apache2/envvars

    Hier einfach die folgenden Zeilen

    ##The locale used by some modules like mod_dav
    export LANG=C
    ## Uncomment the following line to use the system defa$
    #. /etc/default/locale

    Ändern in :

    The locale used by some modules like mod_dav
    export LANG=de_DE.UTF-8
    ## Uncomment the following line to use the system defa$
    . /etc/default/locale

    Im Anschluss den Apache Server Neustarten und der deutschen Sprache sollte nichts mehr im Wege stehen.

    Natürlich kann ich keine Garantie für die Korrektheit und Vollständigkeit der Angaben geben – jedoch läuft es bei mir so.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert