Zum Hauptinhalt springen

Installieren von ONLYOFFICE E-Mail auf einem lokalen Server mit Docker

Einleitung​

ONLYOFFICE E-Mail ist eine voll funktionsfähige Mailserver-Lösung, die auf Basis des iRedMail-Pakets entwickelt wurde und die folgenden Komponenten enthält: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.

In ONLYOFFICE Workspace integriert, ermöglicht Ihnen ONLYOFFICE E-Mail:

  • Ihren eigenen Domänennamen zu verbinden;
  • Postfächer zu erstellen;
  • Aliasse für jedes Postfach hinzuzufügen;
  • Postfachgruppen zu erstellen.

In dieser Anleitung wird erklärt, wie Sie die Docker-Version von ONLYOFFICE E-Mail auf Ihrem Server installieren.

Systemanforderungen​

  • CPU: Dual-Core 2 GHz oder besser
  • RAM: 4 GB oder mehr
  • HDD: mindestens 20 GB freier Speicherplatz
  • SWAP: mindestens 4 GB, hängt aber vom Host-Betriebssystem ab. Mehr ist besser
  • OS: amd64 Linux-Distribution mit Kernel-Version 3.10 oder höher
  • Zusätzliche Anforderungen:
    • Docker: jede vom Docker-Team unterstützte Version
hinweis

Unter Ubuntu 20.04 müssen Sie bei der Installation von ONLYOFFICE E-Mail die Standard-Firewall ufw deaktivieren.

Bevor Sie mit der Installation beginnen​

Bevor Sie mit der Installation von ONLYOFFICE E-Mail beginnen, müssen Sie den Server, auf dem ONLYOFFICE E-Mail installiert wird, mit der für den Mailserver ausgewählten Domäne verknüpfen. Wir empfehlen, für den A-Eintrag Ihres Mailserver-Computers einen Namen wie mx.yourdomain.com zu wählen. Das bedeutet, dass der A-Eintrag in Ihrem Domain Name System (DNS) auf die IP-Adresse des Computers verweisen muss, auf dem ONLYOFFICE E-Mail installiert wird, und dass der Pointer-Eintrag (PTR) auf diesem Computer die IP-Adresse des Computers in einen vollqualifizierten Domänennamen (FQDN) auflösen muss, also umgekehrt zu dem, was der A-Eintrag tut.

Um die Richtigkeit der Einstellungen für den A-Eintrag zu überprüfen, wird der folgende Befehl verwendet:

dig -t A mx.yourdomain.com

Wenn die Einstellungen korrekt sind, enthält die Ausgabe Zeilen ähnlich den folgenden:

...
;; ANSWER SECTION:
mx.yourdomain.com. IN A {your IP address}
...

Anstelle von {your IP address} wird die tatsächliche IP-Adresse des Servers angezeigt.

Der PTR-Eintrag wird mit einem anderen Befehl überprüft:

dig -x {your IP address}

Die Ausgabe sollte unter anderem Zeilen wie diese enthalten:

...
;; ANSWER SECTION:
{your IP address} IN PTR mx.yourdomain.com.
...

Sobald Sie sichergestellt haben, dass alle Einstellungen korrekt sind, können Sie mit den nächsten Schritten fortfahren.

hinweis

Nach der Installation von ONLYOFFICE E-Mail müssen Sie außerdem einen MX-Eintrag für yourdomain.com hinzufügen, der auf mx.yourdomain.com verweist. Dies ist erforderlich, damit E-Mails die Adressen @yourdomain.com erreichen.

Installieren von ONLYOFFICE E-Mail mit dem automatischen Skript​

Um ONLYOFFICE E-Mail automatisch zu installieren, verwenden Sie das Docker-Skript, das auf der Downloadseite oder über den folgenden direkten Link verfügbar ist:

wget https://download.onlyoffice.com/install/workspace-install.sh

Sobald der Download abgeschlossen ist, führen Sie den folgenden Befehl aus, um ONLYOFFICE E-Mail zu installieren:

bash workspace-install.sh -ics false -ids false -icp false -ims true -md yourdomain.com -es true

Manuelles Installieren von ONLYOFFICE E-Mail​

Um die volle Kontrolle über die Installation zu behalten, führen Sie sie im manuellen Modus aus. Befolgen Sie dazu die folgenden Schritte.

Voraussetzungen installieren​

Sie benötigen die neueste installierte Docker-Version. Falls Sie sie nicht haben, lesen Sie bitte den Installationsabschnitt auf der Docker-Website, um zu erfahren, wie Sie sie erhalten.

hinweis

Docker verwendet standardmäßig Google DNS-Server. Wenn Ihr ONLYOFFICE Workspace keinen Internetzugang hat, empfehlen wir Ihnen, die Standard-DNS-Adresse von Docker in die Adresse Ihres lokalen DNS-Servers zu ändern. Wechseln Sie dazu zur Datei /etc/default/docker und ändern Sie die IP-Adresse in der folgenden Zeile in die IP-Adresse eines DNS-Servers in Ihrem lokalen Netzwerk:

docker_OPTS="--dns 8.8.8.8"

Für RPM-basierte Betriebssysteme wie CentOS:

  1. Erstellen Sie die Konfigurationsdatei /etc/docker/daemon.json mit folgendem Inhalt:

    { "dns" : [ "8.8.8.8" ] }
  2. Starten Sie den Docker-Dienst neu:

    sudo systemctl restart docker.service

Bevor Sie mit der Installation beginnen, müssen Sie die folgenden Ordner erstellen:

  1. Für MySQL-Server

    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. Und für Daten und Protokolle von ONLYOFFICE E-Mail

    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";

Erstellen Sie dann das Netzwerk onlyoffice:

sudo docker network create --driver bridge onlyoffice

MySQL installieren​

Erstellen Sie als Nächstes den MySQL-Server-Docker-Container. Erstellen Sie die Konfigurationsdatei:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

Erstellen Sie das SQL-Skript, das die Benutzer generiert und ihnen die Rechte erteilt. Der onlyoffice_user wird für ONLYOFFICE Community Server benötigt, und der mail_admin wird für ONLYOFFICE E-Mail benötigt, falls dieser installiert werden soll:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql
hinweis

Bitte beachten Sie, dass das obige Skript die Berechtigungen für den Zugriff auf den SQL-Server von beliebigen Domänen (%) aus festlegt. Wenn Sie den Zugriff einschränken möchten, können Sie die Hosts angeben, die Zugriff auf den SQL-Server haben sollen.

Erstellen Sie den MySQL-Container mit der MySQL-Version 8.0.29:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29
hinweis

Wenn Sie eine externe Datenbank verwenden möchten, müssen Sie diese einrichten (nämlich einen Benutzer hinzufügen):

CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;

ONLYOFFICE E-Mail installieren​

Sobald alle Voraussetzungen erfüllt sind, führen Sie den folgenden Befehl aus:

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

Dabei ist yourdomain.com der Hostname des Mailservers.

hinweis

Ihre Domäne, die für die Korrespondenz verwendet wird, muss gültig und für diesen Computer konfiguriert sein (d. h. sie sollte über den entsprechenden A-Eintrag in den DNS-Einstellungen verfügen, der Ihren Domänennamen auf die IP-Adresse des Computers verweist, auf dem ONLYOFFICE E-Mail installiert ist).

Im obigen Befehl muss der Parameter "yourdomain.com" als Servicedomäne für ONLYOFFICE E-Mail verstanden werden. Er wird normalerweise im MX-Eintrag der Domäne angegeben, die für die Korrespondenz verwendet wird. In der Regel sieht "yourdomain.com" wie mx1.onlyoffice.com aus.

In dieser Konfiguration stellt der Mailserver E-Mails an interne Adressen zu, die auf diesem Server gehostet werden.

Speichern von Daten außerhalb von Containern​

Alle Daten werden in dafür vorgesehenen Verzeichnissen, den sogenannten Datenvolumes, an folgendem Speicherort gespeichert:

  • /var/log für die Protokolle von ONLYOFFICE E-Mail
  • /var/lib/mysql für die Daten der MySQL-Datenbank
  • /var/vmail für den E-Mail-Speicher
  • /etc/pki/tls/mailserver für Zertifikate
Wir empfehlen

Das Speichern von Daten außerhalb der Docker-Container auf dem Host-Computer ermöglicht es Ihnen, ONLYOFFICE E-Mail ohne Datenverlust auf neue Versionen zu aktualisieren.

Um auf Ihre Daten außerhalb des Containers zuzugreifen, müssen Sie die Volumes mounten. Dazu geben Sie die Option -v im Befehl docker run an.

sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 -p 8081:8081 \
-v /app/onlyoffice/MailServer/logs:/var/log \
-v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver
hinweis

Bitte beachten Sie: Wenn Sie versuchen, Ordner zu mounten, die noch nicht existieren, werden diese Ordner zwar erstellt, der Zugriff darauf ist jedoch eingeschränkt. Sie müssen die Zugriffsrechte manuell ändern.

Wenn Sie die Daten auf dem Host-Computer speichern, können Sie ONLYOFFICE E-Mail nach der Veröffentlichung einer neuen Version ganz einfach aktualisieren, ohne Ihre Daten zu verlieren.

Konfigurieren des Docker-Images​

Um die Zustellung von E-Mails an interne Adressen sowie an Adressen externer Server sicherzustellen, müssen Sie einen eigenen Domänennamen erwerben und einen DNS-Server konfigurieren.

Die folgenden DNS-Einträge sind erforderlich:

  • A-Eintrag (verweist eine Domäne auf die IP-Adresse des Hosts, auf dem dieses Docker-Image bereitgestellt wird).
  • Pointer-Eintrag (PTR) oder Reverse-DNS-Eintrag (ordnet eine Netzwerkschnittstelle (IP) einem Hostnamen zu).
sudo docker run --privileged -i -t -d -p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver -h yourdomain.com onlyoffice/mailserver

Dabei ist yourdomain.com der Hostname Ihres Mailservers.

Installieren der SSL-Zertifikate​

Beim Ausführen des Docker-Containers werden standardmäßig selbstsignierte Zertifikate für Ihre Domäne erstellt. Wenn Sie von einer Zertifizierungsstelle (CA) signierte Zertifikate verwenden möchten, müssen Sie diese umbenennen und vor dem Ausführen des Images in das Verzeichnis /app/onlyoffice/MailServer/data/certs kopieren. Die folgenden Dateien sind erforderlich:

  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.key
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.crt
  • /app/onlyoffice/MailServer/data/certs/mail.onlyoffice.ca-bundle

Sie können die SSL-Zertifikate auch nach dem Ausführen des Images in das Verzeichnis /app/onlyoffice/MailServer/data/certs kopieren. In diesem Fall müssen Sie den Docker-Container jedoch neu starten.

Verfügbare Konfigurationsparameter​

hinweis

Informationen zum Flag --env-file finden Sie in den Optionen des Befehls docker run. Damit können Sie alle erforderlichen Umgebungsvariablen in einer einzigen Datei angeben. So müssen Sie keinen potenziell langen docker run-Befehl schreiben.

Nachfolgend finden Sie die vollständige Liste der Parameter, die über Umgebungsvariablen festgelegt werden können.

  • STORAGE_BASE_DIR: Der Pfad zum E-Mail-Speicher. Standardwert ist /var/vmail.
  • FIRST_DOMAIN: Die erste virtuelle Domäne, auf der die Postmaster-Adresse gehostet wird. Diese Domäne sollte nicht mit der primären Domäne des Mailservers übereinstimmen. Standardwert ist mailserver.onlyoffice.com.
  • DOMAIN_ADMIN_PASSWD: Das Postmaster-Passwort. Die Standard-Postmaster-Adresse ist postmaster@mailserver.onlyoffice.com.

Installieren von ONLYOFFICE E-Mail integriert mit ONLYOFFICE Docs​

ONLYOFFICE E-Mail ist Teil von ONLYOFFICE Workspace, das außerdem ONLYOFFICE Docs, ONLYOFFICE Systemsteuerung und ONLYOFFICE Community Server umfasst. Um alle Komponenten zu installieren und miteinander zu integrieren, lesen Sie diese Anleitung.

Alternative Möglichkeiten zur Installation von ONLYOFFICE E-Mail​

Alternativ können Sie ein automatisches Installationsskript verwenden, um den gesamten Workspace auf einmal zu installieren. Für den korrekten Betrieb des Mailservers geben Sie den Hostnamen yourdomain.com an.

SCHRITT 1: Laden Sie die Installationsskriptdatei herunter

Führen Sie den folgenden Befehl aus:

wget https://download.onlyoffice.com/install/workspace-install.sh

SCHRITT 2: Installieren Sie Workspace

Führen Sie dazu den folgenden Befehl aus:

bash workspace-install.sh -md yourdomain.com