Implementieren Sie Zimbra Collaboration Open Source, autorisieren Sie über AD und erstellen Sie automatisch Postfächer

Bild

1. Die Quelldaten


Server-Betriebssystem : CentOS 7

Über das Betriebssystem
Tatsächlich liegt der Unterschied zwischen CentOS7 und jedem anderen System ausschließlich in Befehlen an den Server zum Installieren von Abhängigkeiten und möglicherweise im Speicherort einiger Dateien. Die Arbeiten werden hauptsächlich mit Zimbra-Cmdlets durchgeführt, so dass die Konfigurationsunterschiede minimal sind.

Windows-Domäne : home.local
Adresse und Name des Mailservers: 10.40.0.80 / zimbramail.home.local
Benutzer für den Zugriff auf das AD-Verzeichnis : ZimbraLDAP mit dem Kennwort qwe123

2. Fallstricke


Der Installationsprozess von Zimbra selbst ist recht einfach. Sie müssen abhängige Pakete installieren, das Archiv herunterladen, das Skript ausführen und die Fragen des Installationsprogramms korrekt beantworten. Aber wie überall gibt es einige kleine Schwierigkeiten.

1) Zimbra ist Hostname-sensitiv. Das erste, was Sie vor der Installation tun müssen, ist, die Datei / etc / hosts in das Formular zu bringen:

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

2) Ohne Zugang zum Internet wird kein Wunder geschehen. Wenn kein Internetzugang vorhanden ist, friert das Skript 20 bis 40 Minuten lang ein und endet natürlich mit einem Fehler. Es scheint, warum brauchen wir einen Mailserver ohne Zugang zum Internet, aber "was in der sublunaren Welt einfach nicht vorkommt".

3. Direkte Installation


Also auf den Punkt!

1) Installation von Abhängigkeiten:

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

2) Archiv herunterladen:

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

3) Entpacken Sie das heruntergeladene Archiv, gehen Sie in das Verzeichnis und starten Sie die 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) Stimmen Sie der Lizenzvereinbarung und der Nutzung des Zimbra-Repositorys zu:

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

5) Wählen Sie die erforderlichen Komponenten aus und bestätigen Sie die Änderung:

Text anzeigen
 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) Als nächstes müssen Sie das Administratorkennwort für Zimbra eingeben:

Text anzeigen
 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 


Der Rest dieses Menüs interessiert uns nicht sehr. Aber. Standardmäßig erstellt Zimbra eine eigene interne Domäne im Image und in der Abbildung seines zmhost-Namens (Hostname lesen), dh es handelt sich um die Domäne zimbramail.home.local. Diese Option passt zu mir, wenn Sie dies nicht tun und der Domainname unbedingt [home.local] entsprechen muss. Ich empfehle daher, die Adressen für den Erhalt der Versionsaktualisierungsbenachrichtigung und der Versionsaktualisierungsquelle sofort in admin@home.local zu ändern

7) Hier müssen Sie auf die Schaltfläche [a] klicken, um die Änderungen zu übernehmen, dann die Konfiguration in einer Datei speichern und erneut die [Eingabetaste] drücken, um die Installation fortzusetzen.

Das System hing nicht nach dem Wort "erledigt", sondern wartet darauf, dass eine Taste gedrückt wird.

Text anzeigen
 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. 


Als nächstes funktioniert das Installationsskript, wonach es anbietet, eine beliebige Taste zu drücken, um fortzufahren

8) Nach Abschluss der Installation müssen Sie die erforderlichen Ports in der Firewall öffnen. Die Liste der Ports finden Sie im Entwickler-Wiki unter

9) Ich empfehle dringend, dass Sie sicherstellen, dass Zimbra alles richtig verstanden hat und dass sein zmhostname mit dem Hostnamen des Servers übereinstimmt:

 $ su – zimbra $ zmhostname zimbramail.home.local 

Wenn der Name nicht übereinstimmt, gehen Sie wie folgt vor:

a) Überprüfen Sie zunächst, ob im DNS A- und MX-Einträge für unseren neuen zmhost-Namen vorhanden sind. Wenn nicht, erstellen Sie diese

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

c) wir bereinigen zmloggerhostmap:

 $ zmloggerhostmap 

Dieser Befehl listet alle Hostnamenzuordnungen auf.

Mit Befehl löschen:

 $ zmloggerhostmap -d localhost localhost.localdomain 

Dabei müssen localhost und localhost.localdomain durch eine Zeile aus der Liste Hostname Map ersetzt werden
Starten Sie dann Zimbra neu

10) Wir starten den Server:

 $ su – zimbra $ zmcontrol start 

Text anzeigen
  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. 

Jetzt ist der Server unter https: //zimbramail.home.local: 7071 verfügbar

Bild

11) Um sowohl über https als auch über http auf den Server zugreifen zu können, gehen wir wie folgt vor:

 $ su – zimbra $ zmtlsctl both $ zmcontrol restart 

12) Für diejenigen, die keinen Zugang zum Internet haben oder wenn der Server hinter NAT lebt, müssen Sie den folgenden Befehl noch registrieren:

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

zmprov ist ein Dienstprogramm zum Verwalten von Servereinstellungen. Wir benötigen es auch, wenn wir die automatische Erstellung von Postfächern, deren Sicherung und Wiederherstellung sowie die automatische Erstellung und Aktualisierung von Mailinglisten konfigurieren müssen. Aber dazu später mehr.

13) Das Problem mit dem selbstsignierten Zertifikat wird behoben, indem das Zertifikat von Ihrer Zertifizierungsstelle auf den Server importiert wird.

Oder indem Sie ein Zertifikat von einem Zimbra-Server exportieren:

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

Anschließend wird es auf Clientcomputer, Hände oder Gruppenrichtlinien einer Domäne exportiert, indem ein Zertifikat in den "Vertrauenswürdigen Stammzertifizierungsstellen" von Clientcomputern installiert wird.

Damit ist die Installation und Ersteinrichtung abgeschlossen.

4. Konfigurieren Sie die Autorisierung über LDAP


Zunächst müssen Sie einen Benutzer in AD erstellen, um auf das Verzeichnis zugreifen zu können. Ich habe es ZimbraLDAP und gehe dann über das Web zur Administratorkonsole und konfiguriere die Autorisierung in der Domäne zimbramail.home.local.

1) Gehen Sie zu "Einstellungen" - "Domänen", RMB nach Domänenname - "Authentifizierung konfigurieren":

Bild

2) Wählen Sie "Externes Active Directory" und klicken Sie auf "Weiter":

Bild

3) Geben Sie im Feld "AD-Domänenname" den Domänennamen ein, geben Sie im Feld "ldap: //" den Domänennamen oder den Namen des Domänencontrollers oder die IP des Domänencontrollers ein. Ich habe mehrere Controller, also schreibe ich den Domainnamen. Der Port bleibt unverändert. Klicken Sie auf Weiter:

Bild

4) Die LDAP-Bindung bleibt unverändert.

5) Zusammenfassung der Authentifizierungskonfiguration. ZimbraLDAP-Benutzername, qwe123-Passwort. Klicken Sie auf die Schaltfläche "Test":

Bild

Das Einrichten einer externen Gruppe ist dafür verantwortlich, wo genau in AD Zimbra nach Benutzern gesucht wird und welche Filter angewendet werden. Sie können einen Filter anwenden:

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

In diesem Fall werden nur die AD-Benutzer und Personenobjekte ausgewählt. Der Parameter LDAP Search Base für externe Gruppen wird nicht verwendet, sondern während der Konfiguration des EAGER-Modus durch " zimbraAutoProvLdapSearchBase " ersetzt.

Jetzt melden sich Benutzer mit ihren AD-Kennwörtern an. Und selbst beim Erstellen eines neuen Postfachs kann das Kennwort nicht festgelegt werden.

5. Konfigurieren Sie die automatische Postfacherstellung


Ein bisschen Theorie:

Zimbra bietet 3 Optionen zum Erstellen von Boxen:

EAGER - vollautomatisch, das in regelmäßigen Abständen AD scannt und Postfächer für neue Benutzer erstellt.

LAZY - halbautomatisch, erstellt ein Postfach, wenn sich ein Benutzer zum ersten Mal unter den Domänenanmeldeinformationen beim Mailserver anmeldet.

MANUAL - Manuelle Suche und Auswahl von Konten, für die Sie Postfächer erstellen müssen.

Aus offensichtlichen Gründen eignet sich der MANUAL-Modus nur für kleine Unternehmen mit einer schleppenden Fluktuation. Der LAZY-Modus eignet sich für die Verwendung von E-Mails mit einer Weboberfläche, ohne dass ein E-Mail-Client verbunden werden muss. Beide Optionen passten nicht zu mir, da die Aufgabe darin bestand, das Maximum zu automatisieren (automatische Installation der Zimbra Desktop-Clientanwendung, sodass der Benutzer nur ein Anmeldekennwort eingeben und auf E-Mails zugreifen musste). Daher nur EAGER. Ja, es ist bequemer, um ehrlich zu sein.

Zum bequemen Bearbeiten und Anwenden von Parametern ist es einfacher und bequemer, eine Datei zu erstellen. Lass es sein / tmp / prov

Der Inhalt der Datei lautet wie folgt:

Dateiinhalt
 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" 


Noch etwas Theorie:

Diese Datei enthält Befehle zum Zuweisen von Variablen. So bedeutet beispielsweise der Parameter zimbraAutoProvAttrMap cn = cn , dass Zimbra seine Kästchen so bildet, dass der "Anzeigename" (CN in AD) im Feld "Anzeigename" in Zimbra ersetzt wird.

Der Parameter zimbraAutoProvLdapAdminBindDn ist für das Konto verantwortlich, mit dem Zimbra auf das AD-Verzeichnis zugreift . In diesem Fall wird "CN = ZimbraLDAP, OU = HOME_Users, DC = home, DC = local" verwendet. Dies bedeutet Folgendes: Das Konto mit dem Anzeigenamen ZimbraLDAP, das in der OU HOME_Users im Stammverzeichnis der Domäne home.local gespeichert ist, wird verwendet

zimbraAutoProvLdapAdminBindPassword speichert das Kennwort für das ZimbraLDAP-Konto

zimbraAutoProvLdapBindDn speichert das Zimbra-Serveradministratorkonto für die Domäne zimbramail.home.local

zimbraAutoProvLdapSearchBase ist für die Organisationseinheit verantwortlich, in der Zimbra nach Domänenkonten sucht, um Postfächer zu erstellen. In meinem Fall ist dies derselbe Container, in dem sich der ZimbraLDAP-Benutzer befindet

zimbraAutoProvPollingInterval ist der Zeitraum, in dem AD kontaktiert wird, um nach neuen Konten zu suchen.

Mit den restlichen Parametern ist alles klar.

Auf der Entwickler-Website steht, dass Sie, wenn Sie die Zimbra-Version bis 8.0.8 verwenden, den Parameter zimbraAutoProvLastPolledTimestamp auf den leeren Wert "" setzen müssen, damit der EAGER-Modus funktioniert. Andernfalls funktioniert er nur einmal.

Führen Sie als nächstes den Befehl aus:

 $ su – zimbra $ zmprov < /tmp/prov 

Um alle zmprov-Werte anzuzeigen, können Sie den folgenden Befehl eingeben:

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

Sie können die Parameter mit demselben zmprov-Dienstprogramm bearbeiten. Das Umschreiben der Variablenwerte (Dienstprogramm - Aktion - Domäne - Variable - Werte) kann beim Debuggen hilfreich sein:

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

Auf der Entwicklerseite befindet sich eine kleine Tabelle mit LDAP-Fehlern zur Fehlerbehebung. Autoboot-Protokolle werden in /opt/zimbra/log/mailbox.log geschrieben

Link

Und etwas mehr Vorbehalt. Ich habe ein Feedback von LevZ erhalten , das den Server von Grund auf neu eingerichtet hat. Version 8.8.12_GA_3794.RHEL7_64_20190329045002 RHEL7_64 FOSS Edition, Patch 8.8.12_P1 Proxy.

Hier ist die Sache: Nach einer Neuinstallation muss der Parameter "zimbraAutoProvScheduledDomains" initialisiert werden - führen Sie den Befehl "ms zimbraAutoProvScheduledDomains" ohne das "+" - Zeichen aus. Wenn Sie sofort "+ zimbraAutoProvScheduledDomains" schreiben, wird es nicht aufgezeichnet und der Prozess startet nicht.

Danke an die Person für die Information!

6. Installieren von Clientanwendungen


Laden Sie das msi-Paket der neuesten Version von der offiziellen Website herunter. Wir kopieren es in den freigegebenen Netzwerkordner, auf den alle zum Lesen zugreifen können. Sie können es nach Netlogon kopieren, aber das Paket wiegt mehr als 100 MB. Deshalb habe ich mich für den Ball entschieden.

Zimbra Desktop verwendet Java. Dies bedeutet, dass Sie es herunterladen und in denselben Ordner legen müssen.
Weiter nach Geschmack - KIX, GPO, Hände. Ich benutze GPO.

Erstellen Sie im selben Ball die Datei installZimbra.cmd mit dem folgenden Inhalt:

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

Fügen Sie dem Abschnitt "Computerkonfiguration" - "Windows-Konfiguration" - "Skripte (Start / Ende)" - zuvor erstelltes Installationsskript "Start" hinzu. Das Skript installiert Java und Zimbra Desktop im unbeaufsichtigten Modus und erfordert keinen Neustart. Weiter - die Feier des Fantasy-Administrators.

Aber. Um Zimbra Desktop auf unserem Server zu konfigurieren, müssen Sie die Parameter mit Ihren Händen steuern.

Bild

Daher müssen Sie für Benutzer eine Art Anweisungsnotiz erstellen, in welche Felder was Sie fahren müssen und auf welche Schaltfläche Sie klicken müssen, um auf die E-Mail zuzugreifen. Im Allgemeinen ist es nicht schwierig.

Fazit


Daher haben wir sehr schnell und relativ schnell ein völlig kostenloses Unternehmensinteraktionssystem implementiert, das auf der Zimbra Collaboration Suite basiert, die Interaktion mit der Domäne eingerichtet, die Erstellung von Postfächern vereinfacht und Probleme mit einer Reihe zusätzlicher Konten beseitigt.

Meiner Meinung nach ist Zimbra ein ziemlich leistungsfähiges Werkzeug für das Unternehmenssegment. Aber eine große Anzahl von Artikeln wurde bereits darüber geschrieben, ich werde es nicht sprühen.

PS:
Der nächste Artikel konzentriert sich auf das Sichern und Wiederherstellen von Zimbra OSE-Postfächern.
Der dritte Artikel befasst sich mit der automatischen Generierung und Aktualisierung von Mailinglisten basierend auf AD-Benutzergruppen in Zimbra OSE.

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


All Articles