• Accueil
  • Installer ONLYOFFICE Mail sur un serveur local à l'aide de Docker

Installer ONLYOFFICE Mail sur un serveur local à l'aide de Docker

Introduction

ONLYOFFICE Mail est une solution complète de serveur de messagerie développée sur la base du paquet iRedMail comportant les éléments suivants: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.

Intégré à ONLYOFFICE Workspace, ONLYOFFICE Mail vous permet de:

  • connecter votre propre nom de domaine;
  • créer des boîtes mail;
  • ajouter des alias pour chaque boîte mail;
  • créer des groupes de messagerie.

Ce guide vous explique comment installer la version Docker ONLYOFFICE Mail sur votre ordinateur.

Configuration système minimale

  • Processeur:
    double cœur à 2 GHz ou plus
  • Mémoire RAM
    4 Go ou plus
  • HDD
    au moins 20 Go d'espace disponible
  • SWAP
    au moins 4 Go, mais cela dépend du système d'exploitation hôte. Plus il y en a, mieux c'est
  • Système d'exploitation
    distribution Linux amd64 avec noyau version 3.10 ou ultérieure
  • Exigences supplémentaires
    • Docker: toute version prise en charge par l'équipe Docker
Lors de l'installation de ONLYOFFICE Mail sur Ubuntu 20.04, il vous faut désactiver le pare-feu par défaut ufw.

Avant de commencer l'installation

Avant d'installer ONLYOFFICE Mail, il faut lier votre ordinateur sur lequel vous allez installer ONLYOFFICE Mail au domaine du serveur de messagerie. Nous vous recommandons d'opter pour des noms de l'enregistrement A sur votre ordinateur du serveur de messagerie tels que mx.yourdomain.com. Cela veut dire que l'enregistrement A de votre système de nom de domaine (DNS) doit pointer vers l'adresse IP de l'ordinateur sur lequel ONLYOFFICE Mail sera installé, et l'enregistrement de pointeur (PTR) sur cet ordinateur doit résoudre l'adresse IP de l'ordinateur en un nom de domaine pleinement qualifié (FQDN) contrairement à un enregistrement A qui fait pointer un nom de domaine vers une adresse IP.

Pour vérifier l'exactitude des paramètres de l'enregistrement A, il faut utiliser la commande suivante:

dig -t A mx.yourdomain.com

Si les paramètres sont corrects, la sortie contiendra des lignes semblables aux suivantes:

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

L'adresse IP réelle du serveur s'affichera au lieu de {your IP address}.

L'enregistrement PTR est vérifié en utilisant une autre commande:

dig -x {your IP address}

La sortie renvoyée doit contenir, entre autres, des lignes semblables à celles-ci:

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

Une fois que vous vous êtes assuré que tous les paramètres sont corrects, vous pouvez passer aux étapes suivantes.

Une fois ONLYOFFICE Mail installé, il vous faut également ajouter l'enregistrement MX à yourdomain.com qui est pointé vers mx.yourdomain.com. C'est nécessaire afin que le courrier parvienne aux adresses @yourdomain.com.

Installer ONLYOFFICE Mail à l'aide du script automatique

Pour installer ONLYOFFICE Mail automatiquement, utilisez le script Docker disponible sur la page de téléchargement ou via le lien direct ci-dessous:

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

Une fois le téléchargement terminé, exécutez la commande suivante pour installer ONLYOFFICE Mail:

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

Installer ONLYOFFICE Mail manuellement

Pour garder un contrôle total sur l'installation, exécutez-la en mode manuel. Pour ce faire, suivez les étapes ci-dessous.

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.

Par défaut, Docker spécifie les serveurs DNS de Google. Si votre ONLYOFFICE Workspace n'aura pas accès à Internet, il est recommandé de remplacer l'adresse DNS par défaut de Docker par celle de votre serveur DNS local. Pour ce faire, modifiez le 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"

Pour les systèmes d'exploitation basés sur RPM tels que CentOS:

  1. Créez le fichier de configuration /etc/docker/daemon.json comportant ce qui suit:
    { "dns" : [ "8.8.8.8" ] }
  2. Redémarrez le service Docker:
    
    sudo systemctl restart docker.service

Avant de commencer l'installation, vous devez créer les dossiers suivants:

  1. 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";
  2. 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

Ensuite, créez le conteneur Docker du 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 Serveur Communauté et le mail_admin est nécessaire pour ONLYOFFICE Mail, si vous prévoyez de 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-dessus va définir les permissions d'accès au serveur SQL depuis tout domaine (%). Si vous souhaitez restreindre l'accès, vous pouvez indiquer les hôtes qui auront accès au serveur SQL.

Créez le conteneur MySQL, avec la version 8.0.29 de MySQL:

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, vous devez 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

Une fois tous les prérequis en place, 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

yourdomain.com est le nom d'hôte de votre serveur de messagerie.

Le domaine qui sera utilisé pour la correspondance doit être valide et configuré pour cette machine (c'est-à-dire qu'il doit disposer de l'enregistrement A approprié dans les paramètres DNS, qui pointe votre nom de domaine vers l'adresse IP de la machine sur laquelle 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é dans 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 cette configuration, le serveur de messagerie distribuera le courrier aux adresses internes hébergées sur ce serveur.

Stocker des données en dehors du conteneur

Toutes les données sont stockées dans des répertoires dédiés, appelés volumes de données, à l'emplacement suivant:

  • /var/log pour l'historique d'ONLYOFFICE Mail
  • /var/lib/mysql pour les données de la base de données MySQL
  • /var/vmail pour le stockage du courrier
  • /etc/pki/tls/mailserver pour les certificats
Conseil Le stockage des données en dehors des conteneurs Docker, sur la machine hôte, vous permet de mettre à jour ONLYOFFICE Mail vers de nouvelles versions sans perte de données.

Pour accéder à vos données situées en dehors du conteneur, vous devez monter les volumes. Pour ce faire, spécifiez l'option -v dans la commande docker run.

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 que si vous tentez de monter des dossiers qui n'existent pas encore, ces dossiers seront créés mais leur accès sera limité. Vous devrez modifier leurs droits d'accès manuellement.

Le stockage des données sur la machine hôte vous permet de mettre à jour facilement ONLYOFFICE Mail dès qu'une nouvelle version est disponible, sans perdre vos 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 A (utilisé pour pointer un domaine vers l'adresse IP de l'hôte sur lequel cette image docker est déployée).
  • L'enregistrement de pointeur (PTR) ou enregistrement DNS inverse (utilisé pour associer une interface réseau (IP) à un nom d'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

yourdomain.com est le nom d'hôte de votre serveur de messagerie.

Installer des certificats SSL

Par défaut, des certificats auto-signés seront créés pour votre domaine 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 les copier dans le répertoire /app/onlyoffice/MailServer/data/certs avant d'exécuter l'image. Les fichiers suivants sont requis:

  • /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. Mais dans ce cas, vous devrez redémarrer le conteneur Docker.

Paramètres de configuration disponibles
Consultez les options de la commande docker run concernant l'indicateur `--env-file`, qui vous permet de spécifier toutes les variables d'environnement requises dans un seul fichier. Cela vous évitera d'écrire une commande docker run potentiellement longue.

Vous trouverez ci-dessous la liste complète des paramètres pouvant être définis à l'aide des variables d'environnement.

  • STORAGE_BASE_DIR: Le chemin vers le stockage de messagerie. La valeur par défaut est /var/vmail.
  • FIRST_DOMAIN: Le premier domaine virtuel, où l'adresse postmaster sera hébergée. Ce domaine ne doit pas coïncider avec le domaine principal du serveur de messagerie. La valeur par défaut est mailserver.onlyoffice.com.
  • DOMAIN_ADMIN_PASSWD: Le mot de passe de postmaster. Par défaut, l'adresse postmaster est postmaster@mailserver.onlyoffice.com.

Installer ONLYOFFICE Mail intégré à ONLYOFFICE Docs

ONLYOFFICE Mail fait partie d'ONLYOFFICE Workspace comportant aussi ONLYOFFICE Docs, le Panneau de configuration ONLYOFFICE et ONLYOFFICE Serveur Communauté. Si vous souhaitez installer tous les applications et les connecter entre elles, veuillez consulter ces instructions.

Méthodes alternatives d'installation de ONLYOFFICE Mail

Vous pouvez également utiliser un script d'installation automatique pour installer Workspace complet à la fois. Il faut spécifier le nom d'hôte yourdomain.com pour le bon fonctionnement du serveur de messagerie.

ÉTAPE 1: Télécharger le fichier du script d'installation

Exécutez la commande suivante:

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

ÉTAPE 2: Installer Workspace

Pour ce faire, exécutez la commande suivante:

bash workspace-install.sh -md yourdomain.com
Articles avec le tag :
Parcourir tous les tags