Zimbra
Zimbra Collaboration est la solution de messagerie et de collaboration open source la plus répandue dans le monde.
Zimbra Collaboration est une solution complète (messagerie, contacts, agendas, partage de fichiers, gestion des tâches, chat). Les clients accèdent aux fonctionnalités à l'aide du client Web Zimbra et la solution supporte tous les types d'équipement.
Vous pouvez déployer Zimbra sur site ou chez un prestataire spécialisé dans l'hébergement des solutions Zimbra.
- Présentation
- Prérequis
- Préparation système
- Installation de Zimbra 8.8.15 OSE
- Configuration des modules
- Commandes
- Changement interface
- Personnaliser Universal UI
Présentation
Qu’est-ce que Zimbra ?
Zimbra est une suite collaborative open source qui offre un ensemble complet d’outils pour la gestion des emails, des calendriers, des contacts, et du travail collaboratif. Il permet aux entreprises et aux utilisateurs de gérer leur communication de manière centralisée, à la fois depuis un navigateur web ou via des clients de messagerie classiques.
Zimbra combine un serveur de messagerie performant avec une interface web moderne, ce qui facilite l’accès à ses outils depuis n’importe quel appareil connecté.
À quoi sert Zimbra ?
Zimbra sert principalement à gérer les emails professionnels, les agendas partagés, et les contacts d’une organisation. Il offre aussi des fonctionnalités de collaboration comme le partage de fichiers, les tâches, et la messagerie instantanée.
Il permet d’avoir une plateforme complète pour centraliser les communications internes et externes, et ainsi améliorer la productivité des équipes.
Comment fonctionne Zimbra ?
Zimbra s’installe sur un serveur qui héberge plusieurs services : un serveur de messagerie (SMTP, IMAP, POP3), un serveur web pour l’interface utilisateur, une base de données pour stocker les informations, et des outils pour gérer les contacts et calendriers.
Les utilisateurs peuvent accéder à leurs emails et calendriers via le webmail intégré, ou en configurant leurs clients de messagerie préférés avec les protocoles standards. Zimbra offre aussi des fonctionnalités avancées de filtrage, d’archivage et de sécurité.
Pourquoi utiliser Zimbra ?
Zimbra est une solution tout-en-un qui simplifie la gestion de la messagerie et de la collaboration. Elle est particulièrement intéressante pour les entreprises qui veulent garder le contrôle sur leurs données, car elle peut être auto-hébergée.
La plateforme est riche en fonctionnalités, facile à utiliser, et supporte de nombreux standards ouverts, garantissant une bonne compatibilité avec d’autres outils.
Cas d’usage courants
Zimbra est utilisé pour :
-
Gérer les emails professionnels et personnels,
-
Partager des calendriers et organiser des réunions,
-
Centraliser les contacts de l’entreprise,
-
Collaborer en équipe avec le partage de fichiers et les tâches,
-
Bénéficier d’une interface web accessible partout.
En résumé
Zimbra est une plateforme complète pour la messagerie et la collaboration, conçue pour les organisations qui souhaitent un contrôle total sur leurs communications tout en bénéficiant d’outils modernes et performants.
Prérequis
La première chose à savoir est que la dernière version Open Source de Zimbra à l'heure actuelle est la 8.8.15, au dela, ce sont des versions payantes soumis à licence.
Serveur
OS supportés pour la version Open Source :
- Red Hat Enterprise Linux 7
- CentOS Linux 7
- Red Hat Enterprise Linux 6, patch level 4 or later is required
- CentOS Linux 6, patch level 4 or later is required.
- Oracle Linux 7.2
- Oracle Linux 6.6
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
Matériel
- 8 Go de RAM
- 4-core CPU or 4 vCPUs
- 10 Go disque disponible
DNS
- FQDN, MX, and A DNS-records
- Set the timezone and NTP
Zimbra Web Client
NOTE: Le client HTML n'est plus supporté, fin du support 1Juillte 2022.
Windows with one of the following:
- Microsoft support is only available for Internet Explorer 11 or Microsoft Edge
- IE11 and higher for Windows 8.1
- IE11 or Microsoft Edge or Windows 10
- The latest stable release of:
- Firefox
- Safari
- Google Chrome
MacOS with one of the following:
- Firefox
- Safari
- Chrome
Linux with the latest stable release of one of the following:
- Firefox
- Google Chrome
Préparation système
Le serveur de démonstration est sous Ubuntu 20.04 LTS.
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) :
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
addresses: 192.168.1.1/24
routes:
nameservers:
addresses: 1.1.1.1
dhcp4: false
dhcp6: false
On applique ensuite la configuration :
netplan apply
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.mondomaine.tlf
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 :
192.168.1.1 webmail.mondomaine.tlf webmail
127.0.0.1 localhost.localdomain localhost
# 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=mondomaine.tld
mx-host=kassianoff.fr webmail.mondomaine.tld,5
listen-address=127.0.0.1
Vérification de la configuration du split-dns :
dig webmail.mondomaine.tld
; <<>> DiG 9.3.6-P1 <<>> webmail.mondomaine.tld
;; 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.mondomaine.tld IN A
;; ANSWER SECTION:
webmail.mondomaine.tld. 3564 IN A 192.168.1.1
;; 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
Installation de Zimbra 8.8.15 OSE
Installation du serveur Zimbra 8
Nous devons télécharger l’archive sur le site de zimbra à cette adresse.
wget https://files.zimbra.com/downloads/8.8.15_GA/zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954.tgz
Décompresser l’archive zcs-8.0.5 :
tar xvzf zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954.tgz
Se rendre dans l’archive :
cd ./zcs-8.8.15_GA_4179.UBUNTU20_64.20211118033954
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.mondomaine.tld
Checked nameservers:
127.0.0.1
No results returned for AAAA lookup of webmail.mondomaine.tld
Checked nameservers:
127.0.0.1
DNS ERROR resolving webmail.mondomaine.tld
It is suggested that the hostname be resolvable via DNS
Change hostname [Yes] Yes
Please enter the logical hostname for this host [webmail.mondomaine.tld] mondomaine.tld
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.mondomaine.tld
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] Yes
Create domain: [webmail.mondomaine.tld] mondomaine.tld
MX: webmail.mondomaine.tld (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
Configuration des modules de Zimbra en CLI via le menu.
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@mondomaine.tld
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.sbinw9ef@mondomaine.tld
+Enable automated spam training: yes
+Spam training user: spam.h3fb3jm3zc@mondomaine.tld
+Non-spam(Ham) training user: ham.xrtqg6m4ff@mondomaine.tld
+SMTP host: webmail.mondomaine.tld
+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.mondomaine.tld:7780/aspell.php
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: admin@mondomaine.tld
+Version update source email: admin@mondomaine.tld
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.mondomaine.tld
2) Ldap master host: webmail.mondomaine.tld
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: mondomaine.tld
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]
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: admin@mondomaine.tld
** 4) Admin Password UNSET
5) Anti-virus quarantine user: virus-quarantine.sbinw9ef@mondomaine.tld
6) Enable automated spam training: yes
7) Spam training user: spam.h3fb3jm3zc@mondomaine.tld
8) Non-spam(Ham) training user: ham.xrtqg6m4ff@mondomaine.tld
9) SMTP host: webmail.mondomaine.tld
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.mondomaine.tld:7780/aspell.php
19) Enable version update checks: TRUE
20) Enable version update notifications: TRUE
21) Version update notification email: admin@mondomaine.tld
22) Version update source email: admin@mondomaine.tld
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.mondomaine.tld
3) Enable Spamassassin: yes
4) Enable Clam AV: yes
5) Enable OpenDKIM: yes
6) Notification address for AV alerts: admin@mondomaine.tld
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 (admin@kassianoff.fr)
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=admin@kassianoff.fr
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.
Commandes
Commandes CLI utiles
Toutes les commandes sont à exécuter en tant qu’utilisateur zimbra :
su - zimbra
Gestion des comptes utilisateurs
Créer un compte
zmprov ca user@domaine.tld motdepasse
Modifier un compte (ex. mot de passe)
zmprov ma user@domaine.tld userPassword "NouveauMotDePasse"
Supprimer un compte
zmprov da user@domaine.tld
Afficher les infos d’un compte
zmprov ga user@domaine.tld
Lister tous les comptes d’un domaine
zmprov -l gaa domaine.tld
Alias et listes de distribution
Ajouter un alias
zmprov aaa user@domaine.tld alias@domaine.tld
Supprimer un alias
zmprov raa user@domaine.tld alias@domaine.tld
Créer une liste de distribution
zmprov cdl liste@domaine.tld
Ajouter un membre à une liste
zmprov adlm liste@domaine.tld membre@domaine.tld
Supprimer un membre d’une liste
zmprov rdlm liste@domaine.tld membre@domaine.tld
Domaines
Créer un domaine
zmprov cd domaine.tld
Lister tous les domaines
zmprov gad
Afficher les infos d’un domaine
zmprov gd domaine.tld
Boîtes mails & quotas
Lister l’espace disque utilisé par les comptes
zmprov gqu `zmhostname`
Changer le quota d’un utilisateur (ex. 1 Go)
zmprov ma user@domaine.tld zimbraMailQuota 1073741824
Services et statut
Démarrer Zimbra
zmcontrol start
Arrêter Zimbra
zmcontrol stop
Vérifier l’état des services
zmcontrol status
Recherche & maintenance
Rechercher un compte par nom
zmprov sa nomutilisateur
Lister les classes de service (COS)
zmprov gac
Vérifier les logs (mailbox)
tail -f /opt/zimbra/log/mailbox.log
La liste est encore longue, donc pour plus d’informations : la documentation officielle.
Changement interface
Installation d'une interface plus moderne :
Sauvegarde du répertoire webapps :
cd /opt/zimbra/jetty/webapps/
tar -czvf /srv/zimbra-webapps.tgz zimbra
Télécharger Universal UI :
cd /tmp/
wget -c https://github.com/imanudin11/zimbra-ui/raw/master/zimbra-ui.tgz
Extraire et copier :
tar -zxvf zimbra-ui.tgz
rsync -avP /tmp/zimbra/ /opt/zimbra/jetty/webapps/zimbra/
Supprimer le theme harmony par défaut et le remplacer :
cd /opt/zimbra/jetty/webapps/zimbra/skins/
rm -rvf harmony/
ln -sf clarity harmony
Fixer les permissions et redémarrer le mailbox manager :
/opt/zimbra/libexec/zmfixperms -v
su - zimbra -c "zmmailboxdctl restart"
Tout le projet est disponible sur Github.
Personnaliser Universal UI
To do