Installer Zimbra sur Ubuntu

Verdict. Zimbra sur Ubuntu convient a une equipe qui veut administrer sa messagerie sur une machine dediee. Preparez un FQDN, les DNS A et MX et le pare-feu avant l’installeur. Une licence Zimbra est requise; sans elle, l’installation ne peut pas creer les comptes.
Sommaire
- Ce que Zimbra installe sur la machine
- Preparer Ubuntu avant toute installation
- Faire passer le DNS avant l’installeur
- Ouvrir les ports utiles, pas toute l’administration
- Telecharger le bon paquet et preparer la licence
- Lancer l’installation mono-serveur
- Verifier l’installeur automatique sans l’executer aveuglement
- Lire le resultat avant d’envoyer le premier message
- Ajouter TLS et controler la reception
- Les erreurs qui expliquent presque tous les echecs
Le tutoriel historique visait Ubuntu 18.04. La procedure actuelle doit partir de la documentation d’installation mono-serveur Zimbra Daffodil et des notes de version correspondant a l’image Ubuntu retenue. Ne reutilisez pas un paquet ou une commande d’une ancienne version parce que le nom se ressemble.
Ce que Zimbra installe sur la machine
Une installation mono-serveur regroupe le MTA, le serveur LDAP et le serveur de boites aux lettres. La suite apporte aussi les composants dont elle depend, notamment Postfix, OpenLDAP et Jetty. Zimbra demande donc une machine reservee a cet usage: la documentation interdit de laisser un autre MTA, serveur LDAP, serveur web ou serveur de base de donnees en concurrence avec l’installation.
Ce choix n’est pas une simple question de confort. L’installeur modifie la configuration globale du systeme et peut casser un service deja present. Pour un premier deploiement, utilisez une VM ou un serveur neuf, avec un acces console ou SSH de secours, une sauvegarde de l’image et un nom de machine que vous ne changerez plus apres l’installation.
Preparer Ubuntu avant toute installation
- Choisissez une image Ubuntu LTS encore declaree compatible par Zimbra. La documentation Zimbra mentionne Ubuntu LTS et renvoie aux notes de version pour la liste des correctifs testes. La page Ubuntu et terminal aide a distinguer une installation serveur minimale d’un poste de travail, mais elle ne remplace pas la matrice de compatibilite Zimbra.
- Mettez le systeme a jour sans ajouter de service mail. Sur une image neuve, executez
sudo apt updatepuissudo apt full-upgrade. Pour les outils de verification DNS, Ubuntu documente le paquetdnsutils:sudo apt install dnsutils. - Fixez le nom complet de la machine. L’exemple ci-dessous utilise
mail.example.com; remplacez-le par votre vrai nom avant de lancer la commande.sudo hostnamectl set-hostname mail.example.com hostname --fqdn getent hosts mail.example.comLe dernier test doit renvoyer l’adresse du serveur. Si la resolution locale ou distante est incoherente, corrigez le DNS avant de continuer. Les commandes de lecture de connexion et de resolution reseau permettent de separer une panne DNS d’une panne de route.
- Ne creez pas vous-meme l’utilisateur
zimbra. L’installeur le cree avec son environnement. Ajouter cet utilisateur a l’avance provoque un conflit difficile a diagnostiquer.
Faire passer le DNS avant l’installeur
Zimbra verifie le domaine au moment ou vous le creez. Pour recevoir du courrier depuis Internet, le domaine doit publier un enregistrement MX qui pointe vers un nom possedant lui-meme un enregistrement A. La documentation DNS d’Ubuntu rappelle aussi qu’un enregistrement MX ne doit pas pointer vers un CNAME.
Pour un domaine example.com et une machine mail.example.com, la zone doit ressembler a ceci:
mail.example.com. IN A 203.0.113.10
example.com. IN MX 10 mail.example.com.
L’adresse 203.0.113.10 est un exemple reserve a la documentation. Remplacez-la par l’IP publique de votre serveur. Depuis une machine qui utilise les DNS publics du domaine, verifiez la reponse:
dig +short A mail.example.com
dig +short MX example.com
Le premier resultat doit donner l’IP du serveur. Le second doit donner 10 mail.example.com. ou la priorite et le nom que vous avez choisis. Un MX correct ne suffit pas pour la delivrabilite: le fournisseur d’hebergement doit aussi autoriser le port SMTP sortant et permettre un reverse DNS coherent avec le nom de la machine.
Ouvrir les ports utiles, pas toute l’administration
La table de ports Zimbra distingue les acces clients des ports internes. Pour un serveur mono-noeud, les connexions publiques habituelles sont SMTP sur 25, web sur 443, soumission SMTP sur 587, IMAPS sur 993 et POP3S sur 995 si vous utilisez encore POP3. Le port 80 peut servir a une redirection ou a une validation de certificat.
Les ports d’administration comme 7071 ne doivent pas etre exposes sans restriction. Autorisez-les depuis votre VPN ou votre adresse d’administration, puis verifiez ce qui ecoute vraiment:
sudo ss -ltnp
sudo ufw status verbose
N’appliquez pas une commande qui arrete indistinctement tous les services. Cherchez d’abord les collisions:
sudo ss -ltnp | grep -E ':(25|80|443|389|3306|5432)\b'
systemctl --type=service --state=running | grep -Ei 'postfix|sendmail|mysql|mariadb|postgres|slapd|nginx|apache2'
Un resultat sur 25, 389, un port de base de donnees ou un serveur web n’est pas une permission de supprimer le service. Identifiez son proprietaire, sauvegardez sa configuration et utilisez un hote dedie si vous ne pouvez pas le retirer proprement.
Telecharger le bon paquet et preparer la licence
Telechargez l’archive depuis la page officielle de telechargement Zimbra, puis lisez la section correspondant exactement a sa version dans la documentation Daffodil. Le document d’installation indique qu’il couvre Zimbra 10.0 et 10.1.0; une version plus recente doit etre rapprochee de ses notes de version avant de lancer install.sh.
Pour Daffodil 10.1, l’installeur a change de modele de licence: la documentation indique une cle alphanumerique de 18 a 26 caracteres et un service de licence dedie. Les versions precedentes peuvent demander un fichier de licence. Ne placez pas cette valeur dans un historique de shell partage ni dans un script publie.
Verifiez d’abord l’archive sans l’executer:
tar -tzf zcs-ARCHIVE.tar.gz | sed -n '1,20p'
tar -xzf zcs-ARCHIVE.tar.gz
cd zcs-DOSSIER
Vous devez voir install.sh et les fichiers de l’archive attendue. Si le nom de version, l’architecture ou le systeme cible ne correspondent pas, arretez-vous la plutot que de forcer l’installation.
Lancer l’installation mono-serveur
Depuis le repertoire extrait, lancez l’installeur officiel avec les privileges administrateur:
sudo ./install.sh
Le programme controle la disponibilite des paquets, detecte certains services incompatibles et ouvre un menu de configuration. Relisez chaque valeur avant de la valider:
- le nom complet du serveur, par exemple
mail.example.com; - le domaine de messagerie, par exemple
example.com; - le compte administrateur et son mot de passe;
- les composants Zimbra necessaires a ce noeud;
- le fichier de licence ou la cle attendue par la version installee.
Le mot de passe administrateur Zimbra doit comporter au moins six caracteres selon la documentation Daffodil. Utilisez une valeur longue et unique, puis conservez-la dans un gestionnaire de mots de passe. Le nom du compte administrateur ne se renomme pas legerement: les notifications automatiques peuvent dependre de ce compte.
Ne validez pas automatiquement un avertissement de remplacement de service sans avoir identifie le service concerne. En cas d’erreur, conservez le journal indique par l’installeur, corrigez la cause puis relancez la procedure sur une image propre si des paquets ont deja ete partiellement modifies.
Verifier l’installeur automatique sans l’executer aveuglement
Le depot officiel Zimbra/zinstaller fournit notamment supported-os-installer.sh. Il vise une installation mono-noeud et demande un fichier ou une cle de licence selon la version. Ce chemin est pratique pour une evaluation, mais il ne remplace pas la lecture de la version cible: un script d’automatisation peut modifier ou nettoyer une installation existante.
Le geste reproductible suivant controle uniquement le telechargement et la syntaxe Bash. Le 18 septembre 2026, la copie recuperee depuis le depot officiel mesurait 18 758 octets; son SHA-256 etait 3cd9a3c7a805d4657151ce9ac7a7c03046a05572ad987977f2024df9b4175a81. Executez la mesure vous-meme avant toute utilisation:
curl -fL https://raw.githubusercontent.com/Zimbra/zinstaller/main/supported-os-installer.sh \
-o supported-os-installer.sh
wc -c supported-os-installer.sh
sha256sum supported-os-installer.sh
bash -n supported-os-installer.sh
La commande bash -n ne lance aucune installation et ne prouve pas que votre Ubuntu, votre licence ou votre DNS sont compatibles. Elle evite seulement de partir d’un fichier tronque ou syntaxiquement invalide. Pour l’execution, utilisez une machine dediee, lisez l’aide du script avec bash supported-os-installer.sh --help et suivez les parametres de la version publiee.
Lire le resultat avant d’envoyer le premier message
Quand l’installeur termine, passez par l’utilisateur zimbra pour demander l’etat des services:
sudo su - zimbra -c 'zmcontrol status'
sudo su - zimbra -c 'zmcontrol -v'
hostname --fqdn
dig +short A mail.example.com
dig +short MX example.com
zmcontrol status doit afficher les services attendus comme actifs. Une ligne absente ou arretee doit etre traitee avant tout test de courrier; consultez les journaux avec les commandes systemd et journalctl, puis relisez le journal Zimbra associe au service en erreur.
Depuis un poste client, ouvrez l’URL HTTPS du nom de serveur, pas son adresse IP. Testez ensuite une boite interne, un envoi vers une adresse externe et une reponse vers la boite Zimbra. Examinez les en-tetes du message recu: ils doivent montrer le domaine attendu et le chemin de transport prevu. Un webmail accessible ne prouve pas que le SMTP entrant ou sortant fonctionne.
Ajouter TLS et controler la reception
Une fois le nom et le DNS stables, appliquez la procedure officielle Let’s Encrypt pour Zimbra. La documentation verifie notamment le FQDN, un enregistrement CAA autorisant Let’s Encrypt et la disponibilite du port 80 pendant l’emission du certificat. Elle decrit aussi le redeploiement du certificat dans Zimbra et le redemarrage necessaire.
Avant de demander le certificat, controlez les prerequis:
hostname --fqdn
dig +short CAA example.com
sudo ss -ltnp | grep ':80 '
openssl s_client -connect mail.example.com:443 \
-servername mail.example.com </dev/null
Pour la reception Internet, verifiez enfin le port 25 depuis un reseau externe et regardez le reverse DNS fourni par l’hebergeur. Pour la soumission des utilisateurs, imposez le port 587 avec TLS et n’utilisez pas le port 25 comme raccourci de configuration client.
Les erreurs qui expliquent presque tous les echecs
- Le MX pointe vers une IP ou un CNAME: publiez le nom du serveur dans un A, puis faites pointer le MX vers ce nom.
- Le FQDN change apres l’installation: corrigez DNS, certificat et configuration Zimbra ensemble; ne modifiez pas seulement
/etc/hostname. - Postfix, nginx ou MariaDB tourne deja: revenez a une machine dediee au lieu de masquer le conflit.
- Le port 25 reste ferme: verifiez le pare-feu local, le pare-feu du fournisseur et sa politique SMTP sortante.
- Le webmail repond mais le courrier n’arrive pas: relisez le MX public, le reverse DNS et les journaux MTA avant de changer les parametres du compte.
Un serveur mail se valide par la chaine complete: nom resolu, services actifs, TLS coherent, message entrant recu et message sortant remis. L’installation ne constitue que le premier de ces controles.