Vorwort:
Anknüpfen an das alte manuelle HowTo für Kopano unter Debian 9 gibt es nun eine Update in Form von Debian 10 und einer Installation mittels Paketmanager.
Voraussetzungen:
Installiertes und lauffähiges Debian 10
Es ist nicht notwendig weitere externe Repositories zu ergänzen, da Kopano bereits im Debian Repo mit enthalten ist. Dank der Pakete kommen die meisten (nicht alle) Abhängigkeiten automatisch mit und man muss nicht mehr manuell auf eine gewisse Reihenfolge achten.
Die Installation:
Sicherheitshalber Updates installieren, sofern vorhanden
root@mail:~# apt-get update & apt-get dist-upgrade -V
Installation Kopano Pakete als Basis. Alle notwendigen Abhängigkeiten werden installiert. Man kann auch statt dem Nginx alternativ Apache oder Lighthttpd verwenden.
root@mail2:~# apt-get install kopano-core kopano-webapp-nginx
Während der Installation muss man ein Kennwort für den MySQL Server angeben sowie bestätigen:
Im nächsten Schritt wird ein erster Admin-User erstellt. Dank CLI Tools sehr einfach:
root@mail2:~# kopano-admin -c thuerter -p %passwort% -e tim@mail2.huerter.me -f "Tim Huerter" -a1
User created.
Update: Bei einem zweiten Test zwischenzeitlich muss man eine neue SSH Sitzung eröffnen bzw. die Umgebung neuladen, da der Befehl „kopano-admin“ ansonsten mit „command not found“ fehlschlägt.
Die Webseite kann nun per https:%servername% aufgerufen werden. Jedoch wird es einen Fehler beim Login geben in Form von „Unknown MAPI Error: MAPI_E_NOT_FOUND“
Der genannte Fehler resultiert aus einem fehlenden Datenstore für den User.
Prüfen ob ein User einen Store hat:
root@mail2:~# kopano-cli --list-orphans
Stores without users:
Store guid Username Last login Store size Store type
--------------------------------------------------------------------------------------------------------
Users without stores (1):
User Full Name Homeserver
----------------------------------------------------------
thuerter Tim Huerter Unknown
Erstellen eines globalen Stores:
root@mail2:~# kopano-cli --create-store
Erstellen eines User-Stores:
root@mail2:~# kopano-cli --create-store -u thuerter
Erneute Store-Prüfung:
root@mail2:~# kopano-cli --list-orphans
Stores without users:
Store guid Username Last login Store size Store type
--------------------------------------------------------------------------------------------------------
Users without stores (0):
User Full Name Homeserver
----------------------------------------------------------
Update: Die „default“ nginx Konfiguration sollte deaktiviert werden per „rm -f /etc/nginx/sites-enabled/default“, der Nginx sollte per „systemctl restart nginx“ neugestartet werden.
Nun kann man sich unter https://server-name und dem zuvor erstellten User einloggen.
Hinweis: Eine automatisch Weiterleitung von http auf https existiert nicht!
Nun ist Kopano grundinstalliert jedoch nicht nicht nutzbaz, da man weder Mails versenden noch empfangen kann. Hierfür wird ein MTA benötigt.
Installation MTA (Mailserver) in Form von Postfix inklusive MySQL Anbindung
root@mail2:~# apt-get install postfix postfix-mysql
Meine /etc/postfix/main.cf habe ich um folgende Parameter erweitert:
#Kopano Custom
virtual_alias_maps = hash:/etc/postfix/virtual # Aliase/Weiterleitungen für Postfächer
virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf # Auslesen vorhandener Postfächer
virtual_transport = lmtp:127.0.0.1:2003 # Weiterleiten der Mail an Dagent für die Zustellung an das Postfach
virtual_mailbox_domains = mail2.huerter.me # Berechtigte Empfangs-Domains
smtpd_recipient_restrictions = permit_mynetworks,
reject_non_fqdn_recipient,
reject_non_fqdn_hostname,
reject_invalid_hostname,
reject_non_fqdn_recipient,
reject_non_fqdn_sender,
reject_unauth_pipelining,
reject_unverified_recipient
Inhalt „/etc/postfix/virtual“ für Weiterleitungen:
#ALIAS E-MAIL
kontakt@mail2.huerter.me tim@mail2.huerter.me
Damit Postfix sich auch verbinden zum Auslesenn der Benutzer, erstellen wir noch die passende MySQL-Berechtigung:
root@mail2:/etc/postfix# mysql -u root
Der Login ohne Passwort ist möglich, da die UNIX Socket Authentisierung genutzt wird.
MariaDB [(none)]> GRANT ALL PRIVILEGES ON kopanoserver.* TO 'kopano'@'localhost' IDENTIFIED BY '%mein-passwort%' WITH GRANT OPTION;
MariaDB [(none)]> flush privileges;
Inhalt „/etc/postfix/mysql-users.cf“ für die Prüfung, ob der Empfänger überhaupt existiert:
user = kopano
password = %mein-passwort%
hosts = 127.0.0.1
dbname = kopanoserver
query = SELECT value FROM objectproperty where propname = 'emailaddress' and value = '%s';
Umwandeln der Map Dateien in ein lesbares Format für Postfix sowie Neustart des Dienstes
root@mail2:/etc/postfix# chmod 600 /etc/postfix/mysql-users.cf
root@mail2:/etc/postfix# postmap /etc/postfix/mysql-users.cf
root@mail2:/etc/postfix# postmap /etc/postfix/virtual
Optional können noch WebApps installiert werden
root@mail:~# apt-get install kopano-webapp-contactfax kopano-webapp-gmaps kopano-webapp-pimfolder kopano-webapp-quickitems kopano-webapp-titlecounter kopano-webapp-webappmanual kopano-webapp-zdeveloper kopano-webapp-files
Update/Zwischenstand: Z-Push und andere Anpassungen fehlen wohl in den bereitgestellten Paketen für nginx statt apache2… Mittels apache2 fehlt lediglich die Anbindung per IMAP/POP3 welche einige Schwierigkeiten bereithält…