/ Linux

Mailcow um Rainloop erweitern

Habe ich mir meinen Mailserver früher immer selbst aufgesetzt, bin ich mittlerweile ziemlicher Fan von Mailcow von André Peters geworden, welches sich in meinen Tests in den letzten Monaten als durchaus sehr robust erwiesen hat.
Neben regelmäßigen Updates weiß ich vor allem die gute Dokumentation zu schätzen.

In dieser erklärt André auch wie man als Roundcube als Webmailer optional hinzugfügt. Grundsätzlich spricht auch nicht viel gegen Roundcube, ich habe mittlerweile allerdings Rainloop lieben gelernt, welches für mich einfach einen frischeren bzw. moderneren Eindruck macht.

Die Einbindung von Rainloop in Mailcow ist relativ schnell gemacht und gleicht in gewissen Teilen der von Roundcube. Voraussetzung ist eine bereits laufende Mailcow-Installation.
Auf eurem System benötigt ihr folgende Pakete zur Installation von Rainloop: php-cgi, php-curl, php-dom. Es geht auch mittels manueller Installation per ZIP-Archiv, allerdings finde ich die Variante angenehmer.

Wechselt nun innerhalb eurer Mailcow-Installation in der Verzeichnis /data/web/, dort habe ich einen Ordner rl angelegt, in welchen ihr anschließend wechselt. Führt dort folgendes Kommando aus:

curl -sL https://repository.rainloop.net/installer.php | php

Dies downloaded und installiert die aktuellste Version von Rainloop, ein Aufruf unter https://eurServername/rl/ sollte anschließend bereits funktionieren und den Login von Rainloop anzeigen. Hier empfiehlt es sich als erstes nun unter https://eurServername/rl/?admin den Standard-Admin-Zugang zu ändern!
Anschließend könnt ihr unter Domains die Verbindungsdaten eurer Mailcow-Installation anlegen.

Für den Schnellzugriff für Rainloop auf dem Webportal von Mailcow muss dieses noch in der Konfiguration hinterlegt werden.
Öffnet dazu die Datei data/web/inc/vars.local.inc.php und ergänzt folgendes Array:

  array(
    'name' => 'Rainloop',
    'link' => '/rl/'
   )

Achtet hier gegebenenfalls auf zu setzende Kommas hinter den schließenden Klammern, solltet ihr dort schon mehrere Apps hinterlegt haben.

Der folgende Punkt ist optional und nur nötig, wenn ihr eure Kontakte per CardDAV abrufen und mittels MySQL speichern wollt

Rainloop kommt von Haus aus mit Unterstützung von CardDav, was bekanntlich auch Nextcloud unterstützt. Da ich meine Kontakte gerne in Rainloop eingebunden haben möchte und dies per MySQL geschehen soll, muss eine Datenbank angelegt werden. Findet mittels docker ps die ID des MariaDB-Containers heraus und verbindet euch mittels folgenden Befehles mit dem Container:

docker exec -it <ContainerID> bash

Anschließend könnt ihr euch mit dem mysql-Kommando auf der Datenbank verbinden. Das MySQL-Root-Passwort findet ihr in der mailcow.conf. Ich habe mir eine Datenbank namens rainloop erstellt.

Meldet euch abschließend im Admin-Bereich von Rainloop an und wechselt in den Bereich Contacts. Als Hostname nutzt ihr einfach mysql, die restlichen Daten sind bekannt. Ein Klick auf Test, sollte abschließend funktionieren.