## I - Installation et Configuration du Serveur de Messagerie Zimbra sur Ubuntu ## II - Post installation ## Introduction Zimbra est une solution de messagerie et de collaboration open source qui offre une plateforme riche en fonctionnalités. Ce guide vous explique comment installer et configurer Zimbra sur un serveur Ubuntu. ## Prérequis - Un serveur avec une installation fraîche d'Ubuntu 20.04 ou 22.04 LTS. - Un accès root ou un utilisateur avec des privilèges sudo. - Une adresse IP statique. - Un nom de domaine entièrement qualifié (FQDN) pour votre serveur. - Des enregistrements DNS corrects (A, MX, SPF, DKIM, et DMARC). ## Étape 1 : Préparation du Système ### Mise à jour du système ```bash sudo apt update && sudo apt upgrade -y Installation des dépendances sudo apt install wget curl netcat-openbsd perl unzip pax git -y Configuration du nom d'hôte sudo hostnamectl set-hostname zimbra.univ-poitiers.fr Modification du fichier hosts sudo nano /etc/hosts Ajoutez les lignes suivantes : 127.0.0.1 localhost 192.168.0.16 zimbra.univ-poitiers.fr zimbra Configuration du fichier resolv.conf sudo nano /etc/resolv.conf search univ-poitiers.fr nameserver 127.0.0.1 nameserver 192.168.0.16 # Serveur Mail Zimbra nameserver 192.168.0.17 # Serveur DNS Appliquer les modifications sudo sysctl -p Étape 2 : Configuration du Serveur DNS Configuration du fichier de zone DNS sudo nano /etc/bind/univ-poitiers.fr \$TTL 86400 @ IN SOA ns1.univ-poitiers.fr. root.univ-poitiers.fr. ( 2025032102 ; Serial 3600 ; Refresh 1800 ; Retry 1209600 ; Expire 86400 ) ; Minimum TTL ; @ IN NS srv-dns.univ-poitiers.fr. srv-dns IN A 192.168.0.17 @ IN NS zimbra.univ-poitiers.fr. zimbra IN A 192.168.0.16 @ IN MX 10 zimbra.univ-poitiers.fr. Configuration du DNS pour rester en local sudo nano /etc/bind/named.conf.local Ajoutez les lignes suivantes : zone "univ-poitiers.fr" { type master; file "/etc/bind/zones/db.univ-poitiers.fr"; }; Configuration des options DNS sudo nano /etc/bind/named.conf.options Ajoutez les lignes suivantes : options { directory "/var/cache/bind"; forwarders { 192.168.0.17; }; dnssec-validation auto; listen-on { any; }; listen-on-v6 { any; }; auth-nxdomain no; allow-query { any; }; }; Test de la configuration DNS sudo named-checkconf dig A univ-poitiers.fr dig MX univ-poitiers.fr Étape 3 : Installation des Paquets de Dépendances sur le Serveur Zimbra Installation de Git sudo apt install git Cloner les scripts du référentiel cd ~ git clone https://github.com/jmutai/scripts.git Exécuter les scripts d'installation des dépendances cd scripts/zimbra/ ./zimbra_install_prereqs_ubuntu.sh Étape 4 : Téléchargement et Installation de Zimbra Téléchargement de Zimbra cd ~/ wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954.tgz Extraction de l'archive tar xvf zcs-8.8.15_GA_*.tgz cd zcs-* Installation de Zimbra sudo ./install.sh Configuration de l'installation Acceptez les termes de la licence. Sélectionnez les paquets à installer. Définissez le mot de passe du compte administrateur. Étape 5 : Configuration Post-Installation Vérification des services Zimbra sudo su - zimbra zmcontrol status Accès à la console d'administration Accédez à la console d'administration via l'URL suivante : https://zimbra.univ-poitiers.fr:7071 ## Configuration avancée : # Configuration de la sécurité des e-mails #Installer des certificats SSL/TLS : Utilisez des certificats SSL/TLS pour sécuriser les communications. #Activer l'authentification à deux facteurs (2FA) : Améliore la sécurité en ajoutant une étape supplémentaire lors de la connexion. #Gestion des utilisateurs et des domaines #Créer des boîtes aux lettres : Ajoutez de nouveaux utilisateurs via la console d'administration ou en ligne de commande. zmprov ca utilisateur@exemple.com motdepasse displayName "Nom d'utilisateur" Héberger plusieurs domaines : Zimbra permet d'héberger plusieurs domaines sur un même serveur. zmprov cd nouveaudomaine.com zmprov grr domain nouveaudomaine.com usr admin@nouveaudomaine.com +domainAdminRights Optimisation des performances Configurer les quotas des boîtes aux lettres : Limitez la taille des boîtes aux lettres pour prévenir l'utilisation excessive de l'espace disque. zmprov ma utilisateur@exemple.com zimbraMailQuota 209715200 Surveiller l'utilisation du disque : Vérifiez régulièrement l'utilisation de l'espace disque. df -h Automatisation des tâches de maintenance Planifier des sauvegardes : Configurez des sauvegardes régulières pour protéger vos données sudo su - zimbra zmbackup -f -a all Nettoyer les anciens e-mails : Appliquez des politiques de rétention pour supprimer automatiquement les anciens messages. zmprov ma utilisateur@exemple.com zimbraPrefMailRetentionPeriod 30 Étape 6 : Surveillance et Dépannage Journaux et alertes Consultez les journaux pour surveiller les activités du serveur : tail -f /var/log/zimbra.log Gérer les files d'attente Si des e-mails restent bloqués, vérifiez et videz les files d'attente : sudo su - zimbra zmqstat Intégration des protocoles d'authentification Configurer SPF : Ajoutez un enregistrement TXT à votre DNS pour indiquer les serveurs autorisés à envoyer des e-mails. Configurer DKIM : Générez des clés DKIM et publiez la clé publique dans votre DNS. Configurer DMARC : Ajoutez un enregistrement DMARC pour spécifier la politique à appliquer aux e-mails qui échouent aux contrôles SPF ou DKIM. Étape 7 : Ouvrir les ports pour les accès externes Installation de UFW sudo apt-get install ufw Autoriser les ports nécessaires pour Zimbra sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 25/tcp sudo ufw allow 143/tcp sudo ufw allow 993/tcp sudo ufw allow 110/tcp sudo ufw allow 995/tcp Activer UFW sudo ufw enable Conclusion Avec son ensemble de fonctionnalités étendues, Zimbra est une solution fiable et polyvalente pour la messagerie et la collaboration. En suivant ce guide complet, vous avez appris à installer et configurer le serveur de messagerie Zimbra sur Ubuntu, ainsi qu'à explorer des paramètres avancés pour optimiser les performances, améliorer la sécurité et assurer un fonctionnement fluide. Pour plus de détails et de configurations avancées, vous pouvez consulter la documentation officielle de Zimbra. # Zimbra démarre automatiquement slapd au boot, indépendamment des services systemd ou des scripts /etc/init.d/. # Zimbra installe ses propres mécanismes de démarrage automatique, souvent via des scripts dans /opt/zimbra/libexec/ ou des entrées dans /etc/inittab ou /etc/rc.local. # Actions post installation : Étape->Action 1-> Autoriser l'exécution des scripts sans mot de passe 2->Désactiver le démarrage automatique natif de Zimbra 3->Créer un script pour préparer l’environnement (DNS, réseau, etc.) 4->Créer un service systemd pour le script (prepare-zimbra.service) 5->Créer un service systemd pour Zimbra (zimbra.service) avec une dépendance explicite 6->Activer et tester les services 7->Vérifier les logs et ajuster les timeouts si nécessaire # 1. Autoriser l'utilisateur courant à exécuter le compte root dans les scripts sans mot de passe en insérant la ligne suivante : sudo visudo --- ubuntu ALL=(ALL) NOPASSWD: /usr/bin/tee /etc/resolv.conf, /usr/sbin/sysctl, /usr/bin/pkill --- # 2. Créer un script pour s'assurer que le DNS est prêt avant que Zimbra ne démarre sudo nano /usr/local/bin/script_services.sh --- #!/bin/bash # Attendre que le réseau soit prêt sleep 10 # Configurer le DNS echo "nameserver 192.168.0.17" | sudo tee /etc/resolv.conf > /dev/null # Désactiver IPv6 si nécessaire sudo sysctl -p # Vérifier que le DNS est résolu until ping -c 1 zimbra.univ-poitiers.fr &> /dev/null; do echo "En attente de la résolution DNS..." sleep 2 done --- # 3. S'assurer que le service systemd s'exécute avant Zimbra : sudo nano /etc/systemd/system/custom-script.service --- [Unit] Description=Custom Script Service After=network.target network-online.target Before=zimbra.service Wants=network-online.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/script_services.sh [Install] WantedBy=multi-user.target --- # 4. Donner les bonnes permissions : sudo chown root:root /usr/local/bin/script_services.sh sudo chmod 755 /usr/local/bin/script_services.sh # 5. Désactiver le démarrage automatique de Zimbra : #Vérifie si Zimbra a un service systemd : sudo systemctl list-units --type=service | grep -i zimbra # Si ou, le désactiver: sudo systemctl disable zimbra sudo update-rc.d zimbra remove # 6. Redémarrer sudo reboot # 7. Vérifier que le processus slapd port 389 est arrêté : sudo ss -tulnp | grep 389 # 8. Exécuter Zimbra : su - zimbra zmcontrol start # 9. Vérifier le status de Zimbra zmcontrol status # 10. Vérifier les logs : sudo tail -n 50 /var/log/zimbra.log journalctl -u zimbra.service -b