Si vous préférez prendre le plein contrôle de l'installation, vous pouvez réaliser l'installation en mode manuel. Pour ce faire, suivez les étapes ci-après:
Installer des éléments prérequis
Il faut installer la dernière version de Docker. Si vous ne l'avez pas, veuillez consulter la section Installation sur le site Docker pour découvrir comment l'obtenir.
Docker configure les serveurs DNS par défaut. Si votre application
ONLYOFFICE Groups restera sans accès à Internet, il est recommandé de remplacer l'adresse DNS de Docker par votre serveur DNS local. Pour ce faire, passez au fichier
/etc/default/docker
et remplacez l'adresse IP de la ligne suivante par l'adresse IP d'un serveur DNS de votre réseau local:
docker_OPTS="--dns 8.8.8.8"
For the RPM based operating systems like CentOS:
- Créez le fichier de configuration
/etc/docker/daemon.json
comportant ce qui suit:
{ "dns" : [ "8.8.8.8" ] }
- Redémarrez le service Docker:
sudo systemctl restart docker.service
Il faut créer les dossiers suivants avant l'installation:
- Pour le serveur MySQL
sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
sudo mkdir -p "/app/onlyoffice/mysql/data";
sudo mkdir -p "/app/onlyoffice/mysql/initdb";
- Pour les données et les journaux ONLYOFFICE Mail
sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
sudo mkdir -p "/app/onlyoffice/MailServer/logs";
Ensuite, créez le réseau onlyoffice
:
sudo docker network create --driver bridge onlyoffice
Installer MySQL
Après cela, il faut créer le conteneur Docker pour le serveur MySQL. Créez le fichier de configuration:
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
Créez le script SQL pour générer des utilisateurs et attribuer des droits. Le onlyoffice_user
est nécessaire pour ONLYOFFICE Community Server et le mail_admin
est nécessaire pour ONLYOFFICE Mail si vous allez l'installer
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
Veuillez noter que le script ci-dessous va définir les permissions d'accès au serveur SQL depuis tout domaine (%
). Pour restreindre l'accès, il faut indiquer les hôtes qui auront accès au serveur SQL.
Maintenant, vous pouvez créer le conteneur MySQL pour mettre à jour vers MySQL 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
Si vous voulez utiliser une base de données externe, il vous faut la configurer (c'est-à-dire, ajouter un utilisateur):
CREATE USER 'mail_admin'@'localhost' IDENTIFIED BY 'Isadmin123';
GRANT ALL PRIVILEGES ON * . * TO 'mail_admin'@'%' IDENTIFIED BY 'Isadmin123';
FLUSH PRIVILEGES;
Installer ONLYOFFICE Mail
Après avoir tout préparé, exécutez la commande suivante:
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
Où yourdomain.com
est le nom d'hôte de votre serveur de messagerie.
Votre domaine sera utilisé pour assurer la correspondance, alors il doit être validé et configuré pour un certain ordinateur (c-à-d l'enregistrement A du DNS doit être utilisé pour pointer le nom de domaine vers l'adresse IP de l'ordinateur sur lequel ONLYOFFICE Mail est installé).
Dans la commande ci-dessus, le paramètre "yourdomain.com"
doit être considéré comme le domaine de service pour ONLYOFFICE Mail. Ce paramètre est généralement indiqué sur l'enregistrement MX du domaine qui sera utilisé pour assurer la correspondance. En règle générale, "yourdomain.com"
apparaît comme mx1.onlyoffice.com
Dans ce cas, le serveur de messagerie garantit la livraison des messages aux adresses internes hébergées sur ce serveur.
Stocker des données en dehors du conteneur
Toutes les données sont stockées sous forme de répertoires individuels sur le lien suivant:
/var/log
pour l'historique d'ONLYOFFICE Mail
/var/lib/mysql
pour la base de données MySQL
/var/vmail
pour stockage de courrier
/etc/pki/tls/mailserver
pour certificats
Conseil Il est donc fortement recommandé de stocker vos données en dehors des conteneurs Docker sur une machine hôte permettant de mettre à jour plus facilement ONLYOFFICE Mail dès qu'une nouvelle version est disponible sans perdre les données.
Pour obtenir l'accès aux données stockées en dehors du conteneur, il faut donc monter des volumes. Pour ce faire, utilisez l'option -v de la commande d'exécution docker.
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
Veuillez noter qu'en cas de montage d'un volume qui n'existe pas encore, Docker le créera pour vous mais l'accès sera limité. Il faut modifier les permissions d'accès manuellement.
Le stockage des données sur la machine hôte vous permet d'actualiser ONLYOFFICE Mail plus facilement dès qu'une nouvelle version est disponible sans perdre les données.
Configurer l'image Docker
Pour assurer la livraison des messages aux adresses internes et aux adresses sur serveurs externes, il faut obtenir votre propre nom de domaine et configurer un serveur DNS.
Les enregistrements DNS nécessaires:
- L'enregistrement (est utilisé pour pointer un domaine vers l'adresse IP de l'hôte sur lequel l'image docker est déployée).
- L'enregistrement de pointeur (PTR) ou le reverse DNS (est utilisé pour mapper l'interface réseau (IP) à un hôte).
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
Où yourdomain.com
est le nom d'hôte de votre serveur de messagerie.
Installer des certificats SSL
Les certificats auto-signés seront créés pour votre domaine par défaut lors de l'exécution du conteneur Docker. Si vous souhaitez utiliser les certificats SSL émis par une autorité de certification, vous devez les renommer et copier dans le répertoire /app/onlyoffice/MailServer/data/certs
avant d'exécuter l'image. Les champs nécessaires:
- /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
Vous pouvez copier les certificats SSL dans le répertoire /app/onlyoffice/MailServer/data/certs
après l'exécution de l'image. Dans ce cas, il faut redémarrer le conteneur docker.
Paramètres de configuration disponibles
Veuillez vérifier des options de la commande d'exécution docker avec l'indicateur `--env-file`
où vous pouvez indiquer toutes les variables d'environnement dans un seul fichier. Cela vous aidera à éviter de coder une chaîne longue de la commande d'exécution docker.
Consultez ci-dessous la liste des paramètres que vous pouvez configurer à l'aide des variables d'environnement.
- STORAGE_BASE_DIR: Le chemin vers le stockage de messagerie. Paramètres par défaut vers
/var/vmail
.
- FIRST_DOMAIN: Premier domaine virtuel où l'adresse postmaster sera hébergée. Ce domaine et le domaine du serveur de messagerie primaire ne doivent pas coïncider. Paramètres par défaut vers
mailserver.onlyoffice.com
.
- DOMAIN_ADMIN_PASSWD: Le mot de passe de postmaster. Par défaut, l'adresse postmaster est
postmaster@mailserver.onlyoffice.com
.