Implémentez Zimbra Collaboration Open Source, autorisez via AD et créez automatiquement des boîtes aux lettres

image

1. Les données source


Système d'exploitation du serveur : CentOS 7

À propos de l'OS
En fait, la différence entre CentOS7 et tout autre système réside uniquement dans les commandes au serveur pour installer les dépendances et, éventuellement, l'emplacement de certains fichiers. Le travail est effectué principalement avec des applets de commande Zimbra, de sorte que les différences de configuration seront minimes.

Domaine Windows : home.local
Adresse et nom du serveur de messagerie : 10.40.0.80 / zimbramail.home.local
Utilisateur pour accéder à l'annuaire AD : ZimbraLDAP avec mot de passe qwe123

2. Pièges


Le processus d'installation de Zimbra lui-même est assez simple. Vous devez installer des packages dépendants, télécharger l'archive, exécuter le script et répondre correctement aux questions du programme d'installation. Mais, comme partout ailleurs, il y a quelques petites difficultés.

1) Zimbra est sensible au nom d'hôte. La première chose à faire avant l'installation est d'apporter le fichier / etc / hosts au formulaire:

127.0.0.1 localhost.localdomain localhost 10.40.0.80 zimbramail.home.local zimbramail 

2) Sans accès à Internet, aucun miracle ne se produira. S'il n'y a pas d'accès à Internet, le script se fige pendant 20 à 40 minutes et, par conséquent, bien sûr, il se termine par une erreur. Il semblerait, pourquoi avons-nous besoin d'un serveur de messagerie sans accès à Internet, mais «ce qui n'arrive tout simplement pas dans le monde sublunaire».

3. Installation directe


Alors au fait!

1) Installation des dépendances:

 $ yum install perl perl-core ntpl nmap sudo libidn gmp libaio libstdc++ unzip sysstat sqlite wget 

2) Télécharger l'archive:

 $ wget https://files.zimbra.com/downloads/8.8.11_GA/zcs-8.8.11_GA_3737.RHEL7_64.20181207111719.tgz 

3) Décompressez l'archive téléchargée, allez dans le répertoire et lancez l'installation:

 $ tar –xzf zcs-8.8.11_GA_3737.RHEL7_64.20181207111719.tgz $ cd zcs-8.8.11_GA_3737.RHEL7_64.20181207111719 $ ./install.sh --platform-override 

4) Acceptez le contrat de licence et l'utilisation du référentiel Zimbra:

 Do you agree with the terms of the software license agreement? [N] Y Use Zimbra's package repository [Y] Y 

5) Sélectionnez les composants nécessaires et confirmez la modification:

Afficher le texte
 Select the packages to install Install zimbra-ldap [Y] Y Install zimbra-logger [Y] Y Install zimbra-mta [Y] Y Install zimbra-dnscache [Y] N Install zimbra-snmp [Y] Y Install zimbra-store [Y] Y Install zimbra-apache [Y] Y Install zimbra-spell [Y] Y Install zimbra-memcached [Y] Y Install zimbra-proxy [Y] N The system will be modified. Continue? [N] Y 

6) Ensuite, vous devez entrer le mot de passe administrateur pour Zimbra:

Afficher le texte
 Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-snmp: Enabled 6) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: admin@zimbramail.home.local ******* +Admin Password UNSET +Anti-virus quarantine user: virus-quarantine.2hwbbw7msh@zimbramail.ciam.local +Enable automated spam training: yes +Spam training user: spam.jedk1fhggz@zimbramail.home.local +Non-spam(Ham) training user: ham.y4nb2o4bt@zimbramail.home.local +SMTP host: zimbramail.home.local +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 +Spell server URL: http:// zimbramail.home.local :7780/aspell.php +Enable version update checks: TRUE +Enable version update notifications: TRUE +Version update notification email: admin@zimbramail.home.local +Version update source email: admin@zimbramail.home.local +Install mailstore (service webapp): yes +Install UI (zimbra,zimbraAdmin webapps): yes 7) zimbra-spell: Enabled 8) zimbra-proxy: Enabled 9) Default Class of Service Configuration: s) Save config to file x) Expand menu q) Quit Address unconfigured (**) items (? - help) 6 Select, or 'r' for previous menu [r] 4 Password for admin@example.com (min 6 characters): [MFSPcRW18] qwe123 


Le reste de ce menu ne nous intéresse pas beaucoup. Mais. Par défaut, Zimbra créera son propre domaine interne à l'image et à la ressemblance de son zmhostname (lire le nom d'hôte), c'est-à-dire que ce sera le domaine zimbramail.home.local. Cette option me convient, si vous ne le faites pas, et le nom de domaine doit correspondre strictement à [home.local], alors je recommande de changer immédiatement les adresses pour recevoir la notification de mise à jour de version et la source de mise à jour de version à admin@home.local

7) Ici, vous devez cliquer sur le bouton [a] pour appliquer les modifications, puis accepter d'enregistrer la configuration dans un fichier et appuyer à nouveau sur [Entrée] pour continuer l'installation.

Le système ne s'est pas bloqué après le mot «terminé», il attend qu'une touche soit enfoncée.

Afficher le texte
 Select from menu, or press 'a' to apply config (? - help) a Save configuration data to a file? [Yes] Save config in file: [/opt/zimbra/config.10925] Saving config in /opt/zimbra/config.10925...done. 


Ensuite, le script d'installation fonctionne, après quoi il propose d'appuyer sur n'importe quelle touche pour continuer

8) Une fois l'installation terminée, vous devez ouvrir les ports requis dans le pare-feu. La liste des ports peut être trouvée dans le développeur Wiki à

9) Je vous recommande fortement de vous assurer que Zimbra a tout compris correctement et que son nom zmhost correspond au nom d'hôte du serveur:

 $ su – zimbra $ zmhostname zimbramail.home.local 

Si le nom ne correspond pas, procédez comme suit:

a) tout d'abord, vérifiez s'il y a des enregistrements A et MX dans le DNS pour notre nouveau zmhostname, sinon, créez-les

b)
 $ su – zimbra /opt/zimbra/libexec/zmsetservername -n [servername] 

c) nous nettoyons zmloggerhostmap:

 $ zmloggerhostmap 

Cette commande répertorie tous les mappages de noms d'hôte.

Supprimer par commande:

 $ zmloggerhostmap -d localhost localhost.localdomain 

où localhost et localhost.localdomain doivent être remplacés par une ligne de la liste Hostname Map
puis redémarrez Zimbra

10) Nous démarrons le serveur:

 $ su – zimbra $ zmcontrol start 

Afficher le texte
  Host zimbramail.home.local Starting zmconfigd...Done. Starting logger...Done. Starting mailbox...Done. Starting memcached...Done. Starting proxy...Done. Starting amavis...Done. Starting antispam...Done. Starting antivirus...Done. Starting opendkim...Done. Starting snmp...Done. Starting spell...Done. Starting mta...Done. Starting stats...Done. Starting service webapp...Done. Starting zimbra webapp...Done. Starting zimbraAdmin webapp...Done. Starting zimlet webapp...Done. 

Maintenant, le serveur est disponible sur https: //zimbramail.home.local: 7071

image

11) Pour pouvoir accéder au serveur via https et http, nous procédons comme suit:

 $ su – zimbra $ zmtlsctl both $ zmcontrol restart 

12) Pour ceux qui n'ont pas accès à Internet, ou si le serveur vit derrière NAT, vous devrez toujours enregistrer la commande:

 $ su – zimbra $ zmprov ms zimbramail.home.local zimbraMtaLmtpHostLookup native $ zmcontrol restart 

zmprov est un utilitaire de gestion des paramètres du serveur, nous en aurons toujours besoin lorsque nous aurons besoin de configurer la création automatique de boîtes aux lettres, leur sauvegarde et récupération, ainsi que la création et la mise à jour automatiques des listes de diffusion. Mais plus à ce sujet plus tard.

13) Le problème avec le certificat auto-signé est résolu en important le certificat sur le serveur depuis votre autorité de certification.

Ou en exportant un certificat depuis un serveur Zimbra:

 $ cd /opt/zimbra/ssl/zimbra/ca $ openssl x509 -in ca.pem -outform DER -out ~/zimbra-mail-example.cer 

suivi de son exportation vers les machines clientes, les mains ou les stratégies de groupe d'un domaine en installant un certificat dans les "Autorités de certification racines de confiance" des machines clientes.

Ceci termine l'installation et la configuration initiale.

4. Configurer l'autorisation via LDAP


Tout d'abord, vous devez créer un utilisateur dans AD pour accéder au répertoire. Je l'ai ZimbraLDAP, puis accédez à la console d'administration via le Web et configurez l'autorisation dans le domaine zimbramail.home.local.

1) Allez dans "Paramètres" - "Domaines", RMB par nom de domaine - "Configurer l'authentification":

image

2) Sélectionnez "Active Directory externe", cliquez sur suivant:

image

3) Dans le champ "Nom de domaine AD", entrez le nom de domaine, dans le champ "ldap: //", écrivez le nom de domaine ou le nom du contrôleur de domaine, ou l'IP du contrôleur de domaine. J'ai plusieurs contrôleurs, donc j'écris le nom de domaine. Le port reste inchangé. Cliquez sur suivant:

image

4) La liaison LDAP reste inchangée.

5) Résumé de la configuration de l'authentification. Nom d'utilisateur ZimbraLDAP, mot de passe qwe123. Cliquez sur le bouton "test":

image

La mise en place d'un groupe externe est responsable de l'endroit exact où AD Zimbra recherchera les utilisateurs et des filtres qu'il appliquera. Vous pouvez appliquer un filtre:

 (&(objectClass=user)(objectClass=person)) 

dans ce cas, seuls les objets AD utilisateurs et personnes seront sélectionnés. Et le paramètre Base de recherche LDAP de groupe externe ne sera pas utilisé, il sera remplacé par " zimbraAutoProvLdapSearchBase " lors de la configuration du mode EAGER.

Désormais, les utilisateurs se connecteront avec leurs mots de passe AD. Et même lors de la création d'une nouvelle boîte aux lettres, le mot de passe ne peut pas être défini.

5. Configurer la création automatique de boîtes aux lettres


Un peu de théorie:

Zimbra a 3 options pour créer des boîtes:

EAGER - entièrement automatique, qui à intervalles réguliers analyse AD et crée des boîtes aux lettres pour les nouveaux utilisateurs.

LAZY - semi-automatique, qui crée une boîte aux lettres la première fois qu'un utilisateur se connecte au serveur de messagerie sous les informations d'identification du domaine.

MANUAL - recherche manuelle et sélection des comptes pour lesquels vous devez créer des boîtes aux lettres.

Pour des raisons évidentes, le mode MANUEL ne convient qu'aux petites entreprises dont le roulement du personnel est lent. Le mode LAZY est adapté pour utiliser le courrier avec une interface Web, sans connecter de client de messagerie. Les deux options ne me convenaient pas, car la tâche était d'automatiser au maximum (installation automatique de l'application cliente Zimbra Desktop, de sorte que l'utilisateur n'avait qu'à entrer un mot de passe de connexion et accéder à la messagerie). Par conséquent, seul EAGER. Oui, c'est plus pratique, pour être honnête.

Pour faciliter la modification et l'application des paramètres, il est plus facile et plus pratique de créer un fichier. Que ce soit / tmp / prov

Le contenu du fichier est le suivant:

Contenu du fichier
 md zimbramail.home.local zimbraAutoProvAccountNameMap "samAccountName" md zimbramail.home.local +zimbraAutoProvAttrMap description=description md zimbramail.home.local +zimbraAutoProvAttrMap displayName=displayName md zimbramail.home.local +zimbraAutoProvAttrMap givenName=givenName md zimbramail.home.local +zimbraAutoProvAttrMap cn=cn md zimbramail.home.local +zimbraAutoProvAttrMap sn=sn md zimbramail.home.local zimbraAutoProvAuthMech LDAP md zimbramail.home.local zimbraAutoProvBatchSize 300 md zimbramail.home.local zimbraAutoProvLdapAdminBindDn "CN=ZimbraLDAP,OU=HOME_Users,DC=home,DC=local" md zimbramail.home.local zimbraAutoProvLdapAdminBindPassword qwe123 md zimbramail.home.local zimbraAutoProvLdapBindDn "admin@zimbramail.home.local" md zimbramail.home.local zimbraAutoProvLdapSearchBase "CN=HOME_Users,dc=home,dc=local" md zimbramail.home.local zimbraAutoProvLdapSearchFilter "(&(objectClass=user)(objectClass=person))" md zimbramail.home.local zimbraAutoProvLdapURL "ldap://home.local:389" md zimbramail.home.local zimbraAutoProvMode EAGER md zimbramail.home.local zimbraAutoProvNotificationBody "Your account has been auto provisioned. Your email address is ${ACCOUNT_ADDRESS}." md zimbramail.home.local zimbraAutoProvNotificationFromAddress prov-admin@zimbramail.home.local md zimbramail.home.local zimbraAutoProvNotificationSubject "New account auto provisioned" ms zimbramail.home.local zimbraAutoProvPollingInterval "1m" ms zimbramail.home.local +zimbraAutoProvScheduledDomains "zimbramail.home.local" 


Un peu plus de théorie:

Ce fichier contient des commandes pour affecter des variables. Ainsi, par exemple, le paramètre zimbraAutoProvAttrMap cn = cn signifie que Zimbra formera ses boîtes de telle manière que le "nom d'affichage" (CN dans AD) sera remplacé dans le champ "nom d'affichage" de Zimbra.

Le paramètre zimbraAutoProvLdapAdminBindDn est responsable du compte que Zimbra utilisera pour accéder au répertoire AD. Dans ce cas, «CN = ZimbraLDAP, OU = HOME_Users, DC = home, DC = local», ce qui signifie ce qui suit: le compte avec le nom d'affichage ZimbraLDAP stocké dans les OU HOME_Users situé à la racine du domaine home.local sera utilisé

zimbraAutoProvLdapAdminBindPassword stocke le mot de passe du compte ZimbraLDAP

zimbraAutoProvLdapBindDn stocke le compte administrateur du serveur Zimbra pour le domaine zimbramail.home.local

zimbraAutoProvLdapSearchBase est responsable de l'unité d'organisation, dans laquelle Zimbra recherchera des comptes de domaine pour créer des boîtes aux lettres. Dans mon cas, c'est le même conteneur dans lequel se trouve l'utilisateur ZimbraLDAP

zimbraAutoProvPollingInterval est la période de contact avec AD pour la recherche de nouveaux comptes.

Avec le reste des paramètres, tout est clair.

Il est écrit sur le site du développeur que si vous utilisez la version Zimbra jusqu'à 8.0.8, pour que le mode EAGER fonctionne, vous devrez également définir le paramètre zimbraAutoProvLastPolledTimestamp sur la valeur vide "", sinon cela ne fonctionnera pas plus d'une fois.

Ensuite, exécutez la commande:

 $ su – zimbra $ zmprov < /tmp/prov 

Pour afficher toutes les valeurs de zmprov, vous pouvez entrer la commande:

 $ su – zimbra $ zmprov gd zimbramail.home.local 

Vous pouvez modifier les paramètres à l'aide du même utilitaire zmprov, la réécriture des valeurs des variables (utilitaire - action - domaine - variable - valeurs) peut aider au débogage:

 $ su – zimbra $ zmprov md zimbramail.home.local zimbraAutoProvBatchSize 200 

Sur le site du développeur, il y a un petit tableau de dépannage des erreurs LDAP. Les journaux de démarrage automatique sont écrits dans /opt/zimbra/log/mailbox.log

Lien

Et un peu plus de réservation. J'ai reçu un retour de LevZ , qui a configuré le serveur à partir de zéro. Version 8.8.12_GA_3794.RHEL7_64_20190329045002 RHEL7_64 édition FOSS, proxy 8.8.12_P1 proxy.

Voici la chose: après une installation propre, le paramètre "zimbraAutoProvScheduledDomains" doit être initialisé - exécutez la commande "ms zimbraAutoProvScheduledDomains" sans le signe "+". Si vous écrivez immédiatement "+ zimbraAutoProvScheduledDomains", il n'est pas enregistré et le processus ne démarre pas.

Merci à la personne pour l'information!

6. Installation des applications client


Téléchargez le package msi de la dernière version sur le site officiel. Nous le copions dans le dossier réseau partagé accessible à tous pour lecture. Vous pouvez le copier sur Netlogon, mais le paquet pèse plus de 100 Mo, j'ai donc décidé d'utiliser le ballon.

Zimbra Desktop utilise java, ce qui signifie que vous devez le télécharger et le placer dans le même dossier.
Plus au goût - KIX, GPO, mains. J'utilise GPO.

Dans la même boule, créez le fichier installZimbra.cmd avec le contenu suivant:

 \\SharedFolder\jrex64.exe INSTALL_SILENT=Enable \\SharedFolder\ZimbraInstall.msi /q /norestart 

Ajoutez à la section "configuration de l'ordinateur" - "configuration Windows" - "scripts (début / fin)" - script d'installation "démarrage" créé précédemment. Le script installera java et Zimbra Desktop en mode silencieux et ne nécessitera pas de redémarrage. Ensuite - les réjouissances de l'administrateur fantastique.

Mais. Afin de configurer Zimbra Desktop sur notre serveur, vous devez piloter les paramètres avec vos mains.

image

Par conséquent, pour les utilisateurs, vous devez créer une sorte de mémo d'instructions, dans quels champs ce que vous devez conduire et sur quel bouton cliquer pour accéder au courrier. En général, ce n'est pas difficile.

Conclusion


Ainsi, nous avons très rapidement et assez rapidement implémenté un système d'interaction d'entreprise entièrement gratuit basé sur la Zimbra Collaboration Suite, mis en place son interaction avec le domaine, simplifié la création de boîtes aux lettres et éliminé les problèmes avec un tas de comptes supplémentaires.

À mon avis, Zimbra est un outil assez puissant pour le segment des entreprises. Mais un grand nombre d'articles ont déjà été écrits à ce sujet, je ne vais pas le vaporiser.

PS:
Le prochain article se concentrera sur la sauvegarde et la restauration des boîtes aux lettres Zimbra OSE.
Le troisième article traite de la génération et de la mise à jour automatiques des listes de diffusion basées sur les groupes d'utilisateurs AD dans Zimbra OSE.

Source: https://habr.com/ru/post/fr439440/


All Articles