Annexe
Transcription
Annexe
30/03/2016 Guides d’installation et d’intégration avec MS Outlook Mylène QUARINO, Nathanaël MONIATTE et Jean-pierre GROUX ASRALL Table des matières 1. Bluemind ............................................................................................................. 5 1.1. Présentation .................................................................................................. 5 1.2. Installation ..................................................................................................... 5 1.2.1. Dimensionnement du matériel ................................................................ 5 1.2.2. Prérequis................................................................................................. 7 1.2.3. Exécution ................................................................................................ 7 1.2.4. Post installation ....................................................................................... 8 1.2.5. Souscription .......................................................................................... 10 1.2.5.1. Activation de la souscription ........................................................... 11 1.2.5.2. Vérification...................................................................................... 12 1.3. Configuration après mise à jour ................................................................... 12 1.4. Connexion à la console d’administration ..................................................... 13 1.5. En cas de problème….LES LOGS .............................................................. 14 1.6. Les statistiques ............................................................................................ 16 1.7. Les ports entrants ........................................................................................ 18 1.8. Mise en place d’un serveur d’archivage distant ........................................... 19 1.9. Intégration Bluemind avec MS Outlook ....................................................... 24 2. Zarafa Collaboration Platform (ZCP) .............................................................. 27 2.1. Présentation ................................................................................................ 27 2.2. Installation ................................................................................................... 27 2.2.1. Dimensionnement du matériel .............................................................. 27 2.2.2. Prérequis matériel ................................................................................. 28 2.2.3. Prérequis logiciel ................................................................................... 28 2.2.4. Exécution .............................................................................................. 29 2.2.5. Post installation ..................................................................................... 34 2.2.5.1. Modifier la langue ........................................................................... 34 2.2.5.2. Création des utilisateurs, groupes et ressources ............................ 35 2.2.5.3. Intégration de ZCP avec Postfix et liaison avec le plugin DB ......... 37 2.2.6. Souscription .......................................................................................... 37 2.2.6.1. Activation de la souscription ........................................................... 38 2.2.6.2. Vérification...................................................................................... 38 2.3. Installation de WebApp ................................................................................ 39 2.4. En cas de problème….LES LOGS .............................................................. 41 2.5. Les statistiques ............................................................................................ 42 ASRALL 2015-16 p. 1 2.6. Les ports entrants ........................................................................................ 43 2.7. Prise en charge des mobiles avec Z-Push .................................................. 43 2.7.1. Prérequis matériel et logiciel ................................................................. 43 2.7.1.1. Matériel........................................................................................... 43 2.7.1.2. Logiciel ........................................................................................... 44 2.7.2. Installation ............................................................................................. 44 2.8. Installation du plugin MDM (Mobile Device Management) pour WebApp .... 45 2.9. Intégration Zarafa avec MS Outlook ............................................................ 47 3. Kolab Groupware ............................................................................................. 49 3.1. Présentation ................................................................................................ 49 3.2. Installation ................................................................................................... 49 3.2.1. Préparation du système ........................................................................ 49 3.2.1.1. Partitionnement .............................................................................. 49 3.2.1.2. Ce qui est conseillé de faire ........................................................... 50 3.2.1.2.1. SELinux ..................................................................................... 50 3.2.1.2.2. LXC Conteneurs ........................................................................ 50 3.3. Prérequis ..................................................................................................... 50 3.4. Exécution ..................................................................................................... 51 3.4.1. Configuration du serveur ....................................................................... 51 3.4.2. Installation d’Apache ............................................................................. 52 3.4.3. Installation de Kolab .............................................................................. 52 3.4.4. Installation et configuration Postfix........................................................ 52 3.4.5. Configuration de Kolab ......................................................................... 53 3.5. Post installation ........................................................................................... 53 3.6. En cas de problème..................................................................................... 54 3.7. Les ports entrants ........................................................................................ 54 3.8. Bibliographie ................................................................................................ 55 3.9. Intégration Kolab avec MS Outlook ............................................................. 56 4. Zimbra ............................................................................................................... 59 4.1. Prérequis d’installations ............................................................................... 59 4.1.1. Matériel ................................................................................................. 59 4.1.2. Installation des dépendances................................................................ 59 4.1.3. Configuration IP .................................................................................... 59 4.2. Installation de la solution Zimbra ................................................................. 60 4.2.1. Téléchargement des sources ................................................................ 60 ASRALL 2015-16 p. 2 4.2.2. Installation ............................................................................................. 60 4.3. Configuration de la solution après installation ............................................. 61 4.4. Utilisation de Zimbra .................................................................................... 63 4.5. Activer l’authentification via Active Directory (externe) ................................ 64 4.6. Intégration Zimbra avec MS Outlook ........................................................... 67 5. SOGo ................................................................................................................. 69 5.1. Prérequis d’installations ............................................................................... 69 5.1.1. Matériel ................................................................................................. 69 5.1.2. Logiciel .................................................................................................. 69 5.1.3. Configuration IP .................................................................................... 69 5.1.4. Installation des prérequis ...................................................................... 70 5.2. Installation, configuration de la solution SOGo ............................................ 72 5.2.1. Installation de la solution SOGo ............................................................ 72 5.2.2. Configuration de la solution après installation ....................................... 72 5.3. Configuration de l’authentification LDAP ..................................................... 74 5.4. Installation de la partie native Outlook de SOGo ......................................... 75 5.5. Utilisation de SOGo ..................................................................................... 76 5.6. Intégration SOGo avec MS Outlook ............................................................ 77 6. OpenXchange ................................................................................................... 79 6.1. Présentation ................................................................................................ 79 6.2. Installation ................................................................................................... 80 6.2.1. Matériel ................................................................................................. 80 6.2.2. Prérequis............................................................................................... 80 6.2.3. Installation de Postfix ............................................................................ 81 6.2.4. Création de la base de donnée ............................................................. 81 6.2.5. Installation et configuration de PostfixAdmin (optionnel) ....................... 82 6.2.6. Configuration Postfix ............................................................................. 84 6.2.7. Configuration de Postfix pour MySQL ................................................... 89 6.2.8. Installation de Dovecot .......................................................................... 89 6.2.8.1. 6.2.9. Configuration de Dovecot ............................................................... 89 Redémarrage des services et vérification des ports ............................. 93 6.2.9.1. 6.2.10. Vérification par telnet ...................................................................... 93 Thunderbird ....................................................................................... 93 6.2.10.1. Installation ..................................................................................... 93 6.2.10.2. Configuration ................................................................................. 94 ASRALL 2015-16 p. 3 6.3. Test ............................................................................................................. 95 6.3.1. 6.4. Envoie par SMTP et IMAP (envoie d’un mail et réponse) ..................... 95 6.3.1.1. Connexion via IMAP ....................................................................... 95 6.3.1.2. Phpmyadmin .................................................................................. 95 Exécution ..................................................................................................... 96 6.4.1. Ajout des dépots ................................................................................... 96 6.4.2. OX BuildKey (recommandé) ................................................................. 96 6.4.3. Mise à jour et installation des paquets .................................................. 96 6.4.4. Configuration......................................................................................... 96 6.4.4.1. Démarrer la base de données ........................................................ 96 6.4.4.2. Ajouter les binaires Open-Xchange à PATH .................................. 96 6.4.4.3. Initialisation de la base configdb ..................................................... 97 6.4.4.4. Licence ........................................................................................... 97 6.4.4.4.1. Avec licence .............................................................................. 97 6.4.4.4.2. Sans licence .............................................................................. 97 6.4.5. Lien entre Open-Xchange et le serveur de messageries ...................... 97 6.4.6. Enregistrement du serveur local à la base de données configdb d’OX . 98 6.4.7. Open-Xchange filestore. ....................................................................... 98 6.4.7.1. Création répertoire local ................................................................. 98 6.4.7.2. Enregistrement du répertoire en tant que filestore ........................ 98 6.4.7.3. Enregistrement de la base de données de groupware ................... 98 6.4.8. Configuration des services .................................................................... 98 6.4.9. Création du contexte et des utilisateurs .............................................. 101 6.4.9.1. Création du contexte .................................................................... 101 6.4.9.2. Création des utilisateurs ............................................................... 102 6.5. Souscription ............................................................................................... 102 6.6. Connexion à la console d’utilisation........................................................... 103 6.7. Annexe ...................................................................................................... 104 6.7.1. Bind9 ................................................................................................... 104 ASRALL 2015-16 p. 4 1. Bluemind 1.1. Présentation BlueMind est un « groupware » développé en France par une société française. Il est apparu en 2012, ce qui fait de lui un produit jeune par rapport à la concurrence. Trois grandes versions ont vu le jour : Octobre 2012 ........ BlueMind 1.0 Mai 2013 ............... BlueMind 2.0 Février 2014 .......... BlueMind 3.0 Mars 2016 .............. BlueMind 3.5 Le site de référence : http://www.blue-mind.net/ Ce guide s’appuie sur la version 3.0 de BlueMind. L’installation est réalisée sur du Debian 8 (Jessie) à jour et disposant d’une configuration IPV4 statique. Un serveur DNS est disponible avec une zone correspondant à notre domaine et un enregistrement de type A reprenant le nom (hostname) ainsi que l’adresse TCP/IP de notre futur serveur de mails. Enfin, et très important, la présence d’un enregistrement MX pointant sur le l’enregistrement de type A cité précédemment. 1.2. Installation 1.2.1. Dimensionnement du matériel Dans un système comme BlueMind, il y a différents composants consommateurs de ressources. Le calcul basique “par utilisateur” n’est plus valide car un utilisateur qui n’utilise que la partie messagerie ne sollicitera pas le système de la même façon qu’un utilisateur utilisant le mail et les outils collaboratifs (agenda, etc.), notamment avec un PDA (Personal Digital Assistant). Le calcul du dimensionnement s’effectue donc par unité sachant que : Profil d’utilisateur Messagerie seule Messagerie + collaboratif intensif Messagerie + collaboratif + PDA ASRALL 2015-16 Coût en unité 1 2 5 p. 5 Sur les serveurs, existe quatre ressources fondamentales, dites critiques. Ces ressources sont la CPU, la RAM, les disques ainsi que le réseau. Ces ressources sont assorties de compteurs de performance et sont donc mesurables. Il faut alors régulièrement générer ce que l’on appelle une ligne de base des performances. NB : Nous pouvons faire une analogie avec la pression d’air dans les pneus de nos véhicules. Régulièrement, nous vérifions la pression d’air pour savoir si nous sommes en sous pression ou en surpression. L’objectif étant d’éviter une usure prématurée de nos pneus, une économie de carburant et surtout d’éviter l’accident. Il en va de même avec nos serveurs. Nous trouverons donc ci-dessous des tableaux indiquant les bonnes mesures pour les différentes ressources critiques. (Environnement mono-serveur). RAM (Random Access Memory) Unités Go (Giga octets) 1 – 50 6 50 – 500 12 + 500 12 + 1 Go / 500 unités CPU (Central Power Unit) Unités Nbre de cœurs 1 – 50 2 50 – 1000 4 + 1000 1 cœur / 250 unités Disques (IO/s = Entrées-Sorties par seconde) 1 Unités 0,3 Données sur les IOPS des moyens de stockage (wikipedia) Device Type IO/s HDD ~75-100 IO/s 7,200 rpm1 SATA drives 10,000 rpm SATA drives HDD ~125-150 IO/s HDD ~140 IO/s 10,000 rpm SAS4 drives 15,000 rpm SAS drives HDD ~175-210 IO/s Réseau (Bande passante) AGENDA Pour 100 agendas ouverts : Client Serveur : 50 Ko/s Serveur Client : 15 Ko/s Interface SATA2 3 Gbit/s SATA3 3 Gbit/s SAS SAS CONTACT PDA (ActiveSync) Pour 1 utilisateur : 288 octets/s Pour 100 PDA : 26 Ko/s NB : La bande passante est difficilement prévisible car elle dépend en très grande partie du trafic mail. 1 RPM = Rotations Par Minute SATA = Serial Advanced Technology Attachment 3 SATA = Serial Advanced Technology Attachment 4 SAS = Serial Attached SCSI 2 ASRALL 2015-16 p. 6 1.2.2. Prérequis L’installation de BlueMind nécessite un serveur ou une machine virtuelle vierge et dédié(e). La locale en_US.UTF-8 doit être installée et générée (même si le système est en français). Mise en place (en Root) dpkg-reconfigure locales Vérification locale –a | grep en-US BlueMind nécessite une version 64-bit des distributions supportées (pour Ubuntu, s'assurer d'avoir la version Serveur). Ubuntu 10.04 LTS 64-bit Server (Lucid Lynx) Ubuntu 12.04 LTS 64-bit Server (Precise Pangolin) Ubuntu 14.04 LTS 64-bit Server (Trusty Tahr) Redhat 6 64-bit Debian 6 Squeeze 64-bit Debian 7 Wheezy 64-bit Debian 8 Jessie 64-bit Le « hostname » du serveur BlueMind doit être correctement configuré, et le serveur accessible par ce nom depuis une autre machine (DNS : Domain Name System). 1.2.3. Exécution Télécharger le script d’installation correspondant à votre version de Linux sur le site de téléchargement de BlueMind Mettre à jour le système sudo apt update sudo apt upgrade Exécuter ce script en tant que root et suivre les étapes d'installation : sudo sh bluemind-installer-xxx.bin Attention : une connexion Internet est obligatoire pour que l’installateur BlueMind puisse télécharger l’ensemble des packages dont il a besoin. Ces différents packages sont stockés dans : /var/spool/bluemind-pkgs Le journal de l’installateur est : /tmp/bluemind-installer-xxx.bin.log ASRALL 2015-16 p. 7 1.2.4. Post installation Une fois BlueMind installé sur la distribution Linux, il faut utiliser le navigateur web pour se rendre sur la page de configuration initiale de BlueMind https://votre_serveur_mail/setup (attention à bien saisir https et non http simple) Puis se laisser guider par l’assistant d’installation : Lorsque nous cliquons sur le bouton « Installation », une vérification des prérequis est à nouveau réalisée. NB : Une alerte peut apparaître dans le cas où le minimum de mémoire nécessaire a été affecté au serveur, il s'agit d'une simple alerte non bloquante et il est possible de continuer. Si un problème est bloquant pour l'installation un message d'erreur apparaît en rouge et le bouton "Continuer" est indisponible. Saisir ici l'url publique d'accès à BlueMind et cliquer sur "Tester l'accès" afin de procéder à une validation. Le bouton "suivant" ne s'activera que si tous les tests sont réussis. ASRALL 2015-16 p. 8 Saisir le nom de domaine de messagerie. L'installation se termine puis affiche les informations de connexion à l'application. Sécuriser les mots de passe ! Attention, les mots de passe pour l'admin (admin@domain) et l'admin0 ([email protected]) doivent absolument être changés sur une installation en production. Des mots de passe non sécurisés pourraient en particulier être utilisés pour accéder à l'ensemble des données de votre serveur ou, via le service SMTP pour envoyer du SPAM depuis votre serveur. Attention : En cas de perte du mot de passe « Assistant d’installation », il y a deux méthodes pour le réinitialiser : En accédant à la console d'administration en tant qu'administrateur global admin0 > Gestion du système > Configuration Système > onglet «Serveur Mandataire» : remplir le nouveau mot de passe et enregistrer. ASRALL 2015-16 p. 9 La modification peut aussi se faire en ligne de commande : se connecter au serveur BlueMind en tant que root et taper les lignes suivantes : rm -f /etc/nginx/sw.htpasswd htpasswd -b -c /etc/nginx/sw.htpasswd admin admin 1.2.5. Souscription Si vous possédez une souscription BlueMind, vous devez maintenant l'installer pour bénéficier des outils associés. Le logiciel BlueMind est Open Source. La souscription à BlueMind est une offre professionnelle visant à simplifier et garantir une utilisation en production et apportant une meilleure connectivité avec Outlook et ActiveDirectory. La souscription BlueMind se présente sous la forme d'un fichier texte lisible, qui constitue une clé, intégrant les caractéristiques du client pour lequel il est émis, en particulier : Le nombre d'utilisateurs Le type de système hôte : Debian Squeeze 64bits Debian Wheezy 64bits Ubuntu 10.04 64bits Ubuntu 12.04 64bits Ubuntu 14.04 64bits RedHat 6 64bits Le type de souscription : Production (Prod et Pre-Prod) Évaluation (Eval) Particuliers et associations OpenSource (Free) Partenaires technologiques (Dev) La date d'expiration Attention : Le fichier est signé au niveau des en-têtes / informations client, aussi il ne doit pas être modifié, sous peine d'invalidité. Vous ne devez pas diffuser ou donner ce fichier à un tiers. Les accès au dépôt professionnel sont nominatifs et tracés. De plus, le fichier de souscription contient les adresses des dépôts BlueMind et permet leur accès par le système en fonction de sa version. Ce fichier doit donc être mis à jour lors d'un changement de version du système afin d'installer les versions correspondantes des paquets BlueMind. ASRALL 2015-16 p. 10 1.2.5.1. Activation de la souscription Pour activer la souscription et les modules complémentaires, la démarche se résume à: a) Installer le fichier de souscription b) Effectuer une mise à jour des paquets pour obtenir les nouveaux composants c) Configurer BlueMind via le nouvel outil de mise à jour Procédure : Pour installer le fichier de souscription, il faut d’abord se connecter à la console d'administration BlueMind, en tant qu'admin0 (login : [email protected] ; mot de passe initial : admin). Cliquer sur Gestion du système > Installer une souscription : Au moyen du bouton "Parcourir", rechercher le fichier contenant la clé de souscription fourni par BlueMind puis cliquer sur "Installer la souscription". BlueMind installe la souscription en la déployant sur toutes les machines reliées. NB : Le formulaire reste accessible pour un remplacement de la souscription, à sa date d'expiration par exemple. Ensuite, une fois la souscription correctement installée sur la machine, saisir les commandes suivantes pour mettre à jour les paquets logiciels : sudo apt update sudo apt upgrade Les paquets suivants sont désormais disponibles : bm-setup-wizard : version spéciale de l'assistant d'installation et mise à jour bm-plugin-core-dataprotect : outil permettant la restauration de sauvegardes effectuées avec d'anciennes versions de BlueMind bm-plugin-core-lic : outil d'affichage des informations de souscription dans l'application bm-connector-outlook et bm-plugin-core-outlook : connecteur Outlook bm-plugin-core-ad-import : outil d'import ActiveDirectory Enfin, sur la machine principale (celle où a été réalisée l'installation de BlueMind), installer les nouveaux paquets et redémarrer le service BlueMind. sudo aptitude install bm-setup-wizard bm-plugin-core-dataprotect-upgrade bmplugin-core-lic bm-connector-outlook bm-plugin-core-outlook bm-plugin-coread-import sudo bmctl restart ASRALL 2015-16 p. 11 1.2.5.2. Vérification Dans l'interface d'administration vérifier que les informations de la souscription apparaissent correctement. 1.3. Configuration après mise à jour L'outil de gestion des mises à jour, le Setup Wizard, est maintenant disponible. S'y connecter avec un navigateur en allant à l'adresse https://[ip_de_votre_serveur]/setup Si les paquets étaient déjà à jour, un message indiquant que le système est prêt à l'utilisation s'affiche. Sinon, continuez avec l'étape ci-dessous : Cliquer sur «Mise à jour». À côté de ce bouton est affichée la version des données en cours, et la nouvelle version vers laquelle sera effectuée la mise à jour. Ne pas oublier : Effectuer une sauvegarde de l'ensemble du système avant toute mise à jour. NB : Durant la mise à jour, il n'est plus possible d'accéder à l'application BlueMind et une page d'avertissement informe l'utilisateur qui tenterait d'y accéder. ASRALL 2015-16 p. 12 Durant la mise à jour, un indicateur de progression ainsi que divers messages relatant de la réussite ou l’échec de certaines opérations s’affiche. Lorsque la mise à jour est terminée, le Setup Wizard affiche une page «Configuration réussie» avec les liens vers BlueMind. 1.4. Connexion à la console d’administration https://@IP ou https://FQDN du serveur, puis identification en tant qu’administrateur BlueMind La première fois, il faut s’identifier avec le compte d’administration global ([email protected]) ou avec le compte d’administration du domaine ([email protected]). Le mot de passe de ces deux comptes est « admin ». Une fois authentifié, c’est à vous de jouer !!! ASRALL 2015-16 p. 13 1.5. En cas de problème….LES LOGS 3 méthodes pour dépanner : 1) Tout d’abord, les fichiers journaux des composants BlueMind sont accessibles dans le répertoire /var/log : /var/log/bm/ /var/log/bm-backoffice/ /var/log/bm-dav/ /var/log/bm-eas/ /var/log/bm-elasticsearch/ /var/log/bm-hps/ /var/log/bm-ips/ /var/log/bm-kb/ /var/log/bm-lmtpd/ /var/log/bm-locator/ /var/log/bm-mq/ /var/log/bm-node/ /var/log/bm-tika/ /var/log/bm-tomcat/ /var/log/bm-webmail/ /var/log/bm-xmpp/ /var/log/ysnp/ Pour les autres composants qu'il est possible de superviser, les emplacements suivants peuvent être utilisés : /var/log/mail.err ASRALL 2015-16 p. 14 /var/log/mail.info /var/log/mail.log /var/log/mail.warn /var/log/nginx/ /var/log/php5-fpm.log /var/log/postgresql/ 2) Ensuite, BlueMind utilise des scripts système standards pour l'arrêt et le démarrage des services. Usage: /usr/bin/bmctl [start|start_ha|stop|stop_ha|status|reload|restart|restart_ha|memory] start .................. start Blue Mind services start_ha ............ start Blue Mind services on a HA installation stop .................. stop Blue Mind services stop_ha ............ start Blue Mind services on a HA installation status ............... display Blue Mind services status reload|restart .... restart Blue Mind services restart_ha ......... restart Blue Mind services on a HA installation memory ............ display Blue Mind memory usage 3) Enfin, pour superviser les services BlueMind, le paquet bm-checks doit être installé. Ce paquet nécessite curl pour fonctionner. Une fois le paquet installé, des scripts de supervisions sont alors disponibles dans le répertoire /usr/share/bm-checks/. Pour les utiliser, lancer l'exécution de ces scripts bash de manière régulière, avec un cron par exemple. Chaque script renvoie un code de retour dépendant du status du service BlueMind : 0 si le service est fonctionnel 1 si une erreur a été détectée En cas d'erreur, un message est renvoyé sur la sortie standard. sudo apt install curl sudo apt install bm-checks cd /usr/share/bm-checks/ sh ./bm_check_all.sh On check_core.sh... check_core.sh is OK. On check_dav.sh... check_dav.sh is OK. On check_eas.sh... check_eas.sh is OK. On check_es.sh... check_es.sh is OK. ASRALL 2015-16 p. 15 On check_hps.sh... check_hps.sh is OK. On check_imap.sh... check_imap.sh is OK. On check_ips.sh... check_ips.sh is OK. On check_lmtp.sh... check_lmtp.sh is OK. On check_locator.sh... 192.168.56.35 check_locator.sh is OK. On check_milter.sh... check_milter.sh is OK. On check_mq.sh... check_mq.sh is OK. On check_node.sh... check_node.sh is OK. On check_smtp.sh... check_smtp.sh is OK. On check_tika.sh... check_tika.sh is OK. On check_tomcat.sh... check_tomcat.sh is OK. On check_xmpp.sh... check_xmpp.sh is OK. On check_ysnp.sh... check_ysnp.sh is OK. 1.6. Les statistiques Il est possible d’installer le paquet « bm-stats » qui va offrir un portail de statistiques de messagerie adaptées à l’environnement BlueMind. C’est un logiciel libre et diffusé sous licence AGPL v3. Pour télécharger le paquet « bm-stats » et obtenir diverses informations, il faut se connecter sur le site : http://bm-stats.org Procédure : Téléchargement et installation du paquet. Il s’agit d’un fichier .deb dpkg –i bm-stats-3.1.9_all.deb apt-get –f install Pour terminer, il faut se connecter au site de statistiques. https://votre_serveur_bluemind:10290 Vous sélectionnez votre domaine, configurez le reporting pour recevoir un rapport mensuel (.PDF) de l’activité liée à votre environnement BlueMind. Il est bien entendu possible d’accéder à toutes sortes de rapports à n’importe quel moment. Seuls les administrateurs peuvent se connecter au site de statistiques. ASRALL 2015-16 p. 16 Bonne balade. ASRALL 2015-16 p. 17 1.7. Les ports entrants facultatif obligatoire obligatoire facultatif facultatif facultatif facultatif N° port 80 443 25 587 465 143 993 facultatif 110 PLAIN/TLS facultatif 995 SSL facultatif facultatif 5222 5223 PLAIN/TLS SSL facultatif 5269 TLS Nécessité TLS/SSL/PLAIN PLAIN SSL PLAIN/TLS TLS SSL PLAIN/TLS SSL Description Redirection HTTP vers HTTPs port 443 Accès à BlueMind Réception des mails Envoi des mails depuis les clients lourds Envoi des mails depuis les clients lourds Accès IMAP pour les clients lourds Accès IMAP pour les clients lourds Accès POP pour les clients lourds déconseillé Accès POP pour les clients lourds déconseillé Accès à l'IM5 pour les clients lourds Accès à l'IM pour les clients lourds Dialogue inter-serveur XMPP6 pour interconnexion avec les serveurs XMPP des autres domaines Si nous souhaitons que notre groupware soit accessible tout en restant sécurisé, il est fondamental de connaitre ses numéros de ports. 5 6 Messagerie instantanée Extensible Messaging and Presence Protocol (serveur de messagerie instantanée). ASRALL 2015-16 p. 18 1.8. Mise en place d’un serveur d’archivage distant L’archivage distant des mails est un mécanisme permettant d’améliorer les performances en ne laissant sur le serveur principal que les informations récentes. Par défaut, aucun archivage n'est activé lors de l'installation de BlueMind. L'archivage peut être programmé par domaine et/ou par utilisateur / groupe. Solution très souple. Tout commence avec l’installation d’un autre serveur BlueMind (archivage). Reprendre pour cela, les étapes d’installation citées dans ce tutoriel, à savoir les points 2.2 et 2.3. Trois étapes sont nécessaires ensuite pour activer l’archivage. Primo, dans la console d'administration de BlueMind sur le serveur principal, il faut se rendre dans Gestion du système > Serveurs de l'application et cliquer sur le bouton « Nouveau serveur » afin de déclarer le serveur d’archivage distant. Il faut donner un nom logique à notre serveur d’archivage, son adresse TCP/IP ainsi que son FQDN (Fully Qualified Domain Name), puis cliquer sur le bouton « Créer & éditer ». Maintenant, il faut cocher « Serveur d’archivage des courriers », puis cliquer sur le bouton « Enregistrer ». ASRALL 2015-16 p. 19 NB : Ne pas oublier de décocher cette même option sur le serveur principal (bien qu’il soit possible d’avoir plusieurs serveurs d’archivage, un par domaine de messagerie). Secundo, dans la console d'administration de BlueMind sur le serveur principal, il faut se rendre dans Gestion du système > Domaines Supervisés, sélectionner un domaine, cliquer sur l’onglet Messagerie, puis affecter le serveur d’archivage distant. Remarque : Il est possible de définir un archivage global et/ou un archivage individuel. Activation de l’archivage global. Sélectionner enfin l’onglet Archivage. Cocher « Activer l’archivage et spécifier un nombre de jours après lequel les messages seront archivés. Sélectionner les dossiers à exclure de l’archivage, ici Drafts (brouillons), Junk (spam) et Trash (corbeille). Cliquer sur le bouton Enregister. Activation de l’archivage individuel. Dans la console d'administration de BlueMind sur le serveur principal, il faut se rendre dans Annuaire > Entrées d’Annuaire, sélectionner un utilisateur ou un groupe, puis activer l’archivage. NB : Si une politique d'archivage globale et une politique d'archivage pour l'utilisateur sont définies, les 2 s'appliquent sans règle de priorité. Par exemple si l'archivage de l'utilisateur indique d'archiver les mails de plus de 1 mois mais que la politique globale archive les mails de plus de 15 jours alors les mails de plus de 15 jours de cet utilisateur seront archivés. ASRALL 2015-16 p. 20 Tertio, dans la console d'administration de BlueMind sur le serveur principal, il faut se rendre dans Gestion du système > Tâches planifiées, sélectionner la tâche « archiveJob » correspondant à un domaine de messagerie, puis cliquer sur le bouton « Exécuter maintenant ». NB : Nous avons un retour correspondant à l’exécution de la tâche en temps réel (couleurs du bouton : vert, rouge). De plus, un double clic sur une tâche nous permet trois opérations : Envoyer un rapport d’exécution de la tâche à une liste de destinataires. Définir une planification (automatique, programmée ou désactivée). Consulter les historiques de la tâche. Les utilisateurs accèdent aux archives de façon totalement transparente depuis leur client de messagerie (webmail ou client lourd). Lorsqu'un mail est archivé, il est toujours visible dans le webmail mais il est indiqué comme archivé par une icône dans la colonne dédiée : Seuls les entêtes des messages sont conservés dans le dossier d'origine afin de pouvoir les parcourir et effectuer des recherches. Lorsque l'utilisateur souhaite consulter un message archivé, il l'ouvre comme tout autre message, BlueMind le récupère sur le serveur d'archivage et l'affiche immédiatement dans le visionneur de message du client utilisé (Webmail, Thunderbird, Outlook). ASRALL 2015-16 p. 21 Attention : La mise en place d’un serveur d’archivage distant va provoquer des erreurs dans les opérations de sauvegarde. En effet, l’utilitaire de sauvegarde « OBNAME » sauvegarde (en incrémental) non seulement la base de données mais aussi le spool de mails. Il faut donc créer des partages NFS pour « faire croire » à l’utilitaire de sauvegarde que toutes les données sont locales. Procédure. 1. Installation des paquets NFS sur les deux serveurs (PROD + ARCHIVES) apt install nfs-common nfs-kernel-server SUR LE SERVEUR D’ARCHIVAGE 2. Modifier le fichier /etc/idmapd.conf afin de spécifier le nom du domaine DNS. Il s’agit d’un mécanisme de sécurité qui stipule que seuls les clients NFS appartenant au domaine spécifié peuvent travailler normalement avec le serveur NFS. Par exemple, domain = contoso.com 3. Modifier le fichier /etc/exports et ajouter : /var/backups/bluemind 192.168.56.0/24(rw,no_root_squash) NB : Remplacer 192.168.56.0/24 par votre identificateur réseau. 4. Publication du partage NFS et vérification : exportfs -a showmount -e SUR LE SERVEUR DE PRODUCTION (central) 5. Création du point de montage mount –t nfs @ip_srv_archives:/var/backups/bluemind /var/backups/bluemind Utile : En cas de problème service rpcbind restart service nfs-kernel-server restart 6. Vérifications cd /var/backups/bluemind touch file1.txt chown 8:8 file1.txt ls –l /var/backups/bluemind/file1.txt NB : 8 est l’identificateur du compte mail Vérifier qu’il n’y a pas d’erreur et que les autorisations ont bien été posées sur le fichier. Si tout est OK, supprimer le fichier. rm file1.txt ASRALL 2015-16 p. 22 7. Pour faire en sorte que le point de montage soit toujours disponible : touch /etc/init.d/nfs01 chmod +x /etc/init.d/nfs01 update-rc.d nfs01 defaults Contenu du fichier NFS01 # !bin/sh mount –t nfs @ip_srv_archives:/var/backups/bluemind /var/backups/bluemind NB : Pour ne plus avoir le point de montage au démarrage Update-rc.d –f nfs01 remove Il est possible maintenant de lancer la tâche de backup et d’observer les messages pour attester qu’il n’y a plus d’erreur. ASRALL 2015-16 p. 23 1.9. Intégration Bluemind avec MS Outlook La synchronisation des contacts et de l'agenda avec Outlook requiert l'installation du connecteur Outlook, fourni avec la souscription BlueMind. Cependant, Outlook peut toujours être configuré avec un compte IMAP simple afin de synchroniser la partie messagerie uniquement. Le client Bluemind va se poser sur la configuration IMAP. À partir de la messagerie Bluemind, l’utilisateur, (dans l’espace Administration), peut télécharger le client Bluemind pour Outlook, puis lancer l’installation sur son poste. Ci-dessous, un aperçu de l’espace d’administration du client. Le fichier téléchargé est un exécutable. Attention, l’utilisateur doit être un administrateur sur la machine pour que l’installation du client Bluemind s’achève correctement. Pour configurer le connecteur Bluemind pour Outlook, il faut d’abord démarrer Outlook, ouvrir le menu « Fichier », puis choisir l’option Bluemind. Observer le bouton de synchronisation déjà présent sur le ruban d’Outlook. ASRALL 2015-16 p. 24 Les détails du client Bluemind pour Outlook Lors de l’installation du client Bluemind, s’installe également un client de mise à jour automatique (BlueMind auto update service). ASRALL 2015-16 p. 25 Voici les paramètres du compte de messagerie Bluemind (paramétrage IMAP). ASRALL 2015-16 p. 26 2. Zarafa Collaboration Platform (ZCP) 2.1. Présentation Zarafa Collaboration Platform (ZCP) est une solution de messagerie collaborative supportant nativement le protocole MAPI. Originaire des Pays-Bas, ce groupware est apparu en 2007 et la première version de ZCP est apparue le 18 septembre 2008. Zarafa est un mot arabe signifiant girafe. La dernière version stable de ZCP est ZCP-7.2.1. ZCP-7.2.2 est en version Bêta 2 actuellement. Le site de référence : ............................................. https://www.zarafa.com/ Le site de téléchargement (ZCP Community7) : ... https://download.zarafa.com Documentation officielle :........................................ https://documentation.zarafa.com Ce guide s’appuie sur la version zcp-7.2.1. L’installation est réalisée sur du Debian 8 (Jessie) à jour et disposant d’une configuration IPV4 statique. Un serveur DNS est disponible avec une zone correspondant à notre domaine et un enregistrement de type A reprenant le nom (hostname) ainsi que l’adresse TCP/IP de notre futur serveur de mails. Enfin, et très important, la présence d’un enregistrement MX pointant sur le l’enregistrement de type A cité précédemment. 2.2. Installation 2.2.1. Dimensionnement du matériel Les chiffres ci-dessous sont valables dès lors que nous installons la solution complète sur le même serveur. Le calcul est basé sur le nombre d’utilisateurs. Taille de la BDD / Utilisateurs < 5 GB / 1-25 5 GB - 10 GB / 26-50 10 GB - 20 GB / 51-100 20 GB - 50 GB / 101-200 50 GB - 100 GB / 201-300 100 GB - 250 GB / 301-500 > 250 GB / 501-1000 CPU 2 4 4 6 6 6 RAM 2 GB 4 GB 6 GB 8 GB 10 GB 12 GB 8 16 GB DISQUES SATA, SAS, 7.2k SAS, 7.2k SAS, 10k SAS, 10k SAS, 10k SAS, 10k SAS or SATA/SSD Hybrid RAID RAID 1 RAID 1 RAID 10 RAID 10 RAID 10 RAID 10 RAID 10 Zarafa ne recommande pas l’implémentation de RAID 5 ou 6. 7 ZCP « community edition » autorise l’installation de 3 clients Zarafa pour Outlook au maximum. ASRALL 2015-16 p. 27 Réseau (Bande passante) Nbre d’utilisateurs 25 Vitesse de connexion 240 kbit/s NB : La bande passante est difficilement prévisible car elle dépend en très grande partie du trafic mail. Les chiffres ci-dessus sont des chiffres moyens. 2.2.2. Prérequis matériel L’installation de ZCP nécessite un serveur ou une machine virtuelle vierge et dédié(e). ZCP est installable sur les distributions suivantes : OS Debian 6.0 (Squeeze) Debian 7.0 (Wheezy) RHEL8 6 RHEL 7 SLES9 11 SLES 12 Ubuntu 12.04 LTS (Precise) Ubuntu 14.04 LTS (Trusty Tahr) Univention10 3.x Univention 4.x Architectures CPU i386, x86_64 i386, x86_64 i686, x86_64 x86_64 i586, x86_64 x86_64 i386, x86_64 x86_64 i386, x86_64 x86_64 Le « hostname » du serveur ZCP doit être correctement configuré, et le serveur accessible par ce nom depuis une autre machine (DNS : Domain Name System). 2.2.3. Prérequis logiciel Un assortiment de logiciels doit au préalable être installé, voici la liste : MySQL ................. version 4.1 minimum Apache ................. version 2.2 minimum PHP ...................... version 5 minimum Libicu (ICU = International Components for Unicode) SMTP : .................. Postfix, Exim, Sendmail, Qmail Catdoc : ................ permet l’indexation des documents Office Poppler-utils : ...... permet l’indexation des documents PDF w3m : .................... permet l’indexation des emails LDAP : Annuaire facultatif (OpenLDAP, eDirectory11, MS Active Directory) 8 Red Hat Enterprise Linux SUSE Linux Enterprise Server 10 Univention Corporate Server 11 NetIQ eDirectory, anciennement Novell Directory Services (NDS) 9 ASRALL 2015-16 p. 28 2.2.4. Exécution (Se placer en Root) 1. Mettre à jour le système apt update apt upgrade 2. Télécharger le paquet d’installation compressé correspondant à votre version de Linux sur le site de téléchargement de Zarafa (version community) ou la version d’évaluation sur le site de référence. 3. Créer un dossier, puis décompresser le paquet d’installation dans le dossier mkdir ./ZCP tar xzvf zcp-7.2.1-51838-debian-8.0-x86_64-evaluation.tar.gz –C ./ZCP/ mv ./ZCP/zcp-7.2.1-51838-debian-8.0-x86_64-supported/* ./ZCP/ rm -d ./ZCP/zcp-7.2.1-51838-debian-8.0-x86_64-supported/ Un ensemble de fichiers ayant l’extension .deb doit être présent dans le répertoire ZCP. 4. Renommer deux fichiers inutiles ici dans notre scénario mono serveur cd ZCP mv zarafa-multiserver_XXX.deb zarafa-multiserver_XXX.deb.bck mv pacemaker-zarafa_XXX.deb pacemaker-zarafa_XXX.deb.bck 5. Installation de l’ensemble des prérequis apt install apache2 php5 phpmyadmin mysql-server mysql-client apache2-mpmprefork libapache2-mod-php5 libicu-dev postfix catdoc poppler-utils w3m NB: pour installer un OpenLDAP, les paquets à installer sont : slapd et ldap-utils. PHPMYADMIN va permettre de se connecter au moteur de bases de données MYSQL pour attester de la présence de la base de données ZARAFA. Attention, quelques boites de dialogue vont s’afficher pendant l’installation des prérequis. Les voici, dans l’ordre. Appuyer sur la touche entrée du clavier. ASRALL 2015-16 p. 29 Choisir « Site Internet », sélectionner OK, puis entrée au clavier. Vérifier le nom de courrier, modifier si nécessaire. Saisir un mot de passe pour le root de MySQL. Confirmer le mot de passe. ASRALL 2015-16 p. 30 Sélectionner Apache2. Sélectionner OUI Saisir un mot de passe pour l’administrateur de la BDD. Saisir un mot de passe pour phpmyadmin. Confirmer le mot de passe. UTILE : Noter les mots de passe saisis précédemment et stocker ces information en lieu sûr. ASRALL 2015-16 p. 31 6. Installation de l’ensemble des fichiers .deb du répertoire ZCP et résolution des éventuels problèmes de dépendance. dpkg –i *.deb apt-get -f install NB : Mise à jour de la configuration PHP pour prendre en charge ZARAFA. Cette opération est à faire si PHP a été installé après ZARAFA. dpkg-reconfigure zarafa CHECKPOINT Vérifier la présence du fichier /etc/default/zarafa Vérifier la présence du répertoire /etc/zarafa ainsi que des fichiers .cfg caractérisant la configuration des services ZARAFA. Vérifier la présence du répertoire /var/log/zarafa. 7. Se connecter à la console de MySQL pour créer un utilisateur. http://localhost/phpmyadmin/ Se connecter en Root avec le mot de passe spécifié précédemment. Sélectionner le menu « Utilisateurs », puis cliquer sur « Ajouter un utilisateur » et saisir les informations suivantes : Nom d’utilisateur : ........ zarafa Client : ......................... localhost Mot de passe : ............. password Privilèges globaux : cocher l’option « Tout cocher » Cliquer sur le bouton « Executer » Liste des utilisateurs MySQL incluant maintenant le compte zarafa 8. Éditer le fichier /etc/zarafa/server.cfg et procéder aux modifications suivantes : mysql_user = zarafa mysql_password = password ASRALL 2015-16 p. 32 9. Redémarrer le service zarafa-server, puis vérifier : service zarafa-server restart service zarafa-server status Réactualiser la console PHPMYADMIN. La base de données zarafa doit apparaitre. 10. Connection au webmail Zarafa. http://localhost/webaccess Oh, la belle surprise, une erreur. La solution: le fichier /etc/zarafa/webaccess-ajax/config.php appartient au root. Il faut donner la propriété au compte d’apache, le serveur web qui permet de se connecter au webmail (WebAccess). cd /etc/zarafa/webaccess-ajax chown www-data:www-data ./config.php Rafraichir la page en erreur et la magie opère. ASRALL 2015-16 p. 33 2.2.5. Post installation 2.2.5.1. Modifier la langue Lorsque nous ajoutons un utilisateur dans la base de données ZCP, une boite aux lettres est automatiquement associée à cet utilisateur. Cette boite aux lettres est créée en langue anglaise par défaut. Ceci n’a rien à voir avec la langue que l’utilisateur peut choisir lorsqu’il s’authentifie dans le WebAccess de ZCP. À ce niveau, il s’agit simplement d’une langue d’affichage pour les menus. La modification de la langue est donc un élément important et donc à faire avant la création des utilisateurs. Pour ajouter une langue, si nécessaire. Mise en place (en Root) dpkg-reconfigure locales Vérification locale –a | grep en-US Il faut ensuite modifier le fichier /etc/default/zarafa et modifier la valeur de deux propriétés zarafa_locale = “fr_FR.UTF-8” zarafa_userscript_locale = “fr_FR.UTF-8” Il faut également modifier le fichier /etc/apache2/envvars ## The locale used by some modules like mod_dav #export LANG=C ## Uncomment the following line to use the system default locale instead: . /etc/default/locale ASRALL 2015-16 p. 34 2.2.5.2. Création des utilisateurs, groupes et ressources Les comptes utilisateurs de Zarafa Collaboration Platform (ZCP) peuvent être gérés par un Active Directory Microsoft, un OpenLDAP, le fichier « passwd » de Linux ou la base de données interne de ZCP. Cela se configure dans le fichier /etc/zarafa/server.cfg. Le paramètre « user_plugin » peut prendre quatre valeurs : ldap, unix, db ou ldapms. La valeur par défaut de ce paramètre est « db ». Il est donc pour le moment impossible de se connecter au WebAccess de ZCP. Pour créer des utilisateurs, des groupes et des ressources, il faut utiliser la commande « zarafa-admin ». De plus, avant de créer quelque utilisateur que ce soit, il faut procéder à la création du dossier public, accessible de tous les utilisateurs. Création du dossier public, il ne peut n’y en avoir qu’un zarafa-admin –s Ajout d’un compte d’administration zarafa-admin -c admin -p password -e [email protected] -f "admin" -a 2 -a 0........ non admin (valeur par défaut) -a 1........ admin -a 2........ super admin Création d’utilisateurs zarafa-admin -c user1 -p password -e [email protected] -f "user1" zarafa-admin -c user2 -p password -e [email protected] -f "user2" zarafa-admin -c user3 -p password -e [email protected] -f "user3" Création de groupes zarafa-admin -g USERS -e [email protected] zarafa-admin -g ADMINS -e [email protected] Ajout de membres aux groupes zarafa-admin zarafa-admin zarafa-admin zarafa-admin -b -b -b -b admin user1 user2 user3 -i -i -i -i ADMINS USERS USERS USERS Lister les utilisateurs zarafa-admin –l Lister les groupes. Par défaut, il y en a un : everyone zarafa-admin –L Lister les membres d’un groupe zarafa-admin --details USERS --type group ASRALL 2015-16 p. 35 Obtenir les détails d’un utilisateur zarafa-admin --details user1 Création d'une ressource “Salle501” zarafa-admin -c Salle501 -p pass -e [email protected] -f "salle501" -n y L’option –n (non actif) peut prendre deux valeurs : y (yes) ou n (no). En effet, ZCP permet de spécifier si une ressource est active ou pas. Seules les ressources actives peuvent se connecter (login) à ZCP et sont comptabilisées dans les licences. Il est possible de switcher une ressource active en non active et vice versa. Activation de la ressource zarafa-admin -u Salle501 -n n Maintenant que nous avons créé quelques utilisateurs, groupes et ressources dans la base de données de ZCP, il est possible de se connecter : http://localhost/webaccess/ ASRALL 2015-16 p. 36 2.2.5.3. Intégration de ZCP avec Postfix et liaison avec le plugin DB Afin que les utilisateurs puissent envoyer des messages correctement, il est nécessaire de configurer Postfix de sorte qu’il soit capable d’interroger la base de données afin d’identifier les diverses ressources. Par exemple, si un utilisateur envoie un message en direction d’un groupe ou d’une liste de diffusion, Postfix va interroger la base de données ZCP pour obtenir les membres du groupe et envoyer le message à chaque utilisateur. Installation du paquet permettant de faire la liaison entre Postfix et MySQL. atp install postfix-mysql Modification du fichier /etc/postfix/main.cf mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.56.0/24 inet_interfaces = all virtual_mailbox_domains = contoso.com virtual_transport = lmtp:127.0.0.1:2003 virtual_alias_maps = mysql:/etc/postfix/mysql-users.cf Création et modification du fichier /etc/postfix/ mysql-users.cf user = zarafa password = password hosts = 127.0.0.1 dbname = zarafa query = select value from objectproperty where objectid=(select objectid from objectproperty where value='%s' limit 1) and propname='emailaddress'; Redémarrage du service Postfix et vérification service postfix restart service postfix status 2.2.6. Souscription Si vous possédez une souscription ZCP, vous devez maintenant l'installer pour bénéficier des outils et fonctionnalités associés. La souscription ZCP se présente sous la forme d'une clef, permettant le déverrouillage et l’activation de plusieurs fonctionnalités. Les types de souscription : Commercial (Basic, Professional, Enterprise). Évaluation (Evaluation), usage limité dans le temps. Community (Free) avec limitation à 3 clients Zarafa pour MS Outlook. Qu’apporte la souscription Enterprise ? Intégration avec Active Directory. Mise en place d'un serveur d'archivage. ASRALL 2015-16 p. 37 Installation illimitée du client Zarafa pour MS Outlook. Prise en charge de l'environnement multi serveurs. Mise en place de la haute disponibilité (HA). Sauvegarde incrémentale de boites aux lettres dans des fichiers distincts. Mise à jour automatique du client Zarafa pour Outlook 2.2.6.1. Activation de la souscription L’activation de la souscription se fait en deux étapes : Injection de la clef mkdir -p /etc/zarafa/license echo <subscription key> > /etc/zarafa/license/base Redémarrage du service de licences service zarafa-licensed restart service zarafa-licensed status 2.2.6.2. Vérification Une information sur le type de licence ainsi que la durée restante s’affiche sur la barre d’état de WebAcess. En cas de non-respect de la licence, voilà ce que l’on trouve dans le log (/var/log/zarafa/license.log). [error] You are over your active user limit. Please remove active users. Licensed extended features will be disabled until the user limit is decreased. Et après régularisation, [notice] Base serial <CLEF VALUE> found, valid for 25 users Attention : Zarafa WebAccess est obsolète et sera retiré du groupware prochainement. Il est recommandé d’utiliser WebApp en remplacement de WebAccess. ASRALL 2015-16 p. 38 2.3. Installation de WebApp Zarafa abandonne donc son webmail « WebAccess » au profit de « WebApp » qui offre un nouveau « design ». Il est extensible via des plugins et plus facile à configurer (coté utilisateur). NB : WebAccess et WebApp peuvent cohabiter sans problème et permettre ainsi une migration des utilisateurs plus aisée. Téléchargement du paquet WebApp : https://download.zarafa.com/community/final/WebApp/2.1.2/debian-8.0/ Sélectionner le paquet : zarafa-webapp_2.1.2_all.deb Stocker le paquet zarafa-webapp_2.1.2_all.deb dans un dossier WEBAPP créé au préalable. Se placer dans le dossier WEBAPP, puis exécuter les commandes suivantes : dpkg –i *.deb Ne pas tenir compte de l’erreur (ERROR: Site zarafa-webapp does not exist!). Le site n’existant pas, il sera créé, sinon il sera mis à jour. Pour prendre en charge ce nouveau webmail, il faut redémarrer Apache. service apache2 restart service apache2 status Vérifier la présence des fichiers de configuration caractérisant les deux sites WebAccess et WebApp dans /etc/apache2/sites-available. Il s’agit de zarafawebacess.conf et zarafa-webapp.conf. Affectation de la propriété du fichier config.php à www-data (Apache) cd /etc/zarafa/webapp chown www-data:www-data ./config.php Il est possible maintenant de se connecter : http://localhost/webapp/ ASRALL 2015-16 p. 39 S’authentifier avec un utilisateur créé précédemment. Choisir une langue d’affichage. Cette boite n’apparait qu’au premier LOGON. Et voilà ! Bonne route. ASRALL 2015-16 p. 40 2.4. En cas de problème….LES LOGS Plusieurs méthodes pour dépanner : Tout d’abord, ZCP est constitué des divers services ci-dessous, chacun ayant un log en correspondance dans le répertoire /var/log/zarafa/ ainsi qu’un fichier de configuration situé dans /etc/zarafa/. Systemctl –t service | grep zarafa* zarafa-dagent.service .......... Zarafa Collaboration Platform's Delivery Agent zarafa-gateway.service........ Zarafa Collaboration Platform's POP3/IMAP Gateway zarafa-ical.service ................ Zarafa Collaboration Platform's iCal Gateway zarafa-licensed.service ....... Zarafa Collaboration Platform's License Daemon zarafa-monitor.service ........ Zarafa Collaboration Platform's Quota Monitor zarafa-presence.service ...... Provides user presence to WebApp zarafa-search.service .......... Search Indexer of the Zarafa Collaboration Platform zarafa-server.service ........... Zarafa Collaboration Platform's Storage Server zarafa-spooler.service ......... Zarafa Collaboration Server's Spooler Daemon Les logs et les fichiers de configuration en correspondance avec les services dagent.log ................................. dagent.cfg gateway.log............................... gateway.cfg ical.log ...................................... ical.cfg licensed.log ............................... licensed.cfg monitor.log ................................ monitor.cfg presence.log ............................. presence.cfg search.log ................................. search.cfg server.log .................................. server.cfg spooler.log ................................ spooler.cfg Les autres fichiers de configuration de /etc/zarafa/ sont : backup.cfg ldap.active-directory.cfg ldap.openldap.cfg ldap.propmap.cfg unix.cfg autorespond ASRALL 2015-16 p. 41 Pour connaitre l’état des services ZCP, le nom et l’emplacement du fichier de configuration du service, ainsi que les derniers événements, la commande qui suit est intéressante. systemctl status zarafa* ● zarafa-server.service - LSB: Zarafa Collaboration Platform's Storage Server Loaded: loaded (/etc/init.d/zarafa-server) Active: active (running) since jeu. 2016-03-10 17:26:43 CET; 3h 51min ago Process: 1107 ExecStart=/etc/init.d/zarafa-server start (code=exited, status=0/SUCCESS) CGroup: /system.slice/zarafa-server.service └─1280 /usr/sbin/zarafa-server -c /etc/zarafa/server.cfg mars 10 17:26:43 archivage zarafa-server[1107]: Starting Zarafa server: zarafa-server. Rappel : La gestion des ressources (utilisateurs et groupes) peut être faite par l’intermédiaire d’un annuaire LDAP (OpenLDAP ou MS Active Directory), du fichier passwd linux/unix ou directement par le groupware ZCP avec MySQL qui est sa base de données. Dans ce dernier cas, il faut utiliser l’outil : ZARAFA-ADMIN. 2.5. Les statistiques La commande qui suit permet d’acquérir des statistiques sur le système, les sessions en cours, l’activité des utilisateurs, la taille de leur magasin, leurs quotas. Mais aussi sur les sociétés (environnement multi tenants), les serveurs (environnement HA) ou tout simplement un TOP. zarafa-stats <options> --[table] Les options sont: --user, -u <user> .....Use specified username to logon --host, -h <url> ........Use specified url to logon (eg http://127.0.0.1:236/zarafa) --dump, -d ................Print output as comma separated fields Les tables sont: --system...................Gives information about threads, SQL and caches --session..................Gives information about sessions and server time --users .....................Gives information about users, store sizes and quotas --company ...............Gives information about companies, sizes and quotas --servers ..................Gives information about cluster nodes --top .........................Shows top-like information about sessions NB : Il est possible de provoquer un rafraîchissement toutes les secondes avec la commande watch watch -n 1 zarafa-stats –system ASRALL 2015-16 p. 42 2.6. Les ports entrants Suite à l’installation, ZCP n’est absolument pas sécurisé. Il est bien sûr possible et c’est même plus que recommandé de remédier à cela. Voici donc la liste des ports utilisés par ZCP. Services/Protocoles Zarafa-server Zarafa-caldav Zarafa-gateway IMAP POP3 APACHE (webaccess et webapp) MYSQL DAGENT N° port (en clair) 236 8080 25 143 110 80 3306 2003 N° port (SSL) 237 8443 587 (authentifié) 993 995 443 Si nous souhaitons que notre groupware soit accessible tout en restant sécurisé, il est fondamental de connaitre ses numéros de ports. 2.7. Prise en charge des mobiles avec Z-Push ActiveSync est un logiciel de synchronisation développé par Microsoft. Ce logiciel utilise un protocole propriétaire ActiveSync Exchange disponible aux sociétés tierces sous forme de licence payante. Il permet à un périphérique portable d'être synchronisé avec un PC de bureau, ou bien un serveur hébergeant FirstClass Collaboration Suite, Microsoft Exchange Server, PostPath Email and Collaboration Server, Serveur IceWarp, Kerio MailServer, Kolab, Zimbra ou Z-Push. 2.7.1. Prérequis matériel et logiciel 2.7.1.1. Matériel Le module Z-Push émule un serveur MS Exchange autorisant de fait les utilisateurs à synchroniser leurs mobiles sans être obligé d’installer quelque logiciel que ce soit. Apple iPhone et iPad Windows Phone 7, 7.5 et 8 Mobiles Android avec Android 4.x et supérieur Blackberry PlayBook et 10 (avec ActiveSync) Autres périphériques compatibles ActiveSync Liste de compatibilité des mobiles : http://z-push.org/compatibility/ ASRALL 2015-16 p. 43 2.7.1.2. Logiciel Z-Push doit être installé sur un serveur Web (Apache + PHP). 2.7.2. Installation 1. Télécharger le paquet d’installation compressé à cet endroit : http://z-push.org/download/ 2. Créer un dossier, puis décompresser le paquet d’installation dans le dossier mkdir –p /usr/share/z-push tar xzvf z-push-*.tar.gz –C /usr/share/z-push/ --strip-components=1 mkdir /var/lib/z-push /var/log/z-push chown www-data:www-data /var/lib/z-push /var/log/z-push 3. Modifier le fichier /etc/apache/apache2.conf et ajouter Alias /Microsoft-Server-ActiveSync /usr/share/z-push/index.php 4. Ajouter des paquets spécifiques PHP apt install php5-cli php-soap 5. Créer un fichier .htaccess dans /usr/share/z-push touch /usr/share/z-push/.htaccess 6. Ajouter les directives suivantes dans le fichier .htaccess php_flag php_flag php_flag php_flag magic_quotes_gpc = off register_globals = off magic_quotes_runtime = off short_open_tag = on 7. Redémarrer le service Apache et vérifier service apache2 restart service apache2 status NB : Deux outils d’administration sont fournis (/usr/share/z-push) : z-push-top.php z-push-admin.php 8. Création de deux liens symboliques ln -s /usr/share/z-push/z-push-top.php /usr/local/sbin/z-push-top ln -s /usr/share/z-push/z-push-admin.php /usr/local/sbin/z-push-admin ASRALL 2015-16 p. 44 2.8. Installation du plugin MDM (Mobile Device Management) pour WebApp 1. Télécharger le paquet d’installation à cet endroit : https://download.zarafa.com/community/final/ Développer le dossier WebApp/plugins/MDM 1.0/debian-8.0 et cliquer sur le fichier zarafa-webapp-plugins-mdm_1.0.1453470163.f6c94a8_all.deb pour initialiser le téléchargement. 2. Installation du paquet.deb dpkg –i zarafa-webapp-plugins-mdm_*_all.deb 3. Modifier le fichier /etc/zarafa/webapp/config-mdm.php Remplacer define('PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM', false); Par define('PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM', true); 4. Redémarrer le service zarafa-server service zarafa-server restart Rappel : Les connexions ne sont pas chiffrées par défaut avec ZCP. L’accrochage des mobiles de fera donc via le port TCP 80. Résultat du z-push-top lors de la synchronisation d’un mobile. L’utilitaire z-push-admin.php est à disposition de l’administrateur. Cet outil permet de lister les mobiles, de les effacer, de les supprimer ou de forcer une synchronisation. ASRALL 2015-16 p. 45 Gestion MDM dans les paramètres de WebApp d’un utilisateur. ASRALL 2015-16 p. 46 2.9. Intégration Zarafa avec MS Outlook Le client Zarafa pour Ms Outlook est téléchargeable directement sur le site de Zarafa a l’adresse suivante : https://www.zarafa.com/trial/ Le client Zarafa pour Outlook est conditionné sous la forme d’un fichier .MSI (Microsoft Installer). Dans l’environnement Windows, ce package peut être distribué en utilisant plusieurs méthodes (GPO, SCCM, inclusion dans les masters, manuelle, etc.). De plus, le client Zarafa, lors de chaque démarrage du client Windows, vérifie s’il n’existe pas une version plus récente. Si tel est le cas, le client Zarafa se met à jour automatiquement. Lorsque l’installation est terminée, il faut créer un profil de messagerie via l’applet « Courrier » du panneau de configuration. Pour cela, il faut : Ajouter un nouveau profil et lui donner un nom Choisir l’option « configuration manuelle ou types de serveurs supplémentaires » dans la boite de configuration de compte automatique. Choisir l’option « Autre » afin de selectionner « Zarafa Server ». Cette information est la résultante de l’installation du client Zarafa. Saisir enfin les diverses informations permettant de se connecter au serveur et à notre boite aux lettres. ASRALL 2015-16 p. 47 Le tableau ci-dessous apporte une aide dans le choix du type de connexion. Type d'utilisateur Profil Zarafa Utilisateur qui travaille toujours sur le même PC fixe au bureau Connecté Utilisateur qui utilise un profile itinérant et qui se connecte à Connecté partir de PC fixes différents au bureau Utilisateur qui travaille dans une agence, sur un PC fixe à Mode Zarafa mis distance, au moyen d'une connexion Internet à faible débit en cache Utilisateur avec un ordinateur portable, qui se trouve au bureau Détecter au la majeure partie du temps démarrage Utilisateur avec un ordinateur portable, qui est toujours en Mode Zarafa mis déplacement en cache Utilisateur qui travaille sur un terminal du serveur Connecté Le client Zarafa se traduit par un nouveau menu Zarafa dans Ms Outlook. Attention, les options « Synchroniser » et « Configurer » ne sont visibles que parce que le type de connexion est fixé sur « Détecter au démarrage » ou « Mode zarafa mis en cache ». ASRALL 2015-16 p. 48 3. Kolab Groupware 3.1. Présentation Kolab Groupware est une solution de Groupware logiciel libre pour les communications de messagerie, les événements et rendez-vous, contacts. Il prend en charge les environnements de clients mixtes et l'utilisation de biens, protocoles standards tels qu’IMAP et SMTP. Kolab Groupware est un service sécurisé, évolutif, fiable, flexible. Kolab est entièrement gratuit et Open Source Software. Kolab Groupware est le ciment entre différents logiciels : le serveur de messagerie comme base, auquel s’ajoutent des capacités de collaboration, de synchronisation de la téléphonie mobile. Kolab Groupware offre une intégration native pour les platesformes de système d'exploitation de bureau, tels que Mac OS X, Linux et Windows. Les versions vont de kolab 1.0 publié en 2003 jusqu’à kolab 3.4 en 2015. Plusieurs solutions Linux intègrent Kolab comme composant : Univention Corporate Server (Debian), ClearOS (CentOS) et bien d’autres. Le site de référence : https://docs.kolab.org 3.2. Installation 3.2.1. Préparation du système 3.2.1.1. Partitionnement Il est conseillé d’utiliser LVM (Logical Volume Manager) afin de répartir certains répertoires sur des volumes logiques séparés : /var/lib/dirsrv/ /var/lib/mysql/ /var/lib/imap/ /var/spool/imap/ Pour les installations de grande taille ou multi-domaines, remplacer : /var/lib/imap/ /var/spool/imap/ par /srv/imap/[$domain/]config/ /srv/imap/[$domain/]default/ ASRALL 2015-16 p. 49 3.2.1.2. Ce qui est conseillé de faire 3.2.1.2.1.SELinux SELinux12 (Security Enhanced Linux) est un système de contrôle d'accès obligatoire (Mandatory Access Control) qui s'appuie sur l'interface Linux Security Modules fournie par le noyau Linux. Pour afficher le mode actuel SELinux : sestatus Pour le désactiver temporairement : setenforce 0 Pour le désactiver après le redémarrage du système : vim /etc/selinux/config et spécifier SELINUX=disabled 3.2.1.2.2.LXC Conteneurs Les conteneurs13 LXC ont besoin que /dev/shm soit monté en lecture et écriture. ls –ld /dev/shm/ affiche drwxrwxrwt 2 root root 40 2012-11-20 20:34 shm Vérifier que /etc/fstab contient : none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0 3.3. Prérequis Dans ce tutoriel, nous installerons tous les services sur une seule machine. L’installation de Kolab nécessite un serveur ou une machine virtuelle vierge et dédié(e). Il est possible d’installer Kolab sur : Borgfeld (UCS 3.2) Harlequin (openSUSE 13.2) Jessie (Debian 8) Maipo (Red Hat Enterprise Linux and/or CentOS 7) Precise (Ubuntu LTS 12.04) 12 Le noyau interroge SELinux avant chaque appel système pour savoir si le processus est autorisé à effectuer l'opération concernée. 13 LXC est utilisé pour faire fonctionner des environnements Linux isolés les uns des autres dans des conteneurs partageant le même noyau. ASRALL 2015-16 p. 50 Santiago (Red Hat Enterprise Linux and/or CentOS 6) Squeeze (Debian 6) Trusty (Ubuntu LTS 14.04) Twenty Three (Fedora 23) Twenty Two (Fedora 22) Vahr (UCS 4.1) Vivid (Ubuntu 15.04) Walle (UCS 4.0) Wheezy (Debian 7) Wily (Ubuntu 15.10) Xenial (Ubuntu LTS 16.04) Les clients possibles sont : Fedora CentOS Windows Ubuntu 14.04 Le « hostname » du serveur Kolab doit être correctement configuré, et le serveur accessible par ce nom depuis une autre machine (DNS : Domain Name System). 3.4. Exécution 3.4.1. Configuration du serveur Nous commençons par changer le nom du serveur : vim /etc/hostname srv-mail Nous changeons le fichier hosts, ce fichier est consulté avant l’accès au serveur DNS vim /etc/hosts 127.0.0.1 localhost 127.0.0.1 srv-mail.monreseau.local srv-mail On ajoute les sources afin de télécharger les paquets : vim /etc/apt/sources.list.d/kolab.list deb http://obs.kolabsys.com/repositories/Kolab:/3.4/Debian_8.0/ ./ deb http://obs.kolabsys.com/repositories/Kolab:/3.4:/Updates/Debian_8.0/ ./ Nous configurons le chemin de recherche des bibliothèques partagées : vim /etc/ld.so.conf.d/x86_64-linux-gnu.conf Ajouter à la fin du fichier : /usr/lib/x86_64-linux-gnu/nss ASRALL 2015-16 p. 51 On donne la priorité à Kolab pour l’installation vim /etc/apt/preferences.d/kolab Package: * Pin: origin obs.kolabsys.com Pin-Priority: 501 On termine en faisant la mise à jour du système apt-get update 3.4.2. Installation d’Apache Un serveur web est un logiciel permettant à des clients d'accéder à des pages web. Apache est le serveur le plus répandu sur internet (il existe également Nginx). apt-get install apache2 -t stable 3.4.3. Installation de Kolab Il existe un paquet présent dans debian, lancer la commande : aptitude install kolab Les questions suivantes seront posées, il faudra y répondre de cette manière : exim4 est en conflit avec postfix donc les paquets exim4 vont être supprimés Accepter cette solution ? Yes Installer les paquets ? Yes Les paquets vont être installés, certains ne sont pas certifiés voulez-vous les installer ? Oui 3.4.4. Installation et configuration Postfix aptitude install postfix Configuration du type du serveur de messagerie : Site Internet Nom du courrier : nomdemachine.mondomaine Mot de passe superutilisateur MySQL : il ne faut pas renseigner le mot de passe maintenant (3 fois consécutives) Des erreurs de dépendances sont constatées avec amavisd-new, kolab-mta et kolab Ces erreurs sont sans importances. Il faut reconfigurer Postfix afin de donner toutes les informations : dpkg-reconfigure postfix ASRALL 2015-16 p. 52 Destinataire des courriers de root et de postmaster : mettre votre nom de domaine FQDN Autres destinations pour lesquelles le courrier sera accepté : ajouter votre nom de domaine FQDN Faut-il forcer des mises à jour synchronisées de la file d’attente des courriels : oui Réseau interne : ajouter votre réseau Faut-il utiliser procmail pour la distribution locale : oui 3.4.5. Configuration de Kolab Lancer la commande : setup-kolab Une série de question sera posée. Il faudra y répondre de cette manière : Mot de passe administrateur : saisir un mot de passe Mot de passe Directory Manager : saisir un mot de passe Utilisateur [dirsrv] : entrer Groupe [dirsrv] : entrer Mot de passe pour l’administrateur Cyrus : saisir un mot de passe Mot de passe pour le service kolab: saisir un mot de passe What MySQL server are we setting up? - 1: Existing MySQL server (with root password already set). - 2: New MySQL server (needs to be initialized) Mot de passe de root pour MySQL : saisir un mot de passe MySQL kolab password : saisir un mot de passe MySQL Roundcube password : saisir un mot de passe Vérifier que le service dirsrv-snmp est démarré : systemctl status dirsrv-snmp.service 3.5. Post installation Une fois Kolab installé sur la distribution Linux, il faut utiliser le navigateur web pour se rendre sur la page de configuration administrateur et Roundcube. Accès à l’interface administrateur http://localhost/kolab-webadmin/ Login : cn=Directory Manager ASRALL 2015-16 p. 53 Mot de passe : celui qui a été saisi précédemment Accès à l’interface Roundcube http://adresseip/roundcubemail/ 3.6. En cas de problème Vous avez deux méthodes pour dépanner : Les logs Ensuite, Kolab utilise des scripts système standards pour l'arrêt et le démarrage des services. Usage : /usr/bin/kolabctl [start|start_ha|stop|stop_ha|status|reload|restart|restart_ha|memory] 3.7. Les ports entrants Si nous souhaitons que notre groupware soit accessible tout en restant sécurisé, il est fondamental de connaitre ses numéros de ports. Port 25 80 110 143 389 443 465 587 636 993 995 4190 8080 ASRALL 2015-16 Protocole tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp tcp Description SMTP. HTTP. POP. IMAP. LDAP. HTTPS. SMTPS. (SSL / TLS) MSA (Mail Submission Agent [MD5]). LDAPS. IMAPS. POPS. Managesieve. Manticore. p. 54 3.8. Bibliographie www.youtube.com www.technet.microsoft.com/fr-fr/ www.windows.microsoft.com www.clubic.com www.debian.org http://openclassrooms.com https://kolab.org/ https://kolabnow.com (service payant de Kolab) https://docs.kolab.org/installation-guide/debian-community.html http://linuxfr.org/news/kolab-3-2-retour-d-experience-sous-debian-wheezy-7be7c8c6e3c6-43f4-8f9b-fac86a76eb3e http://blupgnup.com/servers/installation-groupware-kolab/ http://linuxfr.org/news/kolab-3-2-retour-d-experience-sous-debian-wheezy-7be7c8c6e3c6-43f4-8f9b-fac86a76eb3e https://docs.kolab.org/howtos/kolab-webadmin-create-user.html https://docs.kolab.org/administrator-guide/index.html#admin Connecteur Outlook avec un opensource : http://www.toltec.co.za/connector.html Connecteur Outlook avec Binary : https://docs.kolab.org/clientconfiguration/outlook.html?highlight=outlook Synchronisation avec Android : https://code.google.com/archive/p/kolab-android/ ActivSync : http://sebsauvage.net/streisand.me/perturbateur/?20131112_221442_Tuto_installatio n_messagerie_Kolab_3__ndash__ActivSync__ndash__Debian__ndash__Partie_3 Présentation : https://docs.kolab.org/architecture-anddesign/introduction.html?highlight=outlook Tutoriel d’installation selon l’OS : https://docs.kolab.org/installationguide/winterfell/index.html php-kolab : https://packages.debian.org/jessie/php-kolab ASRALL 2015-16 p. 55 3.9. Intégration Kolab avec MS Outlook Pour configurer un compte de messagerie dans Outlook, procédez comme suit : Allez dans le menu et sélectionnez « Fichier », puis cliquez sur le bouton « Ajouter un compte ». Sélectionnez l'option « configurer manuellement les paramètres du serveur ou les types de serveurs supplémentaires ». Cliquez sur Suivant. Sélectionnez « Internet E-mail » comme service. Cliquez sur Suivant. Remplissez les champs du formulaire comme illustré ci-dessous Cliquez sur « Paramètres » et passez à l'onglet "Serveur sortant". ASRALL 2015-16 p. 56 Cochez la case « Mon serveur sortant (SMTP) requiert une authentification». Cliquez sur OK. Cliquez sur « Suivant » pour vérifier les réglages et pour terminer la configuration du compte. Il faut maintenant, dans un second temps, (recommandation Kolab), recréer un compte pour ActiveSync afin de bénéficier d’un accès et d’une synchronisation avec les agendas et le carnet d’adresses. Sélectionnez le menu « Fichier », puis cliquez sur le bouton « Ajouter un compte ». Sélectionnez l'option « configurer manuellement les paramètres du serveur ou les types de serveurs supplémentaires ». Cliquez sur Suivant. ASRALL 2015-16 p. 57 Sélectionner l’option « Outlook.com ou Exchange ActiveSync… », puis « Suivant ». Saisir vos informations d’identification, puis « Suivant » et « Terminé ». ASRALL 2015-16 p. 58 4. Zimbra Ce tutoriel couvre l’ensemble des prérequis pour l’installation ainsi que l’installation et la configuration de la solution et inclut la liaison de Zimbra à un Active Directory pour l’authentification centralisée (SSO). Ce tutoriel s’appuie sur la version 8.6.0 de zimbra sur debian 8 (jessie). 4.1. Prérequis d’installations 4.1.1. Matériel Une configuration minimum est nécessaire pour tous les services sur un seul et même serveur. Il faudra au minimum un processeur Dual-Core, 4 Go de RAM (dans le cadre du test) sinon 8Go de RAM minimum. Cette configuration s’applique sur tout genre de support (physique ou virtuel). 4.1.2. Installation des dépendances sudo apt-get install libperl5.14 libgmp3c2 build-essential sqlite3 sysstat ntp libaio1 pax 4.1.3. Configuration IP Affectation d’une adresse IP fixe au serveur Zimbra comme indiqué ci-dessous : # The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.1.67 netmask 255.255.255.0 gateway 192.168.1.1 Configuration du fichier /etc/hosts et /etc/resolv.conf Pour /etc/hosts, ce fichier doit être configuré parfaitement car Zimbra se base sur ce fichier dès le début de l’installation et refusera l’installation si ce fichier n’est pas correctement complété. Le fichier devra comporter les lignes suivantes (minimum) : 127.0.0.1.................. localhost.localdomain localhost 192.168.1.67............ zimbra.ulkranirium.xyz zimbra Pour /etc/resolv.conf, nous devons préciser le suffixe de cherche par défaut ainsi que l’adresse du serveur de nom (DNS). Les lignes suivantes seront nécessaires (à vous de les adapter bien sûr): search ulkranirium.xyz ........... Quoi chercher nameserver 192.168.1.67 ....... Où chercher ASRALL 2015-16 p. 59 Si vous avez un service tel que Network-Manager qui modifie la configuration du fichier avec de mauvaises données, je vous conseille de bloquer l’écriture de ce fichier avec la commande suivante : chattr +i /etc/resolv.conf NB : Pour le déverrouiller il suffit de changer l’option +i en -i. 4.2. Installation de la solution Zimbra 4.2.1. Téléchargement des sources Création d’un répertoire avec le nécessaire d’installation Se placer dans le répertoire /opt cd /opt Création d’un répertoire source sudo mkdir sources cd sources Téléchargement du package Zimbra Sur le site officiel avec la commande wget : https://www.zimbra.com/downloads/zimbra-collaboration-open-source/ Décompression du package zimbra : tar -xvf zcs* cd zcs* 4.2.2. Installation Exécution du script d’installation à partir du répertoire courant (/opt/sources /zcs8.6.0) ./install.sh Et répondre aux questions suivantes : Do you agree with the terms of the software license agreement? [N] Y Install zimbra-ldap [Y] ........................................Entrée Install zimbra-logger [Y] .....................................Entrée Install zimbra-mta [Y] .........................................Entrée Install zimbra-dnscache [Y] ................................Entrée Install zimbra-snmp [Y] ......................................Entrée Install zimbra-store [Y] .......................................Entrée Install zimbra-apache [Y] ...................................Entrée Install zimbra-spell [Y] ........................................Entrée Install zimbra-memcached [Y] ...........................Entrée Install zimbra-proxy [Y] ......................................Entrée The system will be modified. Continue? [N] ......Y ASRALL 2015-16 p. 60 L’installation va s’appuyer sur les informations de resolv.conf et va générer une ERREUR ! Il faut alors remplacer zimbra.ulkranirium.xyz (nom_de_machine.nom_de_domaine) par ulkranirium.xyz (nom_de_domaine). Il suffit donc de répondre YES est mettre la valeur ulkranirium.xyz et voilà ! DNS ERROR resolving MX for zimbra.ulkranirium.xyz It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes] .............................Entrée Create domain: [zimbra.ulkranirium.xyz] ............ulkranirium.xyz MX: zimbra.ulkranirium.xyz (192.168.1.67) Interface: 127.0.0.1 Interface: ::1 Interface: 192.168.1.67 done 4.3. Configuration de la solution après installation Une fois la solution installée avec succès, un menu apparait. Il ne faut pas fermer le menu de configuration de suite car ce n’est pas réellement terminé ! Dans ce menu il va falloir au minimum changer le mot de passe du compte Administrateur de Zimbra. Beaucoup d’options sont modifiables à ce niveau. Le menu va donc ressembler à cela : 1) Common Configuration: 2) zimbra-ldap Enabled 3) zimbra-logger Enabled 4) zimbra-mta Enabled 5) zimbra-dnscache Enabled 6) zimbra-snmp Enabled 7) 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 ...................................... zimbra.ulkranirium.xyz +Web server HTTP port .................... 8080 +Web server HTTPS port .................. 8443 +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 ASRALL 2015-16 p. 61 +Spell server URL .................. http://zimbra.ulkranirium.xyz7780/aspell.php +Enable version update checks ......................... TRUE +Enable version update notifications .................. TRUE +Version update notification email...................... [email protected] +Version update source email ............................ [email protected] +Install mailstore (service webapp) .................... yes +Install UI (zimbra,zimbraAdmin webapps) ........ yes 8) zimbra-spell .......................... Enabled 9) zimbra-proxy ......................... Enabled 10) Default Class of Service Configuration: s) Save config to file x) Expand menu q) Quit Sélectionner l’option 7 Le sous menu va donc ressembler à cela : 1) Status ................................................ Enabled 2) Create Admin User ............................ yes 3) Admin user to create ......................... [email protected] 4) Admin ............................................... 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......................................... zimbra.ulkranirium.xyz 10) Web server HTTP port..................... 8080 11) Web server HTTPS port .................. 8443 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://zimbra.ulkranirium.xyz: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] 23) Install mailstore (service webapp .... yes 24) Install UI (zimbra,zimbraAdmin webapps) yes Sélectionner l’option 4 pour changer le mot de passe du compte Administrateur qui doit respecter un minimum de 6 caractères. Une fois cette étape finie et en dehors de toute autre modification, vous appuyez sur la touche « r » pour revenir au menu précédent puis « q » pour quitter. ASRALL 2015-16 p. 62 Une fois-là, d’autres questions vous sont posées : *** CONFIGURATION COMPLETE - press 'a' to apply ..... a Save configuration data to a file? [Yes] ............................. Entrée Et voilà la solution Zimbra est installée avec succès ! Enjoy ! Configuration complete - press return to exit 4.4. Utilisation de Zimbra Ce rendre sur son navigateur préféré et entrer l’adresse (dans mon cas) : https://ulkranirium.xyz:8443/ Entrer votre nom d’administrateur (normalement admin) et votre mot de passe configuré à l’installation : ASRALL 2015-16 p. 63 Une fois connecté, voici une jolie et nouvelle interface WebMail : À partir de là, il est possible d’accéder à la console d’administration de Zimbra. Pour cela, cliquez sur votre nom d’utilisateur ([email protected]), sélectionnez « Console d’administration » et saisissez à nouveau vos informations d’identification. 4.5. Activer l’authentification via Active Directory (externe) À la page d’accueil, dans la fenêtre du milieu choisir « 3. Configurer l’authentification… ». Une fenêtre s’ouvre, choisir « Active Directory externe » puis « suivant ». Dans « Domaine du serveur AD », entrer le nom de votre domaine et ASRALL 2015-16 p. 64 faites en sorte qu’il soit identique au nom du serveur AD situé dans la zone de saisie en dessous en affectant le port « 3268 », puis cliquez sur « suivant ». Dans « Liaison LDAP » il faut cocher la case « Utiliser un identifiant (DN) » et associer un identifiant et mot de passe ayant suffisamment de droit dans le domaine pour interroger le serveur LDAP à distance (personnellement j’ai créé un compte zimbra avec des droits spécifiques sur le domaine, mais le compte administrateur du domaine fonctionne aussi, ce n’est juste pas un bonne pratique), puis « suivant ». ASRALL 2015-16 p. 65 À ce niveau, il est possible de tester si la liaison avec l’annuaire est nominale. Pour cela, il suffit de saisir les informations d’identification d’un utilisateur et de cliquer sur le bouton « Tester », puis « Suivant » s’il n’y a pas d’erreur. Ensuite dans « Paramétrage de groupe externe », laisser les valeurs par défaut puis cliquer sur « Suivant » et enfin « Terminer ». Si vous souhaitez modifier ces paramètres, il faut retourner sur la page d’accueil, puis dans le menu de gauche, choisir « Configurer » -> « Domaines ». Dans les domaines, choisir son domaine en double cliquant dessus. Enfin, se rendre dans « Authentification » pour vérifier le « Paramétrage de l’authentification ». Reste plus qu’à tester votre configuration et c’est normalement fini pour le plus gros du travail. ASRALL 2015-16 p. 66 4.6. Intégration Zimbra avec MS Outlook Se connecter sur : https://IP_du_SERVER/donwloads/index.html Télécharger et installer le connecteur Ms Outlook (64bit dans mon cas) : ASRALL 2015-16 p. 67 NB : Aucune question particuliére ne vous sera posée pendant l’installation. Configuration du connecteur Outlook Zimbra : Démarrer Outlook, une fenêtre de configuration propose de configurer un compte : Dans « Configuration du serveur » Indiquer le champ « Nom du serveur » « ulkranirium.xyz » dans mon cas Indiquer le champ « Adresse mail » « [email protected] » Indiquer le champ « Mot de passe » avec votre mot de passe du compte mail Il ne vous reste plus qu’à profiter d’Outlook avec vos calendriers, mails, contacts et tâches. Tout cela parfaitement synchronisé avec le serveur. ASRALL 2015-16 p. 68 5. SOGo Ce tutoriel couvre l’ensemble des prérequis pour l’installation ainsi que l’installation et la configuration de la solution. SOGo prend en charge tout périphérique supportant les protocoles CalDAV, CardDAV ou Microsoft ActiveSync nativement. Ce tutoriel s’appuie sur la version 3.0.2 de SOGo. 5.1. Prérequis d’installations 5.1.1. Matériel Minimum pour évaluation Intel, AMD ou PowerPC CPU 1 GHz 512 MB RAM 1 GB d’espace disque Minimum pour production Intel, AMD ou PowerPC CPU 3 GHz 2048 MB RAM 10 GB d’espace disque (boites aux lettres exclues) 5.1.2. Logiciel RedHat 5, 6 et 7 Debian 6.0, 7.0 et 8.0 Ubuntu 10.04, 12.04 et 14.04 OpenSUSE Packages (non officiel) NB : SOGo n’est disponible qu'en version 64 bits sur les dernières versions de distributions supportées. SODo recommande le travailler à la base de ces applications dont les versions minimum sont : Moteur de bases de données ...... PostgreSQL 7.4 Moteur LDAP ................................. OpenLDAP 2.3.x Serveur SMTP ............................... Postfix 2.x Serveur IMAP ................................ Cyrus IMAP Server 2.3.x 5.1.3. Configuration IP Modification de /etc/network/interfaces pour affectation d’une adresse IP statique # The primary network interface allow-hotplug eth0 ASRALL 2015-16 p. 69 iface eth0 inet static address 192.168.1.70 netmask 255.255.255.0 gateway 192.168.1.1 Configuration du fichier /etc/hosts et /etc/resolv.conf Edition du fichier /etc/hosts pour modifier le nom du serveur et l’attachement du serveur au domaine : 127.0.0.1.................. localhost.localdomain localhost 192.168.1.70............ sogo.ulkranirium.xyz sogo Édition du fichier /etc/resolv.conf pour renseigner notre serveur DNS : search ulkranirium.xyz ........... Quoi chercher nameserver 192.168.1.67 ....... Où chercher 5.1.4. Installation des prérequis Nous allons commencer par installer Postfix avec Dovecot : 1. Installation et configuration de postfix sudo apt-get install postfix Sauvegarde du fichier de configuration de postfix sudo cp /etc/postfix/main.cf.old Edition du fichier main.cf de postfix sudo vim /etc/postfix/main.cf # Hostname and domain name myhostname=sogo.ulkranirium.xyz mydomain=ulkranirium.xyz myorigin=$mydomain # SSL/TLS certificates smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_auth_only=yes # Anti-SPAM rules adapted from https://wiki.debian.org/Postfix smtpd_recipient_restrictions = permit_sasl_authenticated, reject_invalid_hostname, reject_unknown_recipient_domain, reject_unauth_destination, reject_rbl_client sbl.spamhaus.org, permit ASRALL 2015-16 p. 70 smtpd_helo_restrictions = reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net # Mail will be stored in users ~/Maildir directories home_mailbox = Maildir/ mailbox_command = # From http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes Edition du fichier de configuration /etc/postfix/master.cf et ajouter sudo vim /etc/postfix/master.cf submission inet n smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING dovecot unix n n flags=DRhu user=email:email ${recipient} pipe argv=/usr/lib/dovecot/deliver -f ${sender} -d 2. Installation et configuration de Dovecot sudo apt-get install dovecot-common dovecot-imapd Edition de /etc/dovecot/conf.d/10-ssl.conf et ajouter cette section sudo vim /etc/dovecot/conf.d/10-ssl.conf # SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> ssl = required ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key Edition de /etc/dovecot/conf.d/10-master.conf et modifier comme ci-dessous : service auth { # Postfix smtp-auth (was commented) ASRALL 2015-16 p. 71 unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } } Nous allons ensuite installer les autres prérequis ne nécessitant pas de configuration particulière pour le moment : sudo apt-get install mysql-server apache2 5.2. Installation, configuration de la solution SOGo 5.2.1. Installation de la solution SOGo sudo apt-get install sogo 5.2.2. Configuration de la solution après installation Avant toute chose nous allons créer une base de données avec un utilisateur « sogo » ayant les droits sur cette base uniquement : sudo mysql –u root –p Enter password: mysql >CREATE DATABASE sogo; mysql > GRANT ALL PRIVILEGES ON sogo.* TO "sogo"@"localhost" IDENTIFIED BY 'secret; mysql > FLUSH PRIVILEGES; mysql >exit Pour configurer SOGo nous allons modifier et ajouter quelques options au fichier de configuration dans /etc/sogo/sogo.conf : /* ********************* Main SOGo configuration file ********************** * * Since the content of this file is a dictionary in OpenStep plist format, * the curly braces enclosing the body of the configuration are mandatory. * See the Installation Guide for details on the format. * * C and C++ style comments are supported. * * This example configuration contains only a subset of all available * Configuration parameters. Please see the installation guide more details. * * ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, * make sure to move it away to avoid unwanted parameter overrides. * ASRALL 2015-16 p. 72 * **************************************************************************/ /* Database configuration (mysql:// or postgresql://) */ SOGoProfileURL = "mysql://sogo:secret@localhost:3306/sogo/sogo_user_profile"; OCSFolderInfoURL = "mysql://sogo:secret@localhost:3306/sogo/sogo_folder_info"; OCSSessionsFolderURL = "mysql://sogo:secret@localhost:3306/sogo/sogo_sessions_folder"; /* Mail */ SOGoDraftsFolderName = INBOX/Drafts; SOGoSentFolderName = INBOX/Sent; SOGoTrashFolderName = INBOX/Trash; SOGoIMAPServer = 127.0.0.1:143; SOGoSieveServer = sieve://127.0.0.1:4190; SOGoSMTPServer = 127.0.0.1; SOGoMailDomain = ulkranirium.xyz; SOGoMailingMechanism = smtp; SOGoForceExternalLoginWithEmail = NO; //SOGoMailSpoolPath = /var/spool/sogo; //NGImap4ConnectionStringSeparator = "/"; /* Authentication */ SOGoPasswordChangeEnabled = YES; /* Web Interface */ SOGoPageTitle = SOGo; SOGoVacationEnabled = YES; SOGoForwardEnabled = YES; SOGoSieveScriptsEnabled = YES; //SOGoMailAuxiliaryUserAccountsEnabled = YES; //SOGoTrustProxyAuthentication = NO; /* General */ SOGoLanguage = French; SOGoTimeZone = Europe/Paris; SOGoCalendarDefaultRoles = ( PublicDAndTViewer, ConfidentialDAndTViewer ); SOGoSuperUsernames = (sogo); // This is an array - keep the parens! SxVMemLimit = 384; WOPidFile = "/var/run/sogo/sogo.pid"; SOGoMemcachedHost = 127.0.0.1; /* Debug */ SOGoDebugRequests = YES; SoDebugBaseURL = YES; ImapDebugEnabled = YES; #LDAPDebugEnabled = YES; #PGDebugEnabled = YES; #MySQL4DebugEnabled = YES; SOGoUIxDebugEnabled = YES; ASRALL 2015-16 p. 73 WODontZipResponse = YES; WOLogFile = /var/log/sogo.log; 5.3. Configuration de l’authentification LDAP Pour que les clients puissent se connecter avec une authentification ldap via notre Active Directory, nous allons ajouter la section ci-dessous au fichier de configuration de SOGo dans /etc/sogo/sogo.conf : /* LDAP AD/Samba4 example */ SOGoUserSources = ( { type = ldap; CNFieldName = CN; IDFieldName = CN; UIDFieldName = sAMAccountName; baseDN = "CN=Users,DC=ulkranirium,DC=xyz"; bindDN = "CN=sogo ss. sogo,CN=Users,DC=ulkranirium,DC=xyz"; bindFields = (sAMAccountName); bindPassword = "0550002Dd"; canAuthenticate = YES; displayName = "Active Directory"; hostname = ldap://192.168.1.68:389; id = directory; isAddressBook = YES; } ); Configuration du fichier SOGo.conf dans /etc/apache2/conf-available/SOGo.conf et modifier les lignes suivantes : Changer la valeur du port sur cette ligne : RequestHeader set "x-webobjects-server-port" "80" Commenter les deux suivantes avec un diése: # RequestHeader set "x-webobjects-server-name" "ulkranirium.xyz" # RequestHeader set "x-webobjects-server-url" https://ulkranirium.xyz ASRALL 2015-16 p. 74 5.4. Installation de la partie native Outlook de SOGo 1. Préparation sudo apt-get install samba samba-dev openchangeserver sogo-openchange openchangeproxy python-ocsmanager python-mysql openchange-ocsmanager openchange-rpcproxy python-sievelib python-spyne python-rpclib sudo samba-tool domain provision --realm=example.com --domain=EXAMPLE --adminpass='%1OpenChange' --server-role='domain controller' sudo samba-tool user setexpiry administrator --noexpiry 2. Éditer le fichier /etc/samba/smb.conf puis ajouter ou modifier les lignes suivantes dans la section [global] : realm = ulkranirium.xyz netbios name = sogo passdb backend = samba4 ### Configuration required by OpenChange server ### dsdb:schema update allowed = true dcerpc endpoint servers = epmapper, mapiproxy, dnsserver dcerpc_mapiproxy:server = true dcerpc_mapiproxy:interfaces = exchange_emsmdb, exchange_nsp, exchange_ds_rfr ### Configuration required by OpenChange server ### mapistore:namedproperties = mysql namedproperties:mysql_user = openchange-user namedproperties:mysql_pass = openchange$123 namedproperties:mysql_host = localhost namedproperties:mysql_db = openchange mapistore:indexing_backend = mysql://openchangeuser:openchange$123@localhost/ openchange mapiproxy:openchangedb = mysql://openchange-user:openchange$123@localhost/ openchange 3. Redémarrer samba et lancer les services samba-ad-dc et openchangeocsmanger : /etc/init.d/samba start start samba-ad-dc /etc/init.d/openchange-ocsmanager start 4. Création de la base de données avec son utilisateur openchange : mysql –u root –p mysql> CREATE USER 'openchange-user'@'localhost' IDENTIFIED BY 'openchange$123'; mysql> GRANT ALL PRIVILEGES ON `openchange`.* TO 'openchangeuser'@'localhost' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES; mysql>exit; ASRALL 2015-16 p. 75 5. Chargement du schéma Active Directory sur samba : openchange_provision --standalone 6. Approvisionnement de la base de données d’OpenChange : openchange_provision --openchangedb --openchangedb-uri 'mysql://openchangeuser:openchange$123@localhost/openchange' 7. Activer les modules d’apaches : a2enmod proxy proxy_http wsgi a2enconf ocsmanager a2enconf rpcproxy a2dismod reqtimeout 8. Sauvegarder la configuration et redémarrer apache2 : update-rc.d apache2 defaults && /etc/init.d/apache2 restart 9. Supprimer la complexité de mot de passe et la longueur minimum de samba : samba-tool domain passwordsettings set --complexity=off samba-tool domain passwordsettings set --min-pwd-length=1 10. Créer un utilisateur : samba-tool user add nmoniatte samba-tool user setexpiry nmoniatte –noexpiry openchange_newuser --create nmoniatte 5.5. Utilisation de SOGo Pour utiliser SOGo il vous suffira de taper l’url (sogo.ulkranirium.xyz) ou l’adresse IP du serveur de messagerie. Cela donne : Il ne reste plus qu’à ouvrir une session et à profiter d’une adresse mail maison ! ASRALL 2015-16 p. 76 5.6. Intégration SOGo avec MS Outlook SOGo offre une compatibilité Microsoft Outlook native en utilisant le backend OpenChange développé par Inverse. Aucun plugin n’est nécessaire dans Outlook. Il suffit donc de créer un compte courrier en passant par le panneau de configuration Windows, il faut donc faire les démarches suivantes : Menu démarrer -> Panneau de configuration -> Courrier La fenêtre suivante s’affiche : Sélectionner « Afficher les profils » ASRALL 2015-16 p. 77 Sélectionner « Ajouter » Donner un nom au profil, puis cliquer sur « OK » Sélectionner alors « Compte de messagerie »‘ et remplir les champs comme indiqué ci-dessous, puis cliquer sur « Suivant » pour que la configuration du compte ce termine Reste plus qu’à profiter. ASRALL 2015-16 p. 78 6. OpenXchange 6.1. Présentation La solution Open Xchange propose un environnement collaboratif intégré proposant dans une interface web unifiée une suite collaborative, une suite de communication et une suite office. Le site de référence : https://www.open-xchange.com Schéma représentant l'organisation du serveur mail : ASRALL 2015-16 p. 79 6.2. Installation 6.2.1. Matériel Mémoire 8Go -12Go Disque 500 Mo plus de données de l’utilisateur Plateforme compatible : 64 bits Systèmes d’exploitation (x84_64) Pris en charge IMAP Serveur : Cyrus ou Dovecot ou Mail 6.2.2. Prérequis Dans ce tutoriel, nous installerons tous les services sur une seule machine. L’installation d’Open-Xchange nécessite un environnement mail fonctionnel Il est possible d’installer Open-Xchange sur : Univention Corporate Server Debian GNU / Linux SUSE Linux Enterprise Server RedHat Enterprise Linux CentOS, etc. Le « hostname » du serveur Open-Xchange doit être correctement configuré, et le serveur accessible par ce nom depuis une autre machine (DNS : Domain Name System) vim hostname nomdemachine vim /etc/hosts 127.0.0.1 localhost.localdomain localhost 127.0.0.1 hostname.nom-de-domaine hostname Redémarrez le serveur pour prendre en compte le changement de nom d'hôte. Installer les services : Bind9 apt-get install bind9 dnsutils La configuration pour cette partie est en annexe à la fin du rapport. Nginx apt-get install nginx PHP5 apt-get install php5-fpm php5-imap php5-mysql OpenSSL apt-get install openssl MySQL apt-get install mysql-server Entrer le mot de passe administrateur de la base de donnée. Mettre à jour votre système : apt-get update && apt-get dist-upgrade ASRALL 2015-16 p. 80 6.2.3. Installation de Postfix Postfix est un serveur de messagerie électronique et un logiciel libre. Liens utiles : http://fr.wikipedia.org/wiki/Postfix http://www.postfix.org/documentation.html On commence par installer Postfix avec le support de mysql. Les domaines, comptes utilisateurs et alias seront ainsi gérés directement au sein d'une base de données que l’on pourra administrer avec phpMyAdmin. apt-get install postfix postfix-mysql Lors de l'installation de Postfix, choisissez Site Internet pour utiliser SMTP (ainsi vous choisissez le type de serveur de messagerie) Une autre fenêtre apparaît et vous demande le nom du système de mail, entrez alors le FQDN de votre serveur : nommachine.nomdedomaine 6.2.4. Création de la base de donnée MySQL est un système de gestion de bases de données relationnelles (SGBDR). # Connexion au serveur MySQL en tant que root mysql -u root –password=root # Création de la base de données "postfix" mysql> CREATE database postfix; # Création de l'utilisateur "postfix" et ajout des permissions mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'MOT DE PASSE'; mysql> GRANT USAGE ON *.* TO 'postfix'@'localhost'; mysql> GRANT ALL PRIVILEGES ON postfix.* TO 'postfix'@'localhost'; # On quitte la console MySQL mysql> exit Vous pouvez faire de même en passant par phpMyAdmin en créant un nouvel utilisateur nommé postfix qui a tous les privilèges sur la base de données postfix. ASRALL 2015-16 p. 81 6.2.5. Installation et configuration de PostfixAdmin (optionnel) PostfixAdmin est une interface web en PHP qui permet de gérer facilement le serveur de mail postfix Elle permet de gérer les domaines, les adresses virtuelles et les alias. Pour ajouter une nouvelle adresse email, il faudra passer par cette interface. Télécharger l'archive la plus récente et la décompresser sur le serveur : cd /var/www wget https://sourceforge.net/projects/postfixadmin/files/postfixadmin/postfixadmin2.3.8/postfixadmin-2.3.8.tar.gz tar -xzf postfixadmin-2.3.8.tar.gz mv postfixadmin-2.3.8 postfixadmin rm -rf postfixadmin-2.3.8.tar.gz chown -R www-data:www-data postfixadmin Editez le fichier de configuration et modifiez les paramètres suivants : # vim /var/www/postfixadmin/config.inc.php $CONF['configured'] = true; $CONF['default_language'] = 'fr'; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfix'; $CONF['database_password'] = 'MOT DE PASSE'; $CONF['database_name'] = 'postfix'; $CONF['admin_email'] = '[email protected]; $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NO'; $CONF['fetchmail'] = 'NO'; Ajouter un nouvel hôte virtuel Nginx (à adapter selon votre configuration) : # vim /etc/nginx/sites-enabled/postfixadmin.conf server { listen 80; server_name postfixadmin.mazone.myl; root /var/www/postfixadmin; index index.php; charset utf-8; location / { try_files $uri $uri/ index.php; } location ~* \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; ASRALL 2015-16 p. 82 } } Redémarrez le service Nginx Service nginx restart Attention à ne pas oublier de supprimer le fichier default Dans un navigateur taper : localhost/setup.php Générez le hash du mot de passe d'installation et créez un compte administrateur. C'est à partir de ce compte que vous allez gérer les adresses emails. Attention: [email protected] n'est qu'un compte administrateur, l'adresse email n'existe pas. Si vous voulez la créer, il faudra passer par postfixadmin. vim /var/www/postfixadmin/config.inc.php $CONF['setup_password'] = 'HASH'; Ouvrir une nouvelle page : localhost/login.php On va commencer par ajouter un nouveau domaine, mazone.myl : Et une adresse email (Liste virtuel / ajouter un compte courriel), par exemple [email protected] et [email protected] ASRALL 2015-16 p. 83 6.2.6. Configuration Postfix La configuration de Postfix permet de prendre en charge les connexions SMTP et l'envoie des messages sur le réseau pour chaque utilisateur créé via PostfixAdmin. On commence par faire une sauvegarde du fichier de conf de Postfix : cp /etc/postfix/main.cf /etc/postfix/main.cf.bak On définit quelques règles (restrictions) au niveau du protocole SMTP afin de sécuriser les échanges et avoir un cadre plus restrictif lors de l'envoie des emails. # vim /etc/postfix/main.cf # Règles sur les adresses de destination # permit_sasl_authenticated : Accepter la connexion lorsque le client est authentifié # reject_non_fqdn_recipient : Refuser les adresses de destinations invalides (non FQDN) smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unauth_destination, reject_unknown_recipient_domain, reject_rbl_client zen.spamhaus.org # Règles sur l'échange HELO qui survient avant la connexion # reject_invalid_helo_hostname : Refuser les échanges HELO invalides # reject_non_fqdn_helo_hostname : Refuser les noms d'hôte invalides (non FQDN) # reject_unknown_helo_hostname : Refuser les noms d'hôte qui n'ont pas de champ DNS A ou MX dans leurs DNS. smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, # reject_unknown_helo_hostname # Règles de connexion des clients # permit_sasl_authenticated : Accepter la connexion lorsque le client est authentifié ASRALL 2015-16 p. 84 # reject_plaintext_session : Refuser les connexions non sécurisées # reject_unauth_pipelining : Refuser les défauts lors de la connexion smtpd_client_restrictions = permit_mynetworks, permit_inet_interfaces, permit_sasl_authenticated, # reject_plaintext_session, # reject_unauth_pipelining # Règles sur les expéditeurs # reject_non_fqdn_sender : Refuser les expéditeurs invalides (non FQDN) # reject_unknown_sender_domain : Refuser les expéditeurs qui n'ont pas de champ DNS A ou MX dans leurs DNS. smtpd_sender_restrictions = reject_non_fqdn_sender, reject_unknown_sender_domain On définit les paramètres de chiffrement TLS dans le même fichier # Smtp ( OUTGOING / Client ) smtp_tls_loglevel =1 smtp_tls_security_level = may smtp_tls_CAfile = /etc/ssl/certs/ca.cert.pem smtp_tls_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_ciphers = high smtp_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, 3DES, RC2, RC4, MD5, PSK, SRP, DSS, AECDH, ADH smtp_tls_note_starttls_offer = yes # --------------------------------------------------------------------------------------------------# Smtpd ( INCOMING / Server ) smtpd_tls_loglevel =1 smtpd_tls_auth_only = yes smtpd_tls_security_level = may smtpd_tls_received_header = yes smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_ciphers = medium # Infos (voir : postconf -d) # Medium cipherlist = aNULL:-aNULL:ALL:!EXPORT:!LOW:+RC4:@STRENGTH # High cipherlist = aNULL:aNULL:ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH # smtpd_tls_exclude_ciphers = NE PAS modifier cette directive pour des raisons de compatibilité # avec les autres serveurs de mail afin d'éviter une erreur du type ASRALL 2015-16 p. 85 # "no shared cipher" ou "no cipher overlap" puis un fallback en # plain/text... # smtpd_tls_cipherlist = Ne pas modifier non plus ! smtpd_tls_CAfile = $smtp_tls_CAfile smtpd_tls_cert_file = /etc/ssl/certs/mailserver.crt #cette ligne est à modifier, elle existe déjà smtpd_tls_key_file = /etc/ssl/private/mailserver.key #cette ligne est à modifier, elle existe déjà smtpd_tls_dh1024_param_file = $config_directory/dh2048.pem smtpd_tls_dh512_param_file = $config_directory/dh512.pem tls_preempt_cipherlist = yes tls_random_source = dev:/dev/urandom smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache #cette ligne est à modifier, elle existe déjà smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #cette ligne est à modifier, elle existe déjà lmtp_tls_session_cache_database = btree:${data_directory}/lmtp_scache Nous allons ensuite configurer SSL. Si vous n'avez pas de certificat SSL, exécutez les commandes suivantes pour en générer un (attention il s'agira d'un certificat autosigné par votre propre autorité de certification) cd /etc/ssl/ openssl genrsa -out ca.key.pem 4096 openssl req -x509 -new -nodes -days 1460 -sha256 -key ca.key.pem -out ca.cert.pem Country Name (2 letter code) [AU]: FR State or Province Name (full name) [Some-State]: France Locality Name (eg, city) []: Nancy Organization Name (eg, company) [Internet Widgits Pty Ltd]: ASRALL Organizational Unit Name (eg, section) []: Certificate Authority Common Name (e.g. server FQDN or YOUR name) []: monmail.mazone.myl Email Address [] :[email protected] openssl genrsa -out mailserver.key 4096 openssl req -new -sha256 -key mailserver.key -out mailserver.csr Country Name (2 letter code) [AU]: FR State or Province Name (full name) [Some-State]: France Locality Name (eg, city) []: Nancy Organization Name (eg, company) [Internet Widgits Pty Ltd]: ASRALL Organizational Unit Name (eg, section) []:Mail server Common Name (e.g. server FQDN or YOUR name) []: mail.mazone.myl openssl x509 -req -days 1460 -sha256 -in mailserver.csr -CA ca.cert.pem CAkey ca.key.pem -CAcreateserial -out mailserver.crt ASRALL 2015-16 p. 86 chmod 444 ca.cert.pem chmod 444 mailserver.crt chmod 400 ca.key.pem chmod 400 mailserver.key mv ca.key.pem private/ mv ca.cert.pem certs/ mv mailserver.key private/ mv mailserver.crt certs/ Création des paramètres Diffie-Hellman : openssl dhparam -out /etc/postfix/dh2048.pem 2048 openssl dhparam -out /etc/postfix/dh512.pem 512 On configure les paramètres de connexion via SASL (/etc/postfix/main.cf) : # Paramètres de connexion SASL # C'est ici que l'on déclare Dovecot comme une passerelle pour authentifier les utilisateurs. # Postfix peut s'appuyer sur Dovecot pour identifier les connexions SMTP. smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_tls_security_options = $smtpd_sasl_security_options smtpd_sasl_local_domain = $mydomain smtpd_sasl_authenticated_header = yes broken_sasl_auth_clients = yes ASRALL 2015-16 p. 87 Maintenant on va s'occuper de la gestion et du stockage des emails. Dans la suite de ce tutoriel nous allons créer un utilisateur nommé vmail avec UID/GID de 5000, avec un HOME par défaut pointant sur /var/mail. Postfix doit le savoir donc on lui indique avec les 4 paramètres suivants : virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_minimum_uid = 5000 virtual_mailbox_base = /var/mail Les 3 règles suivantes permettent à Postfix de savoir comment se connecter et lire la base de données afin de récupérer des informations sur les différents domaines, adresses virtuelles et alias. virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailboxdomains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf Le paramètre virtual_transport est très très important, il permet à Postfix de savoir où envoyer les emails reçus. On utilise le protocole LMTP pour les acheminer jusqu'à Dovecot : virtual_transport = lmtp:unix:private/dovecot-lmtp On définit les paramètres généraux. Attention à ne pas oublier à changer la valeur de myhostname et myorigin en indiquant votre FQDN. smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no append_dot_mydomain = no readme_directory = no delay_warning_time = 4h mailbox_command = procmail -a "$EXTENSION" recipient_delimiter = + disable_vrfy_command = yes message_size_limit = 502400000 mailbox_size_limit = 1024000000 inet_interfaces = all inet_protocols = ipv4 myhostname = hostname.domaine myorigin = hostname.domaine mydestination = localhost localhost.$mydomain nommachine.domaine mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 votreréseauIP/masquesousréseau relayhost = alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases ASRALL 2015-16 p. 88 6.2.7. Configuration de Postfix pour MySQL Création des 3 trois fichiers de configuration qui vont permettrent à Postfix d'intéragir avec MySQL #vim /etc/postfix/mysql-virtual-mailbox-domains.cf hosts = 127.0.0.1 user = postfix password = MOT DE PASSE dbname = postfix query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and active = 1 # vim /etc/postfix/mysql-virtual-mailbox-maps.cf hosts = 127.0.0.1 user = postfix password = MOT DE PASSE dbname = postfix query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1 # vim /etc/postfix/mysql-virtual-alias-maps.cf hosts = 127.0.0.1 user = postfix password = MOT DE PASSE dbname = postfix query = SELECT goto FROM alias WHERE address='%s' AND active = 1 Pour vous connecter de manière sécurisé par SMTPS avec n'importe quel client mail, activer le port 587. Pour cela, il faut décommenter/modifier les lignes suivantes dans le fichier /etc/postfix/master.cf 6.2.8. Installation de Dovecot apt-get install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql 6.2.8.1. Configuration de Dovecot Ajoutez la liste des protocoles activés après l'instruction "!include_try" dans le fichier /etc/dovecot/dovecot.conf. Activer IMAP pour la récupération des emails via le port 993 et LMTP pour l'acheminement des emails entre Postfix et Dovecot : # vim /etc/dovecot/dovecot.conf !include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap lmtp listen = * ASRALL 2015-16 p. 89 # Assurez-vous que cette ligne est bien décommentée : !include conf.d/*.conf On indique le chemin du conteneur local qui contiendra tous nos emails. Editez le fichier 10-mail.conf : # vim /etc/dovecot/conf.d/10-mail.conf # Le contenur local est organisé de cette manière : # /var/mail/vhosts/domain.tld/utilisateur mail_location = maildir:/var/mail/vhosts/%d/%n/mail maildir_stat_dirs=yes namespace inbox { inbox = yes } mail_uid = 5000 mail_gid = 5000 first_valid_uid = 5000 last_valid_uid = 5000 mail_privileged_group = vmail Les emails seront stockés dans le répertoire /var/mail. On doit donc créer un répertoire correspondant à notre domaine : mkdir -p /var/mail/vhosts/nomdedomaine exemple : mkdir -p /var/mail/vhosts/mazone.myl Maintenant on ajoute un nouvel utilisateur et un nouveau groupe nommé vmail avec un UID/GID de 5000 : groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /var/mail chown -R vmail:vmail /var/mail Editer le fichier 10-auth.conf et modifier les lignes suivantes : # vim /etc/dovecot/conf.d/10-auth.conf disable_plaintext_auth = yes auth_mechanisms = plain login #!include auth-system.conf.ext # Commenter cette ligne !include auth-sql.conf.ext # décommenter cette ligne Définir deux méthodes qui vont permettre à Dovecot de savoir comment obtenir les utilisateurs et les mots de passe correspondants lors de la connexion. Editez le fichier auth-sql.conf.ext : # vim /etc/dovecot/conf.d/auth-sql.conf.ext # Le mot de passe est obtenu à partir de la base de donnée ASRALL 2015-16 p. 90 passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } # Par contre le nom d'utilisateur est obtenu de manière statique à partir du conteneur local # %d = domaine.tld # %n = utilisateur userdb { driver = static args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n } Éditez le fichier dovecot-sql.conf.ext et modifiez les paramètres suivants : # vim /etc/dovecot/dovecot-sql.conf.ext # Paramètres de connexion driver = mysql connect = host=127.0.0.1 dbname=postfix user=postfix password=MOT DE PASSE # Permet de définir l'algorithme de hachage. # Pour plus d'information: http://wiki2.dovecot.org/Authentication/PasswordSchemes # /!\ ATTENTION : ne pas oublier de modifier le paramètre $CONF['encrypt'] de PostfixAdmin default_pass_scheme = MD5-CRYPT # Requête de récupération du mot de passe du compte utilisateur password_query = SELECT password FROM mailbox WHERE username = '%u' Modifiez les permissions sur le répertoire /etc/dovecot # vim /etc/dovecot/conf.d/10-master.conf service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } service_count = 0 } service imap { ASRALL 2015-16 p. 91 } service lmtp { # On autorise Postfix à transférer les emails dans le spooler de Dovecot via LMTP unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } } service auth { # On autorise Postfix à se connecter à Dovecot via LMTP unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } # On indique à Dovecot les permissions du conteneur local unix_listener auth-userdb { mode = 0600 user = vmail group = vmail } user = dovecot } service auth-worker { user = vmail } Éditez le fichier 10-ssl.conf # vim /etc/dovecot/conf.d/10-ssl.conf ssl = required ssl_cert = </etc/ssl/certs/mailserver.crt ssl_key = </etc/ssl/private/mailserver.key ssl_protocols = !SSLv2 !SSLv3 ssl_cipher_list = ALL:!aNULL:!eNULL:!LOW:!MEDIUM:!EXP:!RC2:!RC4:!DES:!3DES:!MD5:!PSK:! SRP:!DSS:!AECDH:!ADH:@STRENGTH ASRALL 2015-16 p. 92 ssl_prefer_server_ciphers = yes # Dovecot > 2.2.x ssl_dh_parameters_length = 2048 # Dovecot > 2.2.x 6.2.9. Redémarrage des services et vérification des ports service postfix restart service dovecot restart Vérifier en faisant un « status » Pour résoudre l’erreur sur l’écoute des ports 143 et 993 il faut désactiver dovecot.socket systemctl disable dovecot.socket 6.2.9.1. Vérification par telnet REMARQUE : Si vous voyez 250-STARTTLS, c'est que le serveur supporte bien l'authentification par STARTTLS 6.2.10. Thunderbird 6.2.10.1. Installation Télécharger le paquet : https://www.mozilla.org/en-US/thunderbird/all/ Déplacer le fichier vers le dossier /usr/ sudo mv ~/Downloads/thunderbird-xx.x.x.tar.bz2 /usr/ on va dans le dossier et on décompresse le fichier cd /usr sudo tar xvf thunderbird-xx.x.x.tar.bz2 on supprime le fichier .tar.bz2 sudo rm thunderbird-xx.x.x.tar.bz2 On cherche le menu principal puis on l’ouvre. ASRALL 2015-16 p. 93 Cliquer sur Internet, nouvelle sélection Donner un nom et mettre le chemin vers le fichier “thunderbird-bin” : /usr/thunderbird/thunderbird-bin 6.2.10.2. Configuration ASRALL 2015-16 p. 94 6.3. Test 6.3.1. Envoie par SMTP et IMAP (envoie d’un mail et réponse) 6.3.1.1. Connexion via IMAP multitail –e dovecot /var/log/mail.log Aug 16 19:37:11 hostname dovecot: auth-worker(xxx): mysql(127.0.0.1): Connected to database postfix Aug 16 19:37:11 hostname dovecot: imap-login: Login: user=<[email protected]>, method=PLAIN, rip=192.168.1.30, lip=192.168.1.30, mpid=xxx, TLS, session=<xxxxxxxx> Si vous avez les deux lignes suivantes c'est que la connexion IMAP/TLS fonctionne 6.3.1.2. Phpmyadmin Installation apt-get install phpmyadmin Cocher la case apache2 Changer le port d’écoute d’Apache car il y a nginx qui écoute sur le port 80 vim /etc/apach2/ports.conf ASRALL 2015-16 p. 95 6.4. Exécution 6.4.1. Ajout des dépots Pour ce tutoriel, nous n’avons pas de souscriptions. Donc on ajoute les dépôts de chaque dossier qui ne nécessité pas une souscription. http://software.open-xchange.com/products/appsuite/stable/ 6.4.2. OX BuildKey (recommandé) Il est recommandé de construire la clé de vos systèmes afin que votre serveur ait confiance à l’endroit où il télécharge les paquets. wget http://software.open-xchange.com/oxbuildkey.pub apt-key add - < oxbuildkey.pub 6.4.3. Mise à jour et installation des paquets sudo apt-get update apt-get install mysql-server open-xchange open-xchange-authenticationdatabase open-xchange-grizzly \ open-xchange-admin open-xchange-appsuite \ open-xchange-appsuite-backend open-xchange-appsuite-manifest 6.4.4. Configuration 6.4.4.1. Démarrer la base de données systemctl start mysql 6.4.4.2. Ajouter les binaires Open-Xchange à PATH echo PATH=$PATH:/opt/open-xchange/sbin/ >> ~/.bashrc && . ~/.bashrc ASRALL 2015-16 p. 96 6.4.4.3. Initialisation de la base configdb /opt/open-xchange/sbin/iniconfigdb –mysql-root-user=root –mysql-rootpasswd=motdepasseRootMySQL –configdb-pass=root –a –i REMARQUES : Le paramètre -a ajoute un compte administratif pour mysql, ce compte administratif est nécessaire pour la création de la base de données oxdatabase Lors de l’installation de mysql, si vous préciser l’authentification avec mot de passe, il se peut que certaine commande ne soit pas faite pour. Donc lors de la creaation de la base de donnée : configdb, l’utilisateur qui lui est associé « openexchange », n’est pas tous les droit pour faire des modifications. 6.4.4.4. Licence Dans ce tutoriel, nous n’avons pas de licence. 6.4.4.4.1.Avec licence Suivre ce modèle, en remplaçant avec vos valeurs : /opt/open-xchange/sbin/oxinstaller --add-license=YOUR-OX-LICENSE-CODE \ --servername=oxserver --configdb-pass=db_password \ --master-pass=admin_master_password --network-listener-host=localhost -servermemory MAX_MEMORY_FOR_JAVAVM 6.4.4.4.2.Sans licence /opt/open-xchange/sbin/oxinstaller --no-license --servername=mail.mazone.myl --configdb-pass=root --master-pass=root –network-listener-host=localhost- -servermemory 1024 REMARQUE : Modifiez le MAX_MEMORY_FOR_JAVAVM à la moitié de la valeur de la RAM de votre serveur. Par exemple si vous avez 4 Go de RAM, Utiliser 4096 La valeur doit être en Mo. 1GB = 1024 Mo 6.4.5. Lien entre Open-Xchange et le serveur de messageries Modifier le fichier mail.properties en ajoutant l’adresse mail de l’administrateur vim /opt/open-xchange/etc/mail.properties [email protected] Redémarrer le service systemctl restart open-xchange ASRALL 2015-16 p. 97 6.4.6. Enregistrement du serveur local à la base de données configdb d’OX /opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P admin_master_password Exemple : 6.4.7. Open-Xchange filestore. 6.4.7.1. Création répertoire local Maintenant, nous devons créer un répertoire local qui devrait être utilisé comme Open-Xchange filestore. Ce répertoire contiendra tous les contenus Infostore et les fichiers attachés à des objets groupware. mkdir /var/opt/filestore chown open-xchange:open-xchange /var/opt/filestore 6.4.7.2. Enregistrement du répertoire en tant que filestore /opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P admin_master_password \ -t file:/var/opt/filestore -s 1000000 6.4.7.3. Enregistrement de la base de données de groupware Ceci est une base de données séparée où toutes les données spécifiques du groupware sont stockées. /opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P admin_master_password \ -n oxdatabase -p db_password -m true 6.4.8. Configuration des services Maintenant que le serveur Open-Xchange a été mis en place et la base de données est en cours d'exécution, il faut configurer le serveur web Apache et le module mod_proxy_http pour accéder à l'interface de groupware. a2enmod proxy proxy_http proxy_balancer expires deflate headers rewrite mime setenvif lbmethod_byrequests Configurer le module mod_proxy_http en créant un nouveau fichier de configuration d'Apache. vim /etc/apache2/confavaible/proxy_http.conf <IfModule mod_proxy_http.c> ProxyRequests Off ProxyStatus On # When enabled, this option will pass the Host: line from the incoming request to the proxied host. ProxyPreserveHost On # Please note that the servlet path to the soap API has changed: ASRALL 2015-16 p. 98 <Location /webservices> # restrict access to the soap provisioning API Order Deny,Allow Deny from all Allow from 127.0.0.1 # you might add more ip addresses / networks here # Allow from 192.168 10 172.16 </Location> # The old path is kept for compatibility reasons <Location /servlet/axis2/services> Order Deny,Allow Deny from all Allow from 127.0.0.1 </Location> # Enable the balancer manager mentioned in # http://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster#Updating_ a_Cluster <IfModule mod_status.c> <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow Deny from all Allow from 127.0.0.1 </Location> </IfModule> <Proxy balancer://oxcluster> Order deny,allow Allow from all # multiple server setups need to have the hostname inserted instead localhost BalancerMember http://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=APP1 # Enable and maybe add additional hosts running OX here # BalancerMember http://oxhost2:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=APP2 ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On SetEnv proxy-initial-not-pooled SetEnv proxy-sendchunked </Proxy> # The standalone documentconverter(s) within your setup (if installed) # Make sure to restrict access to backends only # See: http://httpd.apache.org/docs/$YOUR_VERSION/mod/mod_authz_host.html#allo w for more infos #<Proxy balancer://oxcluster_docs> ASRALL 2015-16 p. 99 # Order Deny,Allow # Deny from all # Allow from backend1IP # BalancerMember http://converter_host:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 keepalive=On route=APP3 # ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On # SetEnv proxy-initial-not-pooled # SetEnv proxy-sendchunked #</Proxy> # Define another Proxy Container with different timeout for the sync clients. Microsoft recommends a minimum value of 15 minutes. # Setting the value lower than the one defined as com.openexchange.usm.eas.ping.max_heartbeat in eas.properties will lead to connection # timeouts for clients. See http://support.microsoft.com/?kbid=905013 for additional information. # # NOTE for Apache versions < 2.4: # When using a single node system or using BalancerMembers that are assigned to other balancers please add a second hostname for that # BalancerMember's IP so Apache can treat it as additional BalancerMember with a different timeout. # # Example from /etc/hosts: 127.0.0.1 localhost localhost_sync # # Alternatively select one or more hosts of your cluster to be restricted to handle only eas/usm requests <Proxy balancer://eas_oxcluster> Order deny,allow Allow from all # multiple server setups need to have the hostname inserted instead localhost BalancerMember http://localhost_sync:8009 timeout=1900 smax=0 ttl=60 retry=60 loadfactor=50 route=APP1 # Enable and maybe add additional hosts running OX here # BalancerMember http://oxhost2:8009 timeout=1900 smax=0 ttl=60 retry=60 loadfactor=50 route=APP2 ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On SetEnv proxy-initial-not-pooled SetEnv proxy-sendchunked </Proxy> # When specifying additional mappings via the ProxyPass directive be aware that the first matching rule wins. Overlapping urls of # mappings have to be ordered from longest URL to shortest URL. # # Example: # ProxyPass /ajax balancer://oxcluster_with_100s_timeout/ajax # ProxyPass /ajax/test balancer://oxcluster_with_200s_timeout/ajax/test # ASRALL 2015-16 p. 100 # Requests to /ajax/test would have a timeout of 100s instead of 200s # # See: # - http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass Ordering ProxyPass Directives # - http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers Worker Sharing ProxyPass /ajax balancer://oxcluster/ajax ProxyPass /appsuite/api balancer://oxcluster/ajax ProxyPass /drive balancer://oxcluster/drive ProxyPass /infostore balancer://oxcluster/infostore ProxyPass /publications balancer://oxcluster/publications ProxyPass /realtime balancer://oxcluster/realtime ProxyPass /servlet balancer://oxcluster/servlet ProxyPass /webservices balancer://oxcluster/webservices #ProxyPass /documentconverterws balancer://oxcluster_docs/documentconverterws ProxyPass /usm-json balancer://eas_oxcluster/usm-json ProxyPass /Microsoft-Server-ActiveSync balancer://eas_oxcluster/MicrosoftServer-ActiveSync </IfModule> # vim /etc/apache2/sites-enabled/000-default <VirtualHost *:81> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /var/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all RedirectMatch ^/$ /appsuite/ </Directory> <Directory /var/www/appsuite> Options None +SymLinksIfOwnerMatch AllowOverride Indexes FileInfo </Directory> </VirtualHost> 6.4.9. Création du contexte et des utilisateurs 6.4.9.1. Création du contexte /opt/open-xchange/sbin/createcontext -A oxadminmaster -P admin_master_password -c 1 \ -u oxadmin -d "Context Admin" -g Admin -s User -p admin_password -L defaultcontext \ -e [email protected] -q 1024 --access-combination-name=groupware_standard ASRALL 2015-16 p. 101 6.4.9.2. Création des utilisateurs /opt/open-xchange/sbin/createuser -c 1 -A oxadmin -P admin_password -u testuser \ -d "Test User" -g Test -s User -p secret -e [email protected] \ --imaplogin testuser --imapserver 127.0.0.1 --smtpserver 127.0.0.1 6.5. Souscription Des mails a été envoyé pour avoir des renseignements. Il n’y a pas eu de retour. De ce fait, nous n’avons pas pu tester l’intégration outlook, ni mobile, etc. ASRALL 2015-16 p. 102 6.6. Connexion à la console d’utilisation localhost/appsuite Connectez-vous avec les utilisateurs précédemment créé Pour l’administration, tout se fait par ligne de commandes. ASRALL 2015-16 p. 103 6.7. Annexe 6.7.1. Bind9 Les fichiers de configurations de bind9 sont dans /etc/bind/ 1. Modifier le fichier named.conf.local Zone principal : zone « nomzone » { type master ; file « chemin vers les fichiers de zone » ; }; Zone inverse : zone « reseauip.in-addr.arpa » { type master ; file « chemin vers les fichiers de zone » ; }; Exemple : 2. Copier le fichier db.local en db.nomzone et db.127 en db.inverse-nomzone puis éditer les fichiers 2.1. vim db.nomzone et vim db.inverse-nomzone remplacer tous les noms « localhost » par le nom de votre zone o ATTENTION : ne pas oublier de mettre un point à la fin de chaque nom de zone. Exemple : 3. Ajouter votre serveur en nameserver vim /etc/resolv.conf nameserver ipdevotreserveur ASRALL 2015-16 p. 104 4. Ajouter votre passerelle dans le fichier named.conf.options de cette manière forwarders { passerelle ; }; 5. Vérifier votre configuration en faisant : named-checkconf #si cette commande n’affiche rien, c’est qu’il n’y a pas d’erreurs. host nomdezone #cette commande affiche votre zone dig nomdezone # commande qui permet de diagnostiquer les dysfonctionnements dans la résolution de nom. ASRALL 2015-16 p. 105