Wenn Sie es vorziehen, die volle Kontrolle darüber zu haben, was und wie installiert wird, können Sie die Installation im manuellen Modus ausführen. Führen Sie dazu die folgenden Schritte aus.
Voraussetzungen installieren
Sie müssen die neueste Docker-Version installiert haben. Wenn Sie sie nicht haben, lesen Sie den Abschnitt zur Installation auf der Docker-Webseite, um zu erfahren, wie Sie sie erhalten.
Docker gibt standardmäßig Google DNS-Server an. Wenn Ihre
ONLYOFFICE Groups keinen Zugriff auf das Internet haben, empfehlen wir Ihnen, die standardmäßige Docker-DNS-Adresse in die Adresse Ihres lokalen DNS-Servers zu ändern. Öffnen Sie dazu die 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:
- Erstellen Sie die Konfigurationsdatei
/etc/docker/daemon.json
mit folgendem Inhalt:
{ "dns" : [ "8.8.8.8" ] }
- Starten Sie den Docker-Dienst neu:
sudo systemctl restart docker.service
Bevor Sie mit der Installation beginnen, müssen Sie die folgenden Ordner erstellen:
- 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";
- Für Daten und Protokolle des ONLYOFFICE E-Mails
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
Danach müssen Sie den Docker-Container für den MySQL-Server erstellen. 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. onlyoffice_user
wird für den ONLYOFFICE Community Server benötigt und mail_admin
wird für ONLYOFFICE E-Mail benötigt, falls es 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
Bitte beachten Sie, dass das obige Skript die Zugriffsberechtigungen auf den SQL-Server von beliebigen Domains (%
) festlegen wird. Wenn Sie den Zugriff einschränken möchten, können Sie Hosts angeben, die Zugriff auf den SQL-Server haben.
Jetzt können Sie einen MySQL-Container erstellen, der die MySQL-Version auf 8.0.29 setzt:
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
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
Nachdem Sie alles fertig haben, 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
Wobei yourdomain.com
der Hostname Ihres E-Mail-Servers ist.
Ihre Domain, die für die Korrespondenz verwendet wird, muss gültig und für diesen Computer konfiguriert sein (d.h. sie sollte den entsprechenden A-Eintrag in den DNS-Einstellungen aufweisen, der Ihren Domainnamen auf die IP-Adresse des Computers verweist, auf dem ONLYOFFICE E-Mail installiert ist).
Im obigen Befehl muss der Parameter "yourdomain.com"
als Service-Domain für ONLYOFFICE E-Mail verstanden werden. Sie wird normalerweise im MX-Eintrag der Domain angegeben, die für die Korrespondenz verwendet wird. In der Regel sieht die "yourdomain.com"
wie mx1.onlyoffice.com
aus.
In diesem Fall sorgt der E-Mail-Server für die Zustellung der Mail an interne Adressen, die auf diesem Server gehostet werden.
Speichern von Daten außerhalb von Containern
Alle Daten werden in den speziell dafür vorgesehenen Verzeichnissen, Datenvolumen, an folgendem Ort gespeichert:
/var/log
für ONLYOFFICE E-Mail-Protokolle
/var/lib/mysql
für MySQL-Datenbankdaten
/var/vmail
zur Postspeicherung
/etc/pki/tls/mailserver
für Zertifikate
Wir empfehlen
Wir empfehlen Ihnen dringend, die Daten außerhalb der Docker-Container auf dem Hostcomputer zu speichern, da Sie ONLYOFFICE E-Mail so einfach aktualisieren können, sobald die neue Version veröffentlicht wird, ohne Ihre Daten zu verlieren.
Um Zugriff auf Ihre Daten außerhalb des Containers zu erhalten, müssen Sie die Volumen mounten. Dies kann durch Angabe der Option -v im Docker-Ausführungsbefehl erfolgen.
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
Bitte beachten Sie, wenn Sie versuchen, die noch nicht erstellten Ordner zu mounten, werden diese Ordner erstellt, aber der Zugriff darauf wird eingeschränkt. Sie müssen ihre Zugriffsrechte manuell ändern.
Wenn Sie die Daten auf dem Hostcomputer speichern, können Sie ONLYOFFICE E-Mail nach der Veröffentlichung der neuen Version problemlos aktualisieren, ohne Ihre Daten zu verlieren.
Docker-Image konfigurieren
Um den Mailversand an interne Adressen sowie an Adressen externer Server zu gewährleisten, müssen Sie sich einen eigenen Domainnamen besorgen und einen DNS-Server konfigurieren.
Die folgenden DNS-Einträge sind erforderlich:
- A-Eintrag (wird verwendet, um eine Domäne auf die IP-Adresse des Hosts zu verweisen, auf dem dieses Docker-Image bereitgestellt wird).
- Pointer-Eintrag (PTR) oder ein Reverse-DNS-Record (wird verwendet, um eine Netzwerkschnittstelle (IP) einem Hostnamen zuzuordnen).
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
Wobei yourdomain.com
der Hostname Ihres E-Mail-Servers ist.
SSL-Zertifikate installieren
Die selbstsignierten Zertifikate für Ihre Domain werden standardmäßig erstellt, während der Docker-Container ausgeführt wird. Wenn Sie CA-zertifizierte Zertifikate verwenden möchten, müssen Sie diese Zertifikate umbenennen und in das Verzeichnis /app/onlyoffice/MailServer/data/certs
kopieren, bevor Sie das Image ausführen. Folgende Dateien werden benötigt:
- /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 nach dem Ausführen des Images in das Verzeichnis /app/onlyoffice/MailServer/data/certs
kopieren, aber in diesem Fall müssen Sie den Docker-Container neu starten.
Verfügbare Konfigurationsparameter
Bitte beachten Sie die Docker-Ausführungsbefehlsoptionen für das Flag `--env-file`
, wo Sie alle erforderlichen Umgebungsvariablen in einer einzigen Datei angeben können. Dies erspart Ihnen das Schreiben eines möglicherweise langen Docker-Ausführungsbefehls.
Nachfolgend finden Sie die vollständige Liste der Parameter, die mithilfe von Umgebungsvariablen festgelegt werden können.
- STORAGE_BASE_DIR: Der Pfad zum E-Mail-Speicher. Standardmäßig ist
/var/vmail
.
- FIRST_DOMAIN: Die erste virtuelle Domain, in der die Postmaster-Adresse gehostet wird. Diese Domain sollte nicht mit der primären E-Mail-Server-Domain übereinstimmen. Standardmäßig ist
mailserver.onlyoffice.com
.
- DOMAIN_ADMIN_PASSWD: Das Postmaster-Kennwort. Die Standard-Postmaster-Adresse ist
postmaster@mailserver.onlyoffice.com
.