Hallo zusammen,
irgendwann muss ich auch auf die V7.1 upgraden, momentan läuft noch linuxmuster.net 6.2 mit einigen Zusatzdiensten. Hier geht es um die E-Mail-Anbindung.
Also bisher läuft das direkt auf dem Server mit. Alle Lehrer und Schüler haben automatisch ihre E-Mail-Adressen. Auf die Mails greift man nicht nur über Horde3 zu, sondern auch über IMAPS und SMTPS, das habe ich mal nach außen hin geöffnet und läuft total stabil.
Nach dem Umzug auf V7.1 ist also der Wunsch da, dass weiterhin nicht nur die Lehrer, sondern auch die Schüler schulische Mail-Adressen haben, die sie von außerhalb abrufen können.
Daher bin ich auf einem Testsystem gerade dabei, auf einem Dockerhost in der DMZ eine mailcow mit der Erweiterung linuxmuster-mailcow einzurichten.
Der Zugriff auf die Weboberfläche für den Administrator läuft über die Ports 8080 bzw. 8443, das wurde in der Konfigurationsdatei mailcow.conf so eingerichtet:
HTTP_PORT=8080
HTTP_BIND=
HTTPS_PORT=8443
HTTPS_BIND=
Nun kann ich ja die Log-Dateien der Container auslesen. Die Anbindung an das AD des Linuxmuster.net-Servers scheint zu funktionieren, aber irgendwas fehlt noch zwischen den Containern. Es kommt nämlich zu Fehlermeldungen im Container linuxmuster-mailcow (docker-compose logs linuxmuster-mailcow):
| 2022-08-03 07:47:10 - [INFO] === Starting sync ===
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] Step 1: Loading current Data from AD
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] * Binding to ldap
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] * Loading users from AD
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] * Loading groups from AD
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] Step 2: Loading current Data from Mailcow
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] * Loading current domains from Mailcow
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [ERROR] HTTPSConnectionPool(host='nginx-mailcow', port=443): Max retries exceeded with url: /api/v1/get/domain/all (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fcfffe89a00>: Failed to establish a new connection: [Errno 111] Connection refused'))
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [CRITICAL] !!! A connection error occured, is mailcow still starting up? !!!
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [CRITICAL] !!! The sync failed, see above errors !!!
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 07:47:10 - [INFO] sleeping 30 seconds before next cycle
Weiß mir jemand einen Rat, wo ich weiter suchen kann? Irgendwie scheint der Zugriff über Port 443 nicht zu klappen. Zertifikate habe ich noch keine eingerichtet. Wo und wie kann ich das machen?
Edit:
nun bin ich um eine Erkenntnis reicher.
Der Zugriff über https://ip:8443/api/v1/get/domain/all listet mir die angelegte Domain auf.
Es sieht so aus, als ob am falschen Port nachgefragt wird.
Edit2:
nachdem ich in docker-compose.override.yml die Zeile
- LINUXMUSTER_MAILCOW_API_URI=https://172.16.69.1:8443
ergänzt habe, wird die mailcow wohl erreicht, allerdings kommt jetzt ein Authentifizierungsfehler:
2022-08-03 09:37:30 - [INFO] * Loading current domains from Mailcow
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 09:37:30 - [CRITICAL] !!! Error getting domains from Mailcow: authentication failed !!!
mailcowcustomized_linuxmuster-mailcow | 2022-08-03 09:37:30 - [CRITICAL] !!! The sync failed, see above errors !!!
In den logs von nginx-mailcow steht:
2022/08/03 09:38:00 [error] 20#20: *545 FastCGI sent in stderr: "PHP message: mailcow UI: Invalid password for by 172.22.1.1" while reading response header from upstream, client: 172.22.1.1, server: nnn.mein.server.nnn, request: "GET /api/v1/get/domain/all HTTP/1.1", upstream: "fastcgi://[fd4d:6169:6c63:6f77::a]:9002", host: "172.16.69.1:8443"
Ich dachte, das läuft über den API Key? Den muss ich nochmal überprüfen. Mist, den hatte ich bei einer Neuinstallation des ganzen Paketes vergessen. Aber nachdem er in der UI neu angelegt wurde und im der Konfiguration hinterlegt wurde, läuft es … uuuuh, die API muss noch per Haken aktiviert werden.
VG
Christian