
Zimbra 8 une solution VMware optimisée pour le vCloud. Installer, administrer et gérer vos courriels facilement.
Cas d'usage concret
Vous cherchez une alternative de messagerie collaborative optimisée pour le vCloud VMware : voici comment installer Zimbra 8 Open Source Edition.
Zimbra est une messagerie collaborative rachetée en 2010 par la société VMware.
C’est un logiciel de courrier électronique et de collaboration de nouvelle génération très fiable.
Zimbra 8 est une réponse pour les entreprises qui souhaitent avoir une messagerie dans un vCloud.
Toute l’interface web est en «AJAX » ce qui la rend très agréable à prendre en main.
Cet article s’oriente sur une installation de base de Zimbra 8.
Les modules de Zimbra que nous allons installer sont les suivants :
- zimbra-ldap : Zimbra intègre une fonctionnalité d‘annuaire d’entreprise et de configuration ldap.
- zimbra-logger : Zimbra logger enregistre les informations d’état du serveur ainsi que ses statistiques.
- zimbra-mta : le MTA permet la réception et l’envoie d’emails, il inclut : postfix, clamav, SpamAssassin.
- zimbra-snmp : Ce module permet la surveillance par snmp sur le réseau.
- zimbra-store : C’est l’endroit où sont stockés tous vos emails entrants/sortants de toutes vos boîtes.
- zimbra-apache : Le serveur apache permet l’affichage de l’interface de Zimbra sur le web.
- zimbra-spell : Zimbra permet l’intégration d’un correcteur orthographique.
- zimbra-memcached : Meilleure gestion des données et des objets en ram pour plus de rapidité.
- zimbra-proxy : Permet d’avoir un intermédiaire entre le serveur et le web par exemple.
J’ai volontairement tout sélectionné afin d’avoir une vue d’ensemble de Zimbra 8.
Concrètement notre Zimbra 8 est virtualisé (vCloud) sur une infrastructure ESXi 5.
Il est dans un réseau local (lan) sa configuration est dite « single domaine« .
- Préparation de notre serveur Linux (Ubuntu 12.04 LTS).
- Installation du serveur Zimbra 8.
- Configuration des modules de Zimbra.
- L’interface web d’administrateur.
- Les répertoires importants de Zimbra.
- Les commandes de base en CLI.
Notre serveur est sous Ubuntu 12.04 LTS (version supportée par Zimbra).
Préparation du serveur Linux
Mise à jour de vos fichiers sources et installation des nouveaux paquets :
apt-get update && apt-get upgrade
Se rendre dans la configuration des interfaces réseau :
nano /etc/network/interface
Rajouter dans ce fichier votre interface « eth0 » (configuration statique) :
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.10.10
netmask 255.255.255.0
broadcast 255.255.255.255
gateway 192.168.10.1
Modification du nom de la machine FQDN :
nano /etc/hostname
Rajouter dans ce fichier votre nom de domaine avec un sous domaine par exemple :
webmail.kassianoff.fr
Ensuite, modifier le fichier « hosts » du serveur :
nano /etc/hosts
Rajouter dans le fichier la résolution de nom, l’adresse IP privée et le nom FQDN de votre serveur :
127.0.0.1 localhost.localdomain localhost
192.168.10.10 webmail.kassianoff.fr webmail
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Modification du resolv.conf :
nano /etc/resolv.conf
Écrire la ligne suivante :
nameserver 127.0.0.1
Zimbra est en local, pour éviter les problèmes de résolution DNS nous devons utiliser SPLIT-DNS.
Le Split DNS est la solution face aux problèmes d’utilisation du même nom de zone en interne et en externe. L’utilisation du même nom de domaine en interne et en externe pose des soucis de résolution.
Le Split-DNS sera utilisé avec le logiciel dnsmasq pour sa simplicité et son efficacité.
Installation de dnsmasq :
apt-get install dnsmasq
Se rendre dans le fichier de configuration de dnsmasq :
nano /etc/dnsmasq.conf
Écrire dans le fichier de dnsmasq :
server=213.186.33.99 (DNS)
server=188.165.54.37 (IP public)
domain=kassianoff.fr
mx-host=kassianoff.fr webmail.kassianoff.fr,5
listen-address=127.0.0.1
Vérification de la configuration du split-dns :
dig webmail.kassianoff.fr
; <<>> DiG 9.3.6-P1 <<>> webmail.kassianoff.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39592
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;webmail.kassianoff.fr IN A
;; ANSWER SECTION:
webmail.kassianoff.fr. 3564 IN A 192.168.10.10
;; Query time: 2 msec
;; SERVER: 127.10.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 26 18:17:18 2013
;; MSG SIZE rcvd: 52
Votre split-dns avec dnsmasq est prêt ! N’oubliez pas de redémarrer le network et le hostname :
/etc/init.d/hostname restart && /etc/init.d/networking restart
Installation du serveur Zimbra 8
Nous devons télécharger l’archive sur le site de zimbra à cette adresse.
wget http://files2.zimbra.com/downloads/8.0.5_GA/zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz
Décompresser l’archive zcs-8.0.5 :
tar xvzf zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz
Se rendre dans l’archive :
cd ./zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038
Lancer le script d’installation de zimbra :
./install.sh
Accepter la licence d’installation du programme :
.Do you agree with the terms of the software license agreement?[N] Y
Par défaut le script d’installation recherche des pré-requis pour l’installation de zimbra :
Checking for prerequisites...
FOUND: NPTL
FOUND: netcat-openbsd-1.89-4ubuntu1
FOUND: sudo-1.8.3p1-1ubuntu3.4
FOUND: libidn11-1.23-2
FOUND: libpcre3-8.12-4
MISSING: libgmp3c2
FOUND: libexpat1-2.0.1-7.2ubuntu1.1
FOUND: libstdc++6-4.6.3-1ubuntu5
MISSING: libperl5.14
Checking for suggested prerequisites...
MISSING: pax does not appear to be installed.
FOUND: perl-5.14.2
MISSING: sysstat does not appear to be installed.
MISSING: sqlite3 does not appear to be installed.
###WARNING###
The suggested version of one or more packages is not installed.
This could cause problems with the operation of Zimbra.
Do you wish to continue? [N] N
Exit? [N] Y
Exiting.
Par défaut il manque les paquets suivants :
libgmp3c2, libperl5.14, pax, sysstat, sqlite3
Installation des paquets manquants :
apt-get install libgmp3c2 libperl-dev pax sysstat sqlite3
Puis on recommence l’installation du script « install.sh » :
Checking for prerequisites...
FOUND: NPTL
FOUND: netcat-openbsd-1.89-4ubuntu1
FOUND: sudo-1.8.3p1-1ubuntu3.4
FOUND: libidn11-1.23-2
FOUND: libpcre3-8.12-4
FOUND: libgmp3c2-2:4.3.2+dfsg-2ubuntu1
FOUND: libexpat1-2.0.1-7.2ubuntu1.1
FOUND: libstdc++6-4.6.3-1ubuntu5
FOUND: libperl5.14-5.14.2-6ubuntu2.3
Checking for suggested prerequisites...
FOUND: pax
FOUND: perl-5.14.2
FOUND: sysstat
FOUND: sqlite3
Prerequisite check complete.
Checking for installable packages
Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy
Select the packages to install
Install zimbra-ldap [Y]
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-snmp [Y] y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-memcached [N] Y
Install zimbra-proxy [N] Y
Checking required space for zimbra-core
Checking space for zimbra-store
Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell
zimbra-memcached
zimbra-proxy
The system will be modified. Continue? [N] Y
Attention une erreur peut survenir à ce niveau de l’installation (erreur DNS) :
Operations logged to /tmp/zmsetup.10272013-111902.log
Installing LDAP configuration database...done.
Setting defaults...No results returned for A lookup of webmail.kassianoff.fr
Checked nameservers:
127.0.0.1
No results returned for AAAA lookup of webmail.kassianoff.fr
Checked nameservers:
127.0.0.1
DNS ERROR resolving webmail.kassianoff.fr
It is suggested that the hostname be resolvable via DNS
Change hostname [Yes] Yes
Please enter the logical hostname for this host [webmail.kassianoff.fr] kassianoff.fr
Vérifier vos DNS avec la commande « dig » vu précédemment.
Vous relancez le script et une erreur MX apparaît? Alors, il faut changer le domaine en « kassianoff.fr« :
DNS ERROR resolving MX for webmail.kassianoff.fr
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] Yes
Create domain: [webmail.kassianoff.fr] kassianoff.fr
MX: webmail.kassianoff.fr (192.168.10.10)
Interface: 192.168.10.10
Interface: 127.0.0.1
Interface: ::1
done.
Checking for port conflicts
Une fois cette étape terminée, le menu de configuration des modules apparaît.
Configuration des modules de Zimbra en CLI via le menu.
Le menu principal permet de configurer l’ensemble des modules de zimbra.
Nous allons regarder/modifier les choix chronologiquement de 1 à 8 :
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: [email protected]
******* +Admin Password UNSET
+Anti-virus quarantine user: [email protected]
+Enable automated spam training: yes
+Spam training user: [email protected]
+Non-spam(Ham) training user: [email protected]
+SMTP host: webmail.kassianoff.fr
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: https
+IMAP server port: 7143
+IMAP server SSL port: 7993
+POP server port: 7110
+POP server SSL port: 7995
+Use spell check server: yes
+Spell server URL: http://webmail.kassianoff.fr:7780/aspell.php
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: [email protected]
+Version update source email: [email protected]
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) zimbra-proxy: Enabled
9) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Address unconfigured (**) items (? - help)
Choisir l’option numéro 1 pour « common configuration », le menu « Common configuration » apparaît :
Common configuration
1) Hostname: webmail.kassianoff.fr
2) Ldap master host: webmail.kassianoff.fr
3) Ldap port: 389
4) Ldap Admin password: set
5) Secure interprocess communications: yes
6) TimeZone: Africa/Algiers
7) IP Mode: ipv4
8) Default SSL digest: sha1
Select, or 'r' for previous menu [r] 6
Nous allons simplement modifier le Time Zone en sélectionnant le choix numéro 6 :
« Europe/Paris » n’est pas disponible dans le choix donc nous utiliserons »Europe/Berlin » :
78 Europe/Berlin
Ensuite valider votre choix 78 puis faire « r » pour venir sur le menu principal.
Choisir l’option numéro 2 pour « zimbra-ldap« , le menu de configuration ldap apparaît (optionnel) :
Ldap configuration
1) Status: Enabled
2) Create Domain: yes
3) Domain to create: kassianoff.fr
4) Ldap root password: set
5) Ldap replication password: set
6) Ldap postfix password: set
7) Ldap amavis password: set
8) Ldap nginx password: set
9) Ldap Bes Searcher password: set
Select, or 'r' for previous menu [r]
Ce menu est utilisé notamment pour la réplication LDAP entre plusieurs serveurs Zimbra.
Par défaut tout est configuré pour que votre serveur soit maître et accepte la réplication LDAP.
Ensuite sélectionner l’option numéro 3 appelée « zimbra-store » dans le menu principal (indispensable) :
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: [email protected]
** 4) Admin Password UNSET
5) Anti-virus quarantine user: [email protected]
6) Enable automated spam training: yes
7) Spam training user: [email protected]
8) Non-spam(Ham) training user: [email protected]
9) SMTP host: webmail.kassianoff.fr
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: https
13) IMAP server port: 7143
14) IMAP server SSL port: 7993
15) POP server port: 7110
16) POP server SSL port: 7995
17) Use spell check server: yes
18) Spell server URL: http://webmail.kassianoff.fr:7780/aspell.php
19) Enable version update checks: TRUE
20) Enable version update notifications: TRUE
21) Version update notification email: [email protected]
22) Version update source email: [email protected]
Le contenu de ce sous-menu est assez simple, il vous faudra créer un mot de passe administrateur. Vous devez sélectionner le choix numéro 4 et valider votre password et retour avec « r ».
Je vous recommande de renommer les Users : virus*, spam, ham afin de les rendre plus lisible.*
On continue avec le choix numéro 4 du menu principal « zimbra-mta » (optionnel) :
Mta configuration
1) Status: Enabled
2) MTA Auth host: webmail.kassianoff.fr
3) Enable Spamassassin: yes
4) Enable Clam AV: yes
5) Enable OpenDKIM: yes
6) Notification address for AV alerts: [email protected]
7) Bind password for postfix ldap user: set
8) Bind password for amavis ldap user: set
Cette option permet de relayer les messages vers un autre serveur dans le cas par exemple d’une configuration multi-domaine, dans notre cas aucune modification n’est à effectuer.
Les choix numéros 5, 6 et 7 ne nous intéressent pas dans notre cas précis (optionnel):
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
Passons au choix numéro 8, le « zimbra-proxy » (optionnel) :
Proxy configuration
1) Status: Enabled
2) Enable POP/IMAP Proxy: TRUE
3) IMAP proxy port: 143
4) IMAP SSL proxy port: 993
5) POP proxy port: 110
6) POP SSL proxy port: 995
7) Bind password for nginx ldap user: set
8) Enable HTTP[S] Proxy: FALSE
Nous n’avons pas besoin du zimbra-proxy mais si vous souhaitez avoir plusieurs domaines sur votre serveur c’est indispensable, vous pouvez changer sont status par « disabled » si vous le souhaitez.
Valider les changements sur le menu principal comme ceci :
*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes] Yes
Save config in file: [/opt/zimbra/config.21039]
Saving config in /opt/zimbra/config.21039...done.
The system will be modified - continue? [No] Yes
Operations logged to /tmp/zmsetup.10272013-113242.log
Setting local config values...
Lors de la fin de l’installation vous deviez avoir :
Finished installing common zimlets.
Restarting mailboxd...done.
Creating galsync account for default domain...done.
You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Server.
The only information that will be transmitted is:
The VERSION of zcs installed (8.0.5_GA_5839_UBUNTU12_64)
The ADMIN EMAIL ADDRESS created ([email protected])
Notify Zimbra of your installation? [Yes] Yes
Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=8.0.5_GA_5839_UBUNTU12_64&MAIL=[email protected]
Notification complete
Setting up zimbra crontab...done.
Moving /tmp/zmsetup.10272013-113242.log to /opt/zimbra/log
Configuration complete - press return to exit
Le serveur Zimbra est prêt ! N’oubliez pas de faire votre NAT avec les ports ouverts vers l’extérieur :
22,25,143,443,587,993,7071
Je vous conseille d’enlever le 22 et le 7071 à la fin de la configuration.
Prendre en main l’interface web d’administrateur
Rendez-vous sur votre interface web en http ou https sur le port 7071 : https://webmail.kassianoff.fr
C’est chouette n’est ce pas ? Identifiez vous !

Pour ajouter un compte , cliquez sur « ajouter un compte ».
Je ne vais pas aborder les options de l’interface web , pour plus de détails : l’interface zimbra.
Les répertoires importants de Zimbra
Où sont localisés les fichiers de Zimbra ? Ils sont tous localisés dans le répertoire suivant :
cd /opt/zimbra
On y retrouve tous les modules installés ainsi que leur configuration et leurs données.
Les commandes de base en CLI
Toutes les commandes sont exécutées uniquement avec l’utilisateur « zimbra« .
Authentification avec l’utilisateur « zimbra » :
su zimbra
Arrêter le serveur Zimbra :
zmcontrol stop
Démarrer le serveur Zimbra :
zmcontrol start
Connaître le status du serveur Zimbra :
zmcontrol status
Affichage de la configuration locale du serveur Zimbra :
zmlocalconfig -s
Affichage du mot de passe mysql root :
zmlocalconfig -s mysql_root_password
Se connecter à mysql avec le compte root :
mysql -S /opt/zimbra/db/mysql.sock -u root --password=mysql_root_password
Affichage d’un répertoire utilisateur sur le serveur zimbra :
mmailbox -z -m [email protected] gaf
Vider le répertoire d’un utilisateur :
zmmailbox -z -m [email protected] ef /nomDuRepertoire
Afficher la liste des users du serveur zimbra :
zmprov -l gaa
Créer un compte mail :
zmprov ca [email protected] monPassword displayName moncompte
La liste est encore longue, donc pour plus d’informations : la documentation officielle.
Je vous encourage à utiliser un certificat SSL afin d’avoir un certificat valide.
Cet article touche à sa fin, j’espère que votre serveur zimbra vous plaît !
Conclusion
Cet article a couvert l’installation complète de Zimbra 8 Open Source Edition sous Ubuntu 12.04 LTS : préparation réseau et Split-DNS avec dnsmasq, installation des différents modules (ldap, mta, store, proxy...), prise en main de l’interface web d’administration ainsi que les principales commandes CLI de gestion (zmcontrol, zmprov, zmmailbox). Cette messagerie collaborative open-source offre une alternative complète et fiable aux solutions propriétaires pour héberger sa propre infrastructure de courriels. Pensez à sécuriser l’accès avec un certificat SSL valide pour finaliser la mise en production.
