Archive for  Juli 2019

Home / Juli 2019
1 Post

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…