Kopano Tutorial zur Installation auf Debian 11 (Bullseye). Die Open-Source-Anwendungssuite für Mailserver und Groupware erlaubt größtmögliche Kontrolle über die Daten. Die Dienste decken den Großteil der Kommunikationsbedürfnisse in einem Unternehmen ab. Ein Kopano Server ist eine Alternative zu den Angeboten, die als Cloud-Dienste unter der Kontrolle der Anbieter laufen.
Kopano Core Installation | ![]() |
Zur Durchführung der Installation ist ein Kopano Subscription Key erforderlich.
Kopano Core Installation
KC wird in diesem Tutorial auf Debian 11 (Bullseye) installiert, durch Provisionierung aus dem Kopano Repository, zusammen mit der WebApp und Z-Push für Apache2, mit Fertigstellung in weniger als 10 Minuten, je nach Performance des Rechners und Download Speed. Zu Beginn folgt das Hinzufügen des KC-Repository, hierzu ein Kopano Subscription Key (serial) benötigt wird.
Die im Beitrag gezeigten Kommandos werden als root („su -“) in der Konsole ausgeführt, viele verwenden auch sudo, die Befehle können mit sudo abgearbeitet werden, oder unter Ubuntu ebenfalls mit („sudo su -“) root werden, hier einfach die gewünschte Methode wählen.
Als Vorbereitung werden folgende Pakete aus dem Debian Standard Repository auf dem Server bereitgestellt.
$ apt update
$ apt install -y gnupg2 wget apt-transport-https
Debian 11 verwendet apt_auth.conf für die Einbettung von Anmeldeinformationen, die für die Verbindung und zum Herunterladen von Daten aus einem Repository benötigt werden.
Die APT Anmeldeinformationen zum Kopano Repository hinzufügen in/etc/apt/auth.conf.d/kopano.conf
$ echo "machine download.kopano.io/supported/core:/final/Debian_11/ login serial password XXXXXXXXXXXXXXXXXXXXXXXXX" | tee /etc/apt/auth.conf.d/kopano.conf
Anstelle des Platzhalters („XXX“) den 25-stelligen Serial Key einfügen.
Hinzufügen des Repository zum Final Release von Kopano Core.
$ echo "deb https://download.kopano.io/supported/core:/final/Debian_11/ ./" | tee /etc/apt/sources.list.d/kopano.list
Die Datei befindet sich unter/etc/apt/sources.list.d/kopano.list
Die Repository PGP-Signatur zu Trusted Keys hinzufügen (Debian 11).
$ wget -O- https://serial:XXXXXXXXXXXXXXXXXXXXXXXXX@download.kopano.io/supported/core:/final/Debian_11/Release.key | tee /etc/apt/trusted.gpg.d/KopanoRelease.key > /dev/null 2>&1
Anstelle des Platzhalters („XXX“) den 25-stelligen Serial Key einfügen.
Den Public Key zu trusted.gpg.d keyring hinzufügen.
$ apt-key add /etc/apt/trusted.gpg.d/KopanoRelease.key
$ gpg2 --import /etc/apt/trusted.gpg.d/KopanoRelease.key
Das neu hinzugefügte Repository aktivieren.
$ apt update
Der Server ist nun vorbereitet und die Bereitstellung wird fortgeführt mit der Installation von MariaDB und dem Kopano Server.
$ apt install -y mariadb-server kopano-*
Ein SQL-Datenbank Benutzer für den Kopano Store erstellen. Die Kopano Datenbank selbst wurde durch das Installationsskript erstellt.
$ mysql
CREATE USER 'kopano'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON kopano.* TO 'kopano'@'localhost';
quit
Anstelle von password ein sicheres Passwort verwenden.
Die Konfiguration für den Kopano Server anpassen.
Falls unter/etc/kopano
keine Dateien vorliegen, dann die .cfg-Dateien in/usr/share/doc/kopano/example-config
kopieren.
$ gzip -d -f --keep /usr/share/doc/kopano/example-config/*.cfg.gz & \cp /usr/share/doc/kopano/example-config/*.cfg /etc/kopano
Die Beispiel Konfigurationsdateien (.cfg) entpacken und kopieren.
Hinweis: um den Alias ‚cp -i‘ zu umgehen verwende ich den nicht aliasierten cp, indem ich den Prefix \ voranstelle, wenn das nicht funktioniert! führe zuerst den Befehl unalias cp
aus, anstelle von \cp.
Die Kopano Server Konfiguration editieren/etc/kopano/server.cfg
Vorerst wird nur der Benutzer für Kopano Admin, die Ausführung und den Datenbankzugriff geändert.
local_admin_users = root kopano
run_as_user = kopano
run_as_group = kopano
mysql_user = kopano
mysql_password = password
Das Passwort dieses für den Datenbank Benutzer eingegeben wurde.
Der Kopano Server kann jetzt gestartet werden.
$ systemctl start kopano-server
Nun vergewissern wir uns über den Status der Kopano Dienste.
$ systemctl status kopano-*
Wann bis hierher alles klappte, erscheint die folgende Ausgabe.

Die Konfiguration des Kopano Servers in diesem Tutorial basiert auf dem Datenbank-Backend, dabei muss nichts geändert werden, da das Datenbank user_plugin bereits der Standardwert ist. Daneben gibt es zur besseren Verwaltung das LDAP Plugin („user_plugin=ldap“) für die Integration von OpenLDAP, Active Directory und Samba, dazu hier nicht weiter eingegangen wird.
Für die Verwaltung der Kopano Groupware ein Admin Account erstellen.
$ kopano-cli --create -u kadmin --fullname "Kopano Admin" --password P@ssw0rd! --email admin@example.org
Kopano WebApp Installation
Die WebApp ist das Front-end der Kopano Groupware, welche wie die meisten CMS auf dem LAMP-Stack (Apache, MySQL, PHP) basiert. Für Debian 11 wird der Apache2 Webserver und standardmässig PHP 7.4 („libapache2-mod-php“) aus dem Debian Standard Repository installiert.
$ apt install -y apache2 php php-common
Wird mit Debian oder Ubuntu eine Neuinstallation des Servers gewählt, was die empfohlene Bereitstellungsmethode für eine KC-Installation ist, kann mit taskel
einfach der gesamte LAMP-Stack (Apache, MySQL, PHP) installiert werden. Dadurch alle Pakete bereitgestellt werden, die für den erfolgreichen Abschluss des Kopano-Installationsskripts erforderlich sind.
Nun muss ein weiteres Kopano WebApp Repository hinzugefügt werden in/etc/apt/sources.list.d/kopano.list
$ echo "deb https://download.kopano.io/supported/webapp:/final/Debian_11/ ./" | tee -a /etc/apt/sources.list.d/kopano.list
Die Anmeldeinformationen für APT hinzufügen (anhängen) in/etc/apt/auth.conf.d/kopano.conf
$ echo "machine download.kopano.io/supported/webapp:/final/Debian_11/ login serial password XXXXXXXXXXXXXXXXXXXXXXXXX" | tee -a /etc/apt/auth.conf.d/kopano.conf
Die dazugehörende PGP-Signatur zu den Trusted Keys hinzufügen.
$ wget -O- https://serial:XXXXXXXXXXXXXXXXXXXXXXXXX@download.kopano.io/supported/webapp:/final/Debian_11/Release.key | tee /etc/apt/trusted.gpg.d/WebAppRelease.key > /dev/null 2>&1
Das neu hinzugefügte Repository aktivieren.
$ apt update
Jetzt wird die Kopano WebApp aus dem Repository installiert.
$ apt install -y kopano-webapp
Die Kopano WebApp-Site aktivieren und Apache2 neu laden.
$ a2ensite kopano-webapp
$ systemctl reload apache2
Da sichere Cookies ab WebApp 3.4.0 standardmäßig aktiviert sind, bedeutet dies, dass man ohne SSL-Zertifikate nicht auf die WebApp zugreifen kann. Dies kann deaktiviert werden, indem unsichere Cookies aktiviert werden in/etc/kopano/webapp/config.php
define("SECURE_COOKIES", false);
Die änderung von true auf false ungefähr bei Zeile 44 editieren.
Sicherstellen dass der Webserver beim Systemstart aktiviert ist.
$ phpenmod kopano
$ systemctl enable apache2
$ systemctl reload apache2
Öffne in einem Broweser die URL zur WebApp-Anmeldeseite, zum Beispiel http://kopano.example.org/webapp/

Z-Push Installation
Bei Z-Push handelt sich um eine Implementierung des ActiveSync-Protokolls von Microsoft, das drahtlos für ActiveSync-fähige Geräte mit mehreren Plattformen verwendet, darunter Apple iPhone und iPad und Android Geräte. Mit Open Source Z-Push kann jedes PHP-basierte Groupware-Paket vollständig mit jedem ActiveSync-kompatiblen Gerät synchronisiert werden.
Die Provisionierung von Z-Push erfolgt wieder aus dem Repository.
$ echo "deb https://download.kopano.io/zhub/z-push:/final/Debian_11/ ./" | tee /etc/apt/sources.list.d/z-push.list
Die dazugehörende PGP-Signatur zu den Trusted Keys hinzufügen.
$ wget -O- https://download.kopano.io/zhub/z-push:/final/Debian_11/Release.key > /etc/apt/trusted.gpg.d/z-push.key
Das neu hinzugefügte Repository aktivieren.
$ apt update
Z-Push kann nun auf dem Server bereitgestellt werden.
$ apt install -y z-push-kopano z-push-config-apache
Um Z-Push zu aktivieren muss der Webserver neu geladen werden.
$ systemctl reload apache2
Z-Push ist jetzt installiert und ist unter/usr/share/z-push
zu finden. Die Konfigurationsdatei liegt in/etc/z-push/z-push.conf.php
hier keine änderungen gemacht werden müssen.
Überprüfen lässt sich die Z-Push mit öffnen der URL in einem Browser.
http://kopano.example.org/Microsoft-Server-ActiveSync
Wenn alles klappte wird man zur Anmeldung aufgefordert, hier mit dem zuvor erstellten Benutzer („kadmin“) anmelden, es erscheint die Z-Push ActiveSync Seite.

Kopano und Postfix Mail Transport Agent
Kopano Core enthält keinen eigenen MTA, kann aber mit allen etablierten MTAs integriert werden, die in modernen Linux-Distributionen zu finden sind. Obwohl KC die meisten Linux-MTAs unterstützt, wird die Verwendung von Postfix empfohlen.
Um eine E-Mail an das Postfach eines Benutzers zuzustellen, wird der kopano-dagent ausgeführt. Nachrichten werden über das LMTP-Protokoll an kopano-dagent übergeben. Die Verwendung von LMTP ist die empfohlene Bereitstellungsmethode, da dies den Single Instance Attachment Storage ermöglicht.
Die Bereitstellung von Postfix mit Integration zu Kopano Core wie folgt.
$ apt install -y postfix postfix-mysql
Bei der Installation wird man aufgefordert einen Hostnamen für die Postfix-Konfiguration einzugeben, zum Beispiel: kopano.example.org.
Die Postfix-Hauptkonfiguration hinzufügen in/etc/postfix/main.cf
myhostname = kopano.example.org
mydestination = localhost
# relayhost if relaying via a smarthost
relayhost = 172.31.245.70
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 172.31.245.70
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf
virtual_transport = lmtp:127.0.0.1:2003
virtual_mailbox_domains = example.org
smtpd_recipient_restrictions = permit_mynetworks,
reject_non_fqdn_recipient,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_unknown_client,
reject_unknown_hostname,
reject_invalid_hostname,
reject_unauth_pipelining,
reject_unauth_destination,
reject_unverified_recipient,
permit
Um die Abfrage der Email Adresse bei eingehenden Emails zu ermöglichen wird im nächsten Schritt erneut das Passwort benötigt.
Erstelle zusätzlich eine Datei/etc/postfix/mysql-users.cf
$ echo "user = kopano
password = password
hosts = 127.0.0.1
dbname = kopano
query = SELECT value FROM objectproperty where propname = 'emailaddress' and value = '%s';" > /etc/postfix/mysql-users.cf
Gemäß einem Kopano-Server in einer Multi-Tenancy-Umgebung wird hier das Anmeldenamenformat „%u@%c“ (%u Benutzername, %c Mandantenname) verwendet, für die Anmeldung mit E-Mail-Adressen als Benutzernamen.
Zuletzt noch die Zugriffsrechte einschränken und aus virtual die Berkeley-DB erzeugen.
$ chmod 600 /etc/postfix/mysql-users.cf
$ touch /etc/postfix/virtual
$ postmap /etc/postfix/virtual
$ systemctl restart postfix
Bei eingehenden E-Mails prüft nun Postfix virtual_mailbox_maps per SQL-Abfrage, ob der Empfänger (Benutzer) im Store existiert. Darüber hinaus ist es auch möglich über LDAP mit Postfix zu interagieren, was in diesem Tutorial jedoch nicht behandelt wird.
Fazit
Der Kopano-Server ist jetzt Funktionsbereit, für die Verwendung von Desktop- und mobile Endgeräte die genutzt werden können. Eine weitere Vielzahl von Anwendungen und Plugins können weiter bereitgestellt werden. Die Infrastrukturintegration für Active Directory oder Samba und OpenLDAP können weitere Schritte sein.