Implemente Zimbra Collaboration Open Source, autorice a través de AD y cree automáticamente buzones

imagen

1. Los datos de origen


SO del servidor : CentOS 7

Sobre el sistema operativo
De hecho, la diferencia entre CentOS7 y cualquier otro sistema radicará únicamente en los comandos del servidor para instalar dependencias y, posiblemente, en la ubicación de algunos archivos. El trabajo se lleva a cabo principalmente con cmdlets Zimbra, por lo que las diferencias de configuración serán mínimas.

Dominio de Windows : home.local
Dirección y nombre del servidor de correo : 10.40.0.80 / zimbramail.home.local
Usuario para acceder al directorio AD : ZimbraLDAP con contraseña qwe123

2. Errores


El proceso de instalación de Zimbra en sí es bastante simple. Debe instalar los paquetes dependientes, descargar el archivo, ejecutar el script y responder correctamente las preguntas del instalador. Pero, como en todas partes, hay algunas pequeñas dificultades.

1) Zimbra es sensible al nombre de host. Lo primero que debe hacer antes de la instalación es traer el archivo / etc / hosts al formulario:

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

2) Sin acceso a internet, no ocurrirá un milagro. Si no hay acceso a Internet, la secuencia de comandos se congelará durante 20-40 minutos y, como resultado, por supuesto, terminará con un error. Parecería, ¿por qué necesitamos un servidor de correo sin acceso a Internet, pero "lo que simplemente no sucede en el mundo sublunar".

3. Instalación directa


Así que al punto!

1) Instalación de dependencias:

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

2) Descargar archivo:

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

3) Descomprima el archivo descargado, vaya al directorio e inicie la instalación:

 $ 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) Acepte el acuerdo de licencia y el uso del repositorio de Zimbra:

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

5) Seleccione los componentes necesarios y confirme el cambio:

Mostrar texto
 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) A continuación, debe ingresar la contraseña de administrador para Zimbra:

Mostrar texto
 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 


El resto de este menú no nos interesa mucho. Pero Por defecto, Zimbra creará su propio dominio interno en la imagen y semejanza de su zmhostname (leer hostname), es decir, será el dominio zimbramail.home.local. Esta opción me conviene, si no lo hace, y el nombre de dominio debe corresponder estrictamente a [home.local], entonces recomiendo cambiar inmediatamente las direcciones para recibir la Notificación de actualización de versión y la Fuente de actualización de versión a admin@home.local

7) Aquí debe hacer clic en el botón [a] para aplicar los cambios, luego aceptar guardar la configuración en un archivo y presionar [Entrar] nuevamente para continuar con la instalación.

El sistema no se colgó después de la palabra "hecho", espera a que se presione una tecla.

Mostrar texto
 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. 


A continuación, el script de instalación funciona, después de lo cual ofrece presionar cualquier tecla para continuar.

8) Una vez completada la instalación, debe abrir los puertos necesarios en el firewall. La lista de puertos se puede encontrar en la Wiki del desarrollador en

9) Recomiendo encarecidamente que se asegure de que Zimbra haya entendido todo correctamente y que su zmhostname coincida con el nombre de host del servidor:

 $ su – zimbra $ zmhostname zimbramail.home.local 

Si el nombre no coincide, haga lo siguiente:

a) primero, verifique si hay registros A y MX en el DNS para nuestro nuevo zmhostname, si no, créelos

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

c) limpiamos zmloggerhostmap:

 $ zmloggerhostmap 

Este comando enumera todos los mapas de nombres de host.

Eliminar por comando:

 $ zmloggerhostmap -d localhost localhost.localdomain 

donde localhost y localhost.localdomain necesitan ser reemplazados por una línea de la lista Mapa del nombre de host
luego reinicie Zimbra

10) Iniciamos el servidor:

 $ su – zimbra $ zmcontrol start 

Mostrar texto
  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. 

Ahora el servidor está disponible en https: //zimbramail.home.local: 7071

imagen

11) Para poder acceder al servidor a través de https y http, hacemos lo siguiente:

 $ su – zimbra $ zmtlsctl both $ zmcontrol restart 

12) Para aquellos que no tienen acceso a Internet, o si el servidor vive detrás de NAT, aún deberá registrar el comando:

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

zmprov es una utilidad para administrar la configuración del servidor, todavía la necesitaremos cuando necesitemos configurar la creación automática de buzones, su copia de seguridad y recuperación, así como la creación y actualización automáticas de listas de correo. Pero más sobre eso más tarde.

13) El problema con el certificado autofirmado se resuelve importando el certificado al servidor desde su autoridad de certificación.

O exportando un certificado de un servidor Zimbra:

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

seguido de exportarlo a máquinas cliente, manos o políticas grupales de un dominio mediante la instalación de un certificado en las "Autoridades de certificación raíz de confianza" de las máquinas cliente.

Esto completa la instalación y la configuración inicial.

4. Configure la autorización a través de LDAP


En primer lugar, debe crear un usuario en AD para acceder al directorio. Lo tengo ZimbraLDAP, y luego voy a la consola de administración a través de la web y configuro la autorización en el dominio zimbramail.home.local.

1) Vaya a "configuración" - "dominios", RMB por nombre de dominio - "configurar autenticación":

imagen

2) Seleccione "Active Directory externo", haga clic en siguiente:

imagen

3) En el campo “Nombre de dominio AD” ingrese el nombre de dominio, en el campo “ldap: //” escriba el nombre de dominio o el nombre del controlador de dominio, o la IP del controlador de dominio. Tengo varios controladores, así que escribo el nombre de dominio. El puerto no se modifica. Haga clic en siguiente:

imagen

4) El enlace LDAP no se modifica.

5) Resumen de configuración de autenticación. Nombre de usuario ZimbraLDAP, contraseña qwe123. Haga clic en el botón "prueba":

imagen

La configuración de un grupo externo es responsable de dónde exactamente en AD Zimbra buscará usuarios y qué filtros aplicará. Puedes aplicar un filtro:

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

en este caso, solo se seleccionarán los objetos de usuarios y personas de AD. Y el parámetro Base de búsqueda LDAP de grupo externo no se utilizará, se reemplazará por " zimbraAutoProvLdapSearchBase " durante la configuración del modo EAGER.

Ahora los usuarios iniciarán sesión con sus contraseñas de AD. E incluso al crear un nuevo buzón, la contraseña no se puede establecer.

5. Configure la creación automática de buzones


Un poco de teoría

Zimbra tiene 3 opciones para crear cajas:

EAGER : completamente automático, que a intervalos regulares escanea AD y crea buzones para nuevos usuarios.

LAZY : semiautomático, que crea un buzón la primera vez que un usuario inicia sesión en el servidor de correo con las credenciales de dominio.

MANUAL : búsqueda manual y selección de cuentas para las que necesita crear buzones.

Por razones obvias, el modo MANUAL es adecuado solo para pequeñas empresas con una rotación de personal lenta. El modo LAZY es adecuado para usar el correo con una interfaz web, sin conectar un cliente de correo. Ambas opciones no me convenían, ya que la tarea era automatizar al máximo (instalación automática de la aplicación cliente Zimbra Desktop, de modo que el usuario solo tenía que ingresar una contraseña de inicio de sesión y acceder al correo). Por lo tanto, solo EAGER. Sí, es más conveniente, para ser honesto.

Para la conveniencia de editar y aplicar parámetros, es más fácil y más conveniente crear un archivo. Déjalo ser / tmp / prov

El contenido del archivo es el siguiente:

Contenido del archivo
 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" 


Algo más de teoría:

Este archivo contiene comandos para asignar variables. Entonces, por ejemplo, el parámetro zimbraAutoProvAttrMap cn = cn significa que Zimbra formará sus cuadros de tal manera que el "nombre para mostrar" (CN en AD) se sustituirá en el campo "nombre para mostrar" en Zimbra.

El parámetro zimbraAutoProvLdapAdminBindDn es responsable de la cuenta que Zimbra usará para acceder al directorio AD. En este caso, "CN = ZimbraLDAP, OU = HOME_Users, DC = home, DC = local", lo que significa lo siguiente: se utilizará la cuenta con el nombre para mostrar ZimbraLDAP almacenado en los OU HOME_Users ubicados en la raíz del dominio home.local.

zimbraAutoProvLdapAdminBindPassword almacena la contraseña de la cuenta ZimbraLDAP

zimbraAutoProvLdapBindDn almacena la cuenta de administrador del servidor Zimbra para el dominio zimbramail.home.local

zimbraAutoProvLdapSearchBase es responsable de la unidad organizativa, en la que Zimbra buscará cuentas de dominio para crear buzones. En mi caso, este es el mismo contenedor en el que se encuentra el usuario ZimbraLDAP

zimbraAutoProvPollingInterval es el período de contacto con AD para la búsqueda de nuevas cuentas.

Con el resto de los parámetros, todo está claro.

En el sitio del desarrollador está escrito que si usa la versión de Zimbra hasta 8.0.8, para que funcione el modo EAGER, también deberá establecer el parámetro zimbraAutoProvLastPolledTimestamp en el valor vacío "", de lo contrario, no funcionará más de una vez.

A continuación, ejecute el comando:

 $ su – zimbra $ zmprov < /tmp/prov 

Para ver todos los valores de zmprov, puede ingresar el comando:

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

Puede editar los parámetros utilizando la misma utilidad zmprov, reescribir los valores de las variables (utilidad - acción - dominio - variable - valores) puede ayudar a la depuración:

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

En el sitio del desarrollador hay una pequeña tabla de solución de problemas de error LDAP. Los registros de inicio automático se escriben en /opt/zimbra/log/mailbox.log

Enlace

Y un poco más de reserva. Recibí un comentario de LevZ , que configuró el servidor desde cero. Versión 8.8.12_GA_3794.RHEL7_64_20190329045002 RHEL7_64 Edición FOSS, parche 8.8.12_P1 proxy.

Aquí está la cosa: después de una instalación limpia, el parámetro "zimbraAutoProvScheduledDomains" debe inicializarse: ejecute el comando "ms zimbraAutoProvScheduledDomains" sin el signo "+". Si inmediatamente escribe "+ zimbraAutoProvScheduledDomains", entonces no se registra y el proceso no se inicia.

Gracias a la persona por la información!

6. Instalar aplicaciones cliente


Descargue el paquete msi de la última versión del sitio web oficial. Lo copiamos a la carpeta de red compartida accesible para todos para leer. Puede copiarlo a Netlogon, pero el paquete pesa más de 100 MB, así que decidí usar la pelota.

Zimbra Desktop utiliza Java, lo que significa que debe descargarlo y colocarlo en la misma carpeta.
Más al gusto - KIX, GPO, manos. Yo uso GPO.

En la misma bola, cree el archivo installZimbra.cmd con el siguiente contenido:

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

Agregue a la sección "configuración de la computadora" - "Configuración de Windows" - "Scripts (inicio / fin)" - Script de instalación "Inicio" creado anteriormente. El script instalará Java y Zimbra Desktop en modo silencioso y no requerirá un reinicio. Siguiente: la juerga del administrador de fantasía.

Pero Para configurar Zimbra Desktop en nuestro servidor, debe manejar los parámetros con las manos.

imagen

Por lo tanto, para los usuarios, debe crear una especie de memo de instrucciones, en qué campos debe conducir y en qué botón hacer clic para acceder al correo. En general, no es difícil.

Conclusión


Por lo tanto, implementamos de manera muy rápida y bastante rápida un sistema de interacción corporativa completamente gratuito basado en Zimbra Collaboration Suite, configuramos su interacción con el dominio, simplificando la creación de buzones y eliminando problemas con un montón de cuentas adicionales.

En mi opinión, Zimbra es una herramienta bastante poderosa para el segmento corporativo. Pero ya se ha escrito una gran cantidad de artículos sobre esto, no lo rociaré.

PD:
El siguiente artículo se centrará en hacer copias de seguridad y restaurar los buzones de Zimbra OSE.
El tercer artículo trata sobre la generación y actualización automáticas de listas de correo basadas en grupos de usuarios de AD en Zimbra OSE.

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


All Articles