DAICHE Oussama Bts sio Sisr Installation, configuration serveur de messagerie zimbra avril 30 2014 Ce document est privé et strictement interdit à l usage et à la publication en ligne ICSMZ
SOMMAIRE Contenu 1) Objectifs... 3 2) A propos de Zimbra... 4 3) Public visé... 4 4) Configuration de base... 5 4.1Placer une adresse IP fixe... 5 4.2 Installer Webmin... 6 4.3 Installer et utiliser SSH... 7 5) Pré-requis... 8 6) Configuration conseillée... 9 7) Cadre général de l installation... 9 8) Environnement du tutoriel... 9 9) Améliorer l affichage :... 10 10) Installer Bind9... 11 10.1 Modifier le fichier /etc/hosts... 12 10.2 Modifier le nom de la machine... 12 10.3 Modifier le fichier resolv.conf... 13 11) Configuration des fichiers /etc/bind... 13 11.1 Configurer le fichier /etc/bind/named.conf... 14 11.2 Configurer le fichier named.conf.local :... 14 11.3 Configurer le fichier named.conf.options :... 15 11.4 créer le fichier db.tmioda.local... 16 11.5 créer le fichier db.15.0.10.in-addr.arpa... 16 12) VERIFICATION VIA DIG & NSLOOKUP... 18 12.1 Redémarrage de service bind9... 19 13) Installation de Zimbra... 20 13.1 Récupération de Zimbra... 20 13.2 Décompression de l archive... 20 13.3 Préparation des librairies nécessaires à Zimbra... 20 13.4 Début de l installation :... 21 14) Vérifier le serveur... 25 15) Configurer l authentification... 26 15.1 configure la liste GAL (liste d'adresses globale)... 28 15.2 Intégration des utilisateurs de l ad sur zimbra :... 30 16) Ajouter des utilisateurs... 31 16.1 Crée un utilisateur avec ZIMBRA... 40 17) Configuration de client lourd... 43 1
18) Conclusion... 45 2
1) Objectifs La messagerie et l accès à l Internet sont aujourd hui des outils indispensables. Toute entreprise qui soit devrait avoir son portail vers L internet. On va juger très facilement une entreprise en allant simplement voir ce qu elle propose sur son site Web, ou au minimum en la contactant. Avoir son propre nom de domaine est de l ordre de quelques euros renouvelable tous les ans. Une messagerie en «toto.de.monentreprise@un_autre_fournisseur.com» ne fait pas très «professionnelle». La société même si son enseigne n est pas sur Internet et vite mise au placard. La solution est donc de proposer son site web, a son nom de domaine et sa messagerie associée. Si obtenir son nom de domaine n est pas très onéreux, il n en est pas de même pour avoir un espace web volumineux et une messagerie au nombre d adresses mail illimité (et surtout un espace limité à un peu plus de 20mo par boîte). Les solutions de messagerie sont nombreuses, mais si l aspect pécuniaire est pris en compte, les solutions disponibles sont moins nombreuses mais demandent surtout plus de compétences. Ce tutoriel ne pourra pas s attarder dans tous ces domaines. Il va donc se contenter de proposer une solution libre de serveur de messagerie. C est le logiciel Zimbra qui sera proposé ici. 3
2) A propos de Zimbra En quelques mots, Zimbra est une solution logicielle communautaire (qui propose un ensemble de service comme la messagerie, carnet d adresses, agenda, rendez-vous,..) pour proposer une alternative libre à MS Exchange ou Lotus Notes. Son succès en fait aujourd'hui une plateforme collaborative majeure, comptant plusieurs millions d'utilisateurs. Zimbra utilise une interface Web pour sa gestion. Développée de manière la plus ergonomique possible alliée à son support de nombreux terminaux mobiles, elle est proposée comme atout majeur pour les entreprises. 3) Public visé Ce tutoriel vise un public averti et plus particulièrement la communauté des administrateurs système sous Linux. Ce document est entièrement privé, il appartient au propriétaire, ce document est strictement interdit a l usage et à la diffusion sans avoir l accord de son propriétaire 4
4) Configuration de base 4.1Placer une adresse IP fixe A partir du fichier interfaces (/etc/network/interfaces) placer une IP fixe pour le serveur ce qui facilitera son utilisation, son accès et surtout sa configuration. En ligne de commande tapée : nano /etc/network/interfaces 5
4.2 Installer Webmin Par principe et par habitude Webmin pourra être installé sur le serveur. Webmin est un outil d administration très puissant et pratique il utilise l interface Web, il est alors possible de l utiliser facilement sur un serveur sans interface graphique. Dans un terminal saisir les commandes suivantes : cd /tmp wget http://sourceforge.net/projects/webadmin/files/webmin/1.620/webmin_1.620_all.deb dpkg -i webmin_1.620_all.deb Au besoin si l'installation ne se termine pas correctement (en cas de dépendances non résolue, prérequis insuffisants..), cette commande va forcer l installation de ces prérequis et terminer la configuration apt-get install -f Webmin sera alors accessible par l adresse Ip du serveur sur le port 10000 6
4.3 Installer et utiliser SSH Par principe et par habitude, sur le serveur l adresse Ip sera mise en statique et Openssh-server sera installé (sur les distributions Ubuntu ) apt-get update apt-get install openssh-server Dès lors que l'adresse IP du serveur est fixée, le serveur peut être atteint directement en passant par SSH. Putty qui est un logiciel libre permet cela en toute simplicité: 7
5) Pré-requis Dans le chapitre «Public visé», il y est fait mention de l installation de Webmin et Openssh-server. Ces deux logiciels ne font pas partie intégrante de l installation du serveur Zimbra. Cependant, certains composants (Apache, ) seront indispensables à son emploi! Comme indiqué au paragraphe précédent, ce tutoriel est destiné à un public assez averti. Le serveur de base employé sera donc destiné à ce type de public. Chacun choisira la distribution de son choix, dans le cas présent toute l'installation est donnée pour une version à base de Debian, une distribution Ubuntu ou tout autre distribution est susceptible de convenir à ce type d installation. L installation linux utilisée dans notre cas est plus destinée à un usage de serveur. Dans le cas présent aucune interface graphique ne sera utilisée. Ce type d installation est tout particulièrement prisé par les administrateurs pour l emploi de serveur. Ici on effectuera une installation suivant ce modèle: # Installation à partir d'un ISO (Ubuntu 13.04 64bits version minimale,) Lors des différents essais et tests il s est avéré que la version de Zimbra ayant causé le moins de souci au cours de l installation l a été avec la version 13.04 d Ubuntu! 8
6) Configuration conseillée Ce tutoriel est applicable dans le cadre d un serveur en production, les configurations sont donc indiquées en conséquence: -bit ou 64Bits CPU 2.0GHz minimum. o Pour les déploiements à plus de 2000 utilisateurs, un système d exploitation 64-bit est recommandé 2 Go de RAM minimum (recommandé 4Go), pace disque alloué aux utilisateurs à ajouter, Zimbra-store demande environ 5Go pour /opt/zimbra, Les autres modules requièrent environ 100Mo. Pour 1000 utilisateurs 30 à 50 Go de disque sont nécessaires 7) Cadre général de l installation Ce type de serveur est principalement destiné à une utilisation sur vers et depuis l Internet, il conviendra donc d installer un antivirus ainsi qu un pare-feu. 8) Environnement du tutoriel Pour la réalisation de ce fichier tutoriel, la réalisation du serveur a été effectuée sur un serveur Linux Ubuntu 13.04 64 Bits (version serveur), 4Gb ram, espace de stockage 100Go. Pour des raisons de facilité et d installation, le disque est partitionné en 1 seule partition SDA1 de 99Go (1Go pour le Swap). 9
9) Améliorer l affichage : Pour améliorer l affichage les fichiers : nano /etc/bash.bashrc nano /root/.bashrc Décommenté les linges suivants : 10
10) Installer Bind9 BIND (Berkely Internet Name Domain) est un serveur DNS open source utilisé pour la résolution de noms Internet. Dans le cadre d un serveur de messagerie, il est indispensable d installer un serveur de DNS. Dans le cas de ce tutoriel, c est le serveur Bind qui sera choisi, notamment pour sa robustesse. Après installation, il sera nécessaire de le configurer. Installer le serveur de DNS : Dans un terminale tapé «apt-get install bind9» Il sera alors nécessaire de télécharger 1 à 2Mo environ (40Mo environ pour une installation sur Debian). Dans ce chapitre, le nom de la machine et les accès DNS vont être modifiés, il convient de retenir que le nom du serveur devra respecter les conventions de nommage. Ainsi : - Il ne doit pas contenir d espace, - Il ne doit contenir que des lettres, chiffres ou «-» - Il ne pourra pas contenir de caractères spéciaux / \ " En cas de non-respect de ces règles, le réseau pourrait bien ne plus fonctionner, dans tel cas, il pourrait être nécessaire de vérifier ces impératifs. 11
10.1 Modifier le fichier /etc/hosts /etc/hosts est un fichier de gestion d alias hôte et Ip. Le fichier host va donc être chargé de fournir la translation de nom en adresses Ip (et inversement). Dans un terminale tapé nano /etc/hosts Pour la configuration du serveur de messagerie, il sera nécessaire d enregistrer le serveur dans les DNS. 10.2 Modifier le nom de la machine On pourra en profiter pour modifier le nom de la machine nano /etc/hostname Lui mettre le nom de la machine Srv-zim-od 12
10.3 Modifier le fichier resolv.conf Le fichier «/etc/resolv.conf» permet d indiquer le ou les domaines de recherche et les différents serveurs DNS à utiliser. Ce fichier va permettre d utiliser plusieurs adresses de serveur, ainsi, si l un est défaillant, il pourra passer au suivant : Editer le fichier résolution nano /etc/resolv.conf 11) Configuration des fichiers /etc/bind Si les modifications précédentes non pas demandé de précautions particulières, il pourrait être intéressant de faire une sauvegarde avant modification des fichiers de configuration de Bind : Sauvegarder les fichiers : cd /etc/bind mkdir save cp -rp *.* save/ 13
11.1 Configurer le fichier /etc/bind/named.conf Cette fois il va falloir modifier le serveur de DNS il pourra donc être préférable de l arrêter avant (plus par principe que pour une autre raison). Comme dans de nombreux cas, lorsque la configuration d un système devient trop lourde, celle-ci est séparée en différents fichiers qui pourront être traités individuellement. Par arrêter le serveur taper cette commande : /etc/init.d/bind9 stop Le fichier /etc/bind/named.conf est donc le fichier principal de Bind, à l exécution, ce fichier vient intégrer d autres fichiers tels que le fichier d option («/etc/bind/named.conf.options») ou le fichier de zone local («/etc/bind/named.conf.local») qui seront modifiés après dans ce chapitre. 11.2 Configurer le fichier named.conf.local : Ouvrir le fichier : 14
11.3 Configurer le fichier named.conf.options : Ouvrir le fichier : nano /etc/bind/named.conf.options Mettez vos adresse Dns de votre FAI les ip 80.10.246.2 et 80.10.246.129 correspondent aux ip des DNS de FAI de bts sio de st romain en gal 15
Tapez ses commandes : 11.4 créer le fichier db.tmioda.local # touch /etc/bind/db.tmioda.local # nano /etc/bind/db.tmioda.local 11.5 créer le fichier db.15.0.10.in-addr.arpa Tapez ses commandes : # touch /etc/bind/db.15.0.10.in-addr.arpa # nano /etc/bind/db.15.0.10.in-addr.arpa 16
ne pas oublier les ; et les. à la fin des lignes 17
12) VERIFICATION VIA DIG & NSLOOKUP Avant toute chose on redémarre pour prendre en compte les changements précèdent. On va faire un dig sur notre mx, il devrait retourner plus ou moins ceci : Dans un terminale tapé dig mx puis «le nom de votre domaine» 18
Tapé dig a puis «le nom de vote machine complet» Tapé nslookup puis «nom e domaine» 12.1 Redémarrage de service bind9 - tapé «service bind9 restart, ou /etc/init.d/bind9 restart» Si le serveur ne redémarre pas, il sera nécessaire de revoir les fichiers modifié («;» en fin de ligne, espaces mal placés, noms de fichiers, nom du serveur...) 19
13) Installation de Zimbra Le serveur Zimbra ne peut être récupéré que par archive, les versions s échelonnent entre 7 et 8. La page principale de téléchargement se trouve à cette adresse : http://www.zimbra.com/downloads/os-downloads.html Suivant la version, l archive aura une taille de 400Mo à 700mo! 13.1 Récupération de Zimbra Zimbra pourra être téléchargé depuis les principaux sites de téléchargement, mais le lien retournera souvent sur le site officiel. cd /tmp wget http://files2.zimbra.com/downloads/8.0.0_ga/zcs-8.0.0_ga_5434.ubuntu12_64.20120907144631.tgz 13.2 Décompression de l archive tar xzf zcs-8.0.3_ga_5664.ubuntu12_64.20130305090204.tgz 13.3 Préparation des librairies nécessaires à Zimbra Zimbra aura besoin de quelques prérequis pour son installation. Peu, mais tout manquement arrêtera et bloquera son installation : apt-get install libpcre3 libstdc++5 fetchmail curl sysstat Cette librairie sera probablement plus difficile à installer (absente de certaines distributions) : apt-get install libgmp3c2 libperl5.14 sqlite3 Pour y parvenir il pourra être nécessaire de modifier le sources.list d apt nano /etc/apt/sources.list Ajouter ces lignes en fin de fichier : deb http://ftp.fr.debian.org/debian/ squeeze main deb-src http://ftp.fr.debian.org/debian/ squeeze main Mettre à jour apt : 20
apt-get update Installer la libraire : apt-get install libgmp3c2 libperl5.14 sqlite3 Supprimer les lignes ajoutées à la fin de fichier sources/list: nano /etc/apt/sources.list # supprimer ces lignes : deb http://ftp.fr.debian.org/debian/ squeeze main deb-src http://ftp.fr.debian.org/debian/ squeeze main Remettre à jour apt : apt-get update Il est indispensable de supprimer les lignes ajoutées en fin de fichier sources.list, en effet le dépôt propose d autres fichiers qui pourront être installés. Ces fichiers prévus pour une autre version pourraient rendre le serveur instable 13.4 Début de l installation : Après décompression du fichier, il sera possible de passer à l installation, il suffira alors d exécuter le script d installation : cd /tmp/zcs*./install.sh Si la plateforme de téléchargement ne correspond pas à la version (Debian 7 à la place de 5, Debian à la place de Ubuntu ) il sera nécessaire de lancer le script avec ce paramètre :./install.sh --platform-override Acceptez les termes de la licence 21
On pourra au choix installer les modules par défaut ou les compléter avec le proxy et la gestion de la mémoire Après les différentes validations nécessaires l installation se poursuivra : 22
Seul le mot de passe administrateur devrait être à configurer Taper 3 Puis 4 «j ai masqué quelque info» Enfin, enregistrer les changements et la configuration en tapant «a». Enregistrer votre configuration Si tout est correctement configuré, les différents services à installer vont prendre plusieurs minutes 23
A vous de voir enfin si vous désirez en informer l équipe de Zimbra! Valider l installation en tapant «yes» On pourra éventuellement penser à effectuer un redémarrage du serveur Tapez : service zimbra restart 24
14) Vérifier le serveur Lors de la première installation, il a été rencontré quelques erreurs (probablement dues aux erreurs de configuration, type, ). Il est alors nécessaire de vérifier ou pouvoir vérifier quelques points avant de crier au secours. - Comme premier moyen de vérification, on pourra se connecter au serveur par http (https://nom_de_domaine_ou_ip:7071, https://nom_de_domaine_ou_ip) Clique sur poursuivre quand même Certaines erreurs peuvent intervenir à l issue de la création des certificats. Cette commande permettra de vérifier leur validité : /opt/zimbra/bin/zmcertmgr viewdeployedcrt all En cas d absence du certificat, il pourra être généré avec cette commande : /opt/zimbra/bin/zmcertmgr deploycrt self Cette commande permettra la création d un nouveau certificat : /opt/zimbra/bin/zmcertmgr createca -new - On pourra utiliser la commande de contrôle de zimbra. Pour cela il faudra passer en utilisateur «zimbra» puis lancer la commande «zmcontrol» su zimbra zmcontrol stop 25
Lors du stop on pourra voir les services non démarrés Pour relancer : zmcontrol start 15) Configurer l authentification Aller dans configurer domaine clique droit sur votre domaine choisissez mode d authentification 26
27
15.1 configure la liste GAL (liste d'adresses globale) Aller dans configurer domaine cliquez droit et choisissez configurer liste gal Suivez bien les captures d écran 28
29
15.2 Intégration des utilisateurs de l ad sur zimbra : Apres la configuration de la liste GAL et l authentification de notre serveur zimbra Il faut ajouter les comptes des utilisateurs sur notre serveur de messagerie Pour cela on va utiliser le scripte suivant : «vous pouvez le télécharger sur mon site http://oussama.daiche.free.fr» 30
16) Ajouter des utilisateurs #!/bin/bash #Script de Provisionning AD --> Zimbra #Script sous license GNU/GPL #ROSENKRANZ Denis #denisrosenkranz.com #Ce script utilise le paquet "dialog" --> apt-get install dialog #Fichiers temporaires ou seront stockés les données de comptes Names=tmpNames.txt Firstnames=tmpFirstNames.txt Nicknames=tmpNicks.txt ADAccounts=tmpAccounts.txt ZAccounts=tmpZmbusers.txt Mails=tmpMails.txt Firstlastname=tmpFirstlastname.txt AdDB=tmpAdDB.txt dialog --title "Importation de comptes Active Directory Dans Zimbra" --yesno "Ce script vous permet de créer des comptes mails sous Zimbra à partir de vos comptes Utilisateurs Active Directory.\n\n\n Voulez vous continuer?" 15 100 dialog --title "Importation de comptes Active Directory dans Zimbra" --yesno "Attention assurez-vous bien d'avoir lancé ce script en tant qu'utilisateur Zimbra et d'avoir les droits d'écriture dans le dossier courant" 15 100 dialog --title "Importation des comptes Active direcotry dans Zimbra" --inputbox "Veuillez maintenant entrer le nom de vore domaine (ex: domain.lan)" 15 100 2>tmpinput$$ sel=$? domain=$( cat tmpinput$$) dialog --title "Importation des comptes Active direcotry dans Zimbra" --inputbox "Adresse IP de votre serveur Active Directory : " 15 100 2>tmpinput$$ sel=$? ip=$( cat tmpinput$$) dialog --title "Importation des comptes Active direcotry dans Zimbra" --inputbox "FQDN de l'ou d'où vous voulez extraire les comptes : \n(ex: OU=ZimbraUsers,DC=domain,DC=lan)" 15 100 2>tmpinput$$ sel=$? ou=$( cat tmpinput$$) dialog --title "Importation des comptes Active direcotry dans Zimbra" --inputbox "FQDN d'un utilisateur de l'ad : (ex: CN=Administrator,CN=Users,DC=domain,DC=lan )" 15 100 2>tmpinput$$ sel=$? user=$( cat tmpinput$$) dialog --title "Importation des comptes Active direcotry dans Zimbra" --insecure --passwordbox "Mot de passe de cet utilisateur: " 15 100 2>tmpinput$$ sel=$? pass=$( cat tmpinput$$) dialog --title "Importation des comptes Active direcotry dans Zimbra" --inputbox "Dans quel COS voulezvous créer ces comptes?: \n (tapez le nom du COS, si c'est le COS par défaut, tapez: default )" 15 100 2>tmpinput$$ sel=$? 31
COS=$( cat tmpinput$$) dialog --clear --title "Importation des comptes Active direcotry dans Zimbra" --menu "Choisissez le type d'adresse Email que vous désirez :\n Prenons la cas ou notre utilisateur s'appelle John Doe" 15 100 4 \ "1" "john.doe@domaine.lan" \ "2" "j.doe@domain.lan" \ "3" "johndoe@domain.lan" \ "4" "jdoe@domain.lan" \ "5" "AD_USERNAME@domain.lan" \ "6" "Quitter ce script" 2>tmpinput$$ sel=$? choice=$( cat tmpinput$$) #On récupère les informations des comptes sur l'active directory #Dans ce contexte, les comptes sont à récuperer en fonction du nom d'ytilisateur de l'ad #Récupérations des utilisateurs de l'active Directory ldapsearch -x -H ldap://$ip -b "$ou" -D "$user" -w $pass "(&(samaccountname=*)(objectclass=user))" > $AdDB #On récupère les noms cat $AdDB grep sn awk '{print $2}' > $Names #On récupère les prénoms cat $AdDB grep givenname awk '{print $2}' > $Firstnames #On récupère les noms d'utilisateurs cat $AdDB grep samaccountname awk '{print $2}' > $Nicknames case $choice in 1) #On fusionne Names et Firstnames dans un seul fichier: paste -d '.' $Firstnames $Names > $Firstlastname #Transformation en adresse email de la forme prenom.nom sed 's/.*/&'@$domain'/' $Firstlastname > $Mails #Suppresion du filtre sed /filter/d $Mails > tmpmails2.txt mv tmpmails2.txt $Mails #On fusionne toutes ces données dans un seul fichier paste -d ':' $Names $Firstnames $Mails > $ADAccounts #On récupère les comptes existants dans Zimbra zmaccts grep "@$DOMAIN_NAME" awk '{print $1}' > $ZAccounts #On formatte correctement les fichiers Mails.txt et zmbuser.txt sort $Mails > Mails2.txt mv Mails2.txt $Mails sort $ZAccounts > zmbusers2.txt 32
mv zmbusers2.txt $ZAccounts #On compare les comptes existants et les comptes sur l'active Directory LISTDIFF=$(diff -u -i -B $ZAccounts $Mails grep $domain grep "+" sed s/^+//g) #Si il existe une nouvelle adresse on la crée dans Zimbra for i in $LISTDIFF; do EMAIL=$(echo $i tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz') FIRSTNAME=$(cat $ADAccounts grep $i cut -d ':' -f2 ) LASTNAME=$(cat $ADAccounts grep $i cut -d ':' -f1 ) echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL #Création des comptes dans Zimbra #FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des utilisateurs se fait par l'ad ce mot de passe ne sera pas utilisé zmprov ca $EMAIL FDD00123456789 displayname ''$FIRSTNAME' '$LASTNAME'' givenname $FIRSTNAME sn $LASTNAME zmprov sac $EMAIL $COS #On rajoute l'adresse dans l'ad #adtool attributeadd ''$FIRSTNAME' '$LASTNAME'' mail $EMAIL done #On supprime tout les fichiers temporaires rm -f tmp* exit 0 ;; 2) #Variables FirstnamesFirst=tmpFirstnamesFirst.txt #On récupère la première lettre du prénom awk -F "." '{print substr($1,1,1)$2}' $Firstnames > $FirstnamesFirst #On fusionne Names et Firstnames dans un seul fichier: paste -d '.' $FirstnamesFirst $Names > $Firstlastname #Transformation en adresse email de la forme p.nom sed 's/.*/&'@$domain'/' $Firstlastname > $Mails #Suppresion du filtre sed /filter/d $Mails > tmpmails2.txt mv tmpmails2.txt $Mails #On fusionne toutes ces données dans un seul fichier paste -d ':' $Names $Firstnames $Mails > $ADAccounts #On récupère les comptes existants dans Zimbra zmaccts grep "@$DOMAIN_NAME" awk '{print $1}' > $ZAccounts #On formatte correctement les fichiers Mails.txt et zmbuser.txt sort $Mails > tmpmails2.txt mv tmpmails2.txt $Mails sort $ZAccounts > tmpzmbusers2.txt mv tmpzmbusers2.txt $ZAccounts 33
#On compare les comptes existants et les comptes sur l'active Directory LISTDIFF=$(diff -u -i -B $ZAccounts $Mails grep $domain grep "+" sed s/^+//g) #Si il existe une nouvelle adresse on la crée dans Zimbra for i in $LISTDIFF; do EMAIL=$(echo $i tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz') FIRSTNAME=$(cat $ADAccounts grep $i cut -d ':' -f2 ) LASTNAME=$(cat $ADAccounts grep $i cut -d ':' -f1 ) echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL #Création des comptes dans Zimbra #FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des utilisateurs se fait par l'ad ce mot de passe ne sera pas utilisé zmprov ca $EMAIL FDD00123456789 displayname ''$FIRSTNAME' '$LASTNAME'' givenname $FIRSTNAME sn $LASTNAME zmprov sac $EMAIL $COS 3) #On rajoute l'adresse dans l'ad #adtool attributeadd ''$FIRSTNAME' '$LASTNAME'' mail $EMAIL done #On supprime tout les fichiers temporaires rm -f tmp* exit 0 ;; #On fusionne Names et Firstnames dans un seul fichier: paste -d '' $Firstnames $Names > $Firstlastname #Transformation en adresse email de la forme prenomnom sed 's/.*/&'@$domain'/' $Firstlastname > $Mails #Suppresion du filtre sed /filter/d $Mails > Mails2.txt mv Mails2.txt $Mails #On fusionne toutes ces données dans un seul fichier paste -d ':' $Names $Firstnames $Mails > $ADAccounts #On récupère les comptes existants dans Zimbra zmaccts grep "@$DOMAIN_NAME" awk '{print $1}' > $ZAccounts #On formatte correctement les fichiers Mails.txt et zmbuser.txt sort $Mails > Mails2.txt mv Mails2.txt $Mails sort $ZAccounts > zmbusers2.txt mv zmbusers2.txt $ZAccounts #On compare les comptes existants et les comptes sur l'active Directory LISTDIFF=$(diff -u -i -B $ZAccounts $Mails grep $domain grep "+" sed s/^+//g) #Si il existe une nouvelle adresse on la crée dans Zimbra for i in $LISTDIFF; do 34
EMAIL=$(echo $i tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz') FIRSTNAME=$(cat $ADAccounts grep $i cut -d ':' -f2 ) LASTNAME=$(cat $ADAccounts grep $i cut -d ':' -f1 ) echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL #Création des comptes dans Zimbra #FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des utilisateurs se fait par l'ad ce mot de passe ne sera pas utilisé zmprov ca $EMAIL FDD00123456789 displayname ''$FIRSTNAME' '$LASTNAME'' givenname $FIRSTNAME sn $LASTNAME zmprov sac $EMAIL $COS #On rajoute l'adresse dans l'ad #adtool attributeadd ''$FIRSTNAME' '$LASTNAME'' mail $EMAIL done #On supprime tout les fichiers temporaires rm -f tmp* exit 0 ;; 4) #Variables FirstnamesFirst=tmpFirstnamesFirst.txt #On récupère la premierre lettre du prénom awk -F "." '{print substr($1,1,1)$2}' $Firstnames > $FirstnamesFirst #On fusionne Names et Firstnames dans un seul fichier: paste -d '' $FirstnamesFirst $Names > $Firstlastname #Transformation en adresse email de la forme p.nom sed 's/.*/&'@$domain'/' $Firstlastname > $Mails #Suppresion du filtre sed /filter/d $Mails > tmpmails2.txt mv tmpmails2.txt $Mails #On fusionne toutes ces données dans un seul fichier paste -d ':' $Names $Firstnames $Mails > $ADAccounts #On récupère les comptes existants dans Zimbra zmaccts grep "@$DOMAIN_NAME" awk '{print $1}' > $ZAccounts #On formatte correctement les fichiers Mails.txt et zmbuser.txt sort $Mails > tmpmails2.txt mv tmpmails2.txt $Mails sort $ZAccounts > tmpzmbusers2.txt mv tmpzmbusers2.txt $ZAccounts #On compare les comptes existants et les comptes sur l'active Directory LISTDIFF=$(diff -u -i -B $ZAccounts $Mails grep $domain grep "+" sed s/^+//g) #Si il existe une nouvelle adresse on la crée dans Zimbra 35
for i in $LISTDIFF; do EMAIL=$(echo $i tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz') FIRSTNAME=$(cat $ADAccounts grep $i cut -d ':' -f2 ) LASTNAME=$(cat $ADAccounts grep $i cut -d ':' -f1 ) echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL #Création des comptes dans Zimbra #FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des utilisateurs se fait par l'ad ce mot de passe ne sera pas utilisé zmprov ca $EMAIL FDD00123456789 displayname ''$FIRSTNAME' '$LASTNAME'' givenname $FIRSTNAME sn $LASTNAME zmprov sac $EMAIL $COS 5) #On rajoute l'adresse dans l'ad #adtool attributeadd ''$FIRSTNAME' '$LASTNAME'' mail $EMAIL done #On supprime tout les fichiers temporaires rm -f tmp* exit 0 ;; #Transformation des noms d'utilisateurs en adresses Emails sed 's/.*/&'@$domain'/' $Nicknames > $Mails #Suppresion du filtre sed /filter/d $Mails > tmpmails2.txt mv tmpmails2.txt $Mails #On fusionne toutes ces données dans un seul fichier paste -d ':' $Names $Firstnames $Mails > $ADAccounts #On récupère les comptes existants dans Zimbra zmaccts grep "@$DOMAIN_NAME" awk '{print $1}' > $ZAccounts #On formatte correctement les fichiers Mails.txt et zmbuser.txt sort $Mails > tmpmails2.txt mv tmpmails2.txt $Mails sort $ZAccounts > tmpzmbusers2.txt mv tmpzmbusers2.txt $ZAccounts #On compare les comptes existants et les comptes sur l'active Directory LISTDIFF=$(diff -u -i -B $ZAccounts $Mails grep $domain grep "+" sed s/^+//g) #Si il existe une nouvelle adresse on la crée dans Zimbra for i in $LISTDIFF; do EMAIL=$(echo $i tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz') FIRSTNAME=$(cat $ADAccounts grep $i cut -d ':' -f2 ) LASTNAME=$(cat $ADAccounts grep $i cut -d ':' -f1 ) echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL #Création des comptes dans Zimbra 36
#FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des utilisateurs se fait par l'ad ce mot de passe ne sera pas utilisé zmprov ca $EMAIL FDD00123456789 displayname ''$FIRSTNAME' '$LASTNAME'' givenname $FIRSTNAME sn $LASTNAME zmprov sac $EMAIL $COS #On rajoute l'adresse dans l'ad #adtool attributeadd ''$FIRSTNAME' '$LASTNAME'' mail $EMAIL done #On supprime tout les fichiers temporaires rm -f tmp* exit 0 ;; 6) #On supprime tout les fichiers temporaires rm -f tmp* exit 0 ;; esac exit 0 Il faut rendre le script exécutable avec la commande chmod +x «le nom de votre script». Chmod +x script.sh Maintenant il faut se connecte en tant que utilisateur zimbra. Remarque : assurez-vous que l utilisateur a le droit d écriture Avant de lance le script il faut installer dialog en tapant «apt-get install dialog» Tapé nano script.sh (pour accéder au script) Tape./script.sh pour lance le script 37
Validez par «oui» Entrez votre adresse ip Entrez votre nom de domaine Choisissez l unité d organisation a importé 38
Entrez le nom de votre utilisateur Entrez son mot de passe Choisissez par default si vous avez pas créer une nouvelle COS sur votre serveur Choisissez le type d adresses email (il faut mieux choisir la ligne 5 pour avoir le même nom avec notre AD) 39
Il faut attendre que le script rajoute tous les adresses des utilisateurs 16.1 Crée un utilisateur avec ZIMBRA Aller sur gère et cliquez sur puis nouveau Choisissez le fuseau horaire sur paris puis cliquez sur suivant 40
Entrez les informations concernant le nouveau utilisateur puis cliquez sur suivant Cocher les fonctionnalités a activé puis cliquez sur suivant Comme vous pouvez le voir j ai limite le quota du compte à 50 méga Se connecte à zimbra (https://tapé votre adresseip) puis valide 41
Vérification de message du nouveau compte 42
17) Configuration de client lourd Bien que l emploi du Webmail soit devenu très courant, beaucoup d utilisateurs utilisent encore un client lourd local (Outllok par exemple) J ai choisi Vmware Zimbra desktop comme client lourd (http://www.zimbra.com/downloads/zddownloads.html ) Indique les informations du compte à utiliser puis cliquez sur valider Le compte a bien été ajouté 43
On constate que le compte fonctionne correctement 44
18) Conclusion Zimbra est un serveur de messagerie facile à mettre en place (plus facile que ses concurrents plus lourds dans la balance commerciale). La grosse difficulté résidera dans la préparation du serveur : l installation des prérequis, et surtout l installation du serveur de DNS (qui n est pas de son ressort). Le système étant assez lourd (4Go ce qui est énorme dans le monde du libre), il souffre malheureusement aussi de sa compatibilité avec les différentes versions de Linux. 45