Este documento proporciona instrucciones para instalar y configurar la suite de colaboración Zimbra en un servidor CentOS. Describe los requisitos de hardware y software, los pasos para instalar y configurar Zimbra, incluyendo la creación de un usuario administrador y la configuración de puertos y servicios.
2. La suite de colaboración Zimbra (en inglés: 'Zimbra
Collaboration Suite' o ZCS) es un programa informático
colaborativo o Groupware creado por Zimbra Inc.
Características
El servidor ZCS hace uso de proyectos de código abierto existentes como Postfix, MySQL,
OpenLDAP y Lucene. cuenta con una interfaz de programación de aplicaciones asado en SOAP
para toda su funcionalidad y actúa como servidor IMAP y POP3 de correo electrónico.
El cliente web ZCS es una interfaz de colaboración y administración completa creada
empleando el Toolkit Zimbra. Soporta correos electrónicos y calendarios a través de una interfaz
web basada en AJAX. Incluye capacidades de búsqueda avanzada, calendario compartido y
relaciones de fechas.
ZCS es compatible con clientes propietarios tales como Microsoft Outlook, Novell
Evolution y Apple Mail. También provee soporte de sincronización nativo de dos vías para muchos
dispositivos móviles: Nokia serie E, BlackBerry y Blackeberry Enterprise Server, Windows Mobile,
entre otros.
Instalación
Requerimientos mínimos de Hardware:
Test y evaluación Producción
Procesador Intel/AMD 64-bit CPU
1.5 GHz
Intel/AMD 2.0 GHZ+ 64-bit
Memoria RAM 1 GB 2GB (recomendados 4GB)
Disco 5GB más espacio para
mensajes
10GB más espacio para mensajes
Configuración del host:
1.- Modificar archivo /etc/hosts.
Se debe crear un registro en el archivo /etc/hosts con la IP de la interfaz donde se ejecute el
servidor, con el formato: dirección IP, nombre completo FQDN, nombre corto de host.
Ej: para el host nombredeequipo.dominio con la ip local 192.168.2.239
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.239 nombredeequipo.dominio nombredeequipo
3. 2.- Abrir puertos en el firewall del servidor CentOS.
Los puertos que necesitamos abrir se relacionan en la siguiente tabla:
Puerto Protocolo
SMTP 25 tcp
SMTPS 465 tcp
HTTP 80 tcp
HTTPS 443 tcp
POP3 110 tcp
POP3S 995 tcp
IMAP 143 tcp
IMAPS 993 tcp
LDAP 389 tcp
Administración 7071 tcp
LMTP 7025 tcp
3.- Deshabilitar el servicio postfix.
Zimbra utiliza su propio paquete postfix, así que debemos deshabilitar el que está instalado
por defecto en nuestro servidor Centos, y posteriormente pararlo. Para ello, en la misma utilidad
setup, entramos en “Servicios del sistema” y deshabilitamos la entrada de postfix.
[root@mail]# service postfix stop
Luego de deshabilita postfix para que no inicie desde el automaticamente.
[root@mail]# chkconfig postfix off
4.- Configurar los registros A y MX en nuestro servidor DNS.
Se debe configurar el servidor de correo con el nombre mail para la zona dominio.com En
la consola de administración de DNS en dicho servidor, damos de alta los registros de host A y de
intercambio de correo MX.
Para el registro A, se da de alta un registro Host nuevo (A o AAAA) con la IP
192.168.2.239. Para el MX, “Nuevo intercambio de correo (MX)”, con el nombre mail.
NOTA: Se da por supuesto que están creadas las zonas de zonas de búsqueda inversa en el
servidor DNS.
4. 5.- Instalación de los requisitos software.
Si el servidor CentOS se ha instalado en la manera descrita en el artículo mencionado más
arriba, se deben descargar e instalar una serie de paquetes: nc (requisito para Zimbra CS), completar
perl (para la instalación del software de Zimbra CS), y systat (para las estadísticas de Zimbra CS).
[root@mail]# yum install nc
Loaded plugins: fastestmirror
Determining fastest mirrors
[root@mail]# yum install perl
Loaded plugins: fastestmirror
Determining fastest mirrors
[root@mail]# yum install systat
Loaded plugins: fastestmirror
Determining fastest mirrors
6.- Instalación del software Zimbra CS.
Desde el directorio donde se ha descomprimido el archivo tgz, lanzamos el instalador
install.sh.
[root@mail /]# cd/home/paquetes/zcs8.0.7_GA_6021.RHEL6_64.20140408123911/
[root@mail /]#./install.sh
Con esto se inicia el proceso de instalación de Zombra CS. Los puntos principales son;
6.1- Chequeo de instalaciones existentes:
Operations logged to /tmp/install.log.2031
Checking for existing installation…
zimbraldap…
NOT FOUND
zimbralogger…
NOT FOUND
zimbramta…
NOT FOUND
zimbrasnmp…
NOT FOUND
zimbrastore…
NOT FOUND
zimbraapache…
NOT FOUND
zimbraspell…
NOT FOUND
zimbraconvertd…
NOT FOUND
zimbramemcached…
NOT FOUND
zimbraproxy…
NOT FOUND
zimbraarchiving…
NOT FOUND
zimbracluster…
NOT FOUND
zimbracore…
NOT FOUND
5. 6.2- Acuerdos de licencia. Se aceptan.
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE
SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO
YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING
OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO
BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF
THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE
PRODUCT.
License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra_public_eula_2.1.html
Do you agree with the terms of the software license
agreement? [N] Y
Oracle Binary Code License Agreement for the Java SE
Platform Products
ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF
ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON
CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY
UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS
CONTAINED IN THIS BINARY CODE LICENSE
…
information about the data Oracle collects as a result of
your Software download at
http://www.oracle.com/technetwork/java/javase/documentatio
n/index.html.
For inquiries please contact: Oracle America, Inc., 500
Oracle Parkway,
Redwood Shores, California 94065, USA.
Last updated May 17, 2011
Do you agree with the terms of the software license
agreement? [N] Y
6. 6.3.- Chequeo de prerrequisitos.
Checking for prerequisites…
FOUND: NPTL
FOUND: nc1.8422
FOUND: sudo1.8.6p37
FOUND: libidn1.182
FOUND: gmp4.3.17
FOUND: /usr/lib64/libstdc++.so.6
Checking for suggested prerequisites…
FOUND: perl5.10.1
FOUND: sysstat
FOUND: sqlite
Prerequisite check complete.
Checking for installable packages
Found zimbracore
Found zimbraldap
Found zimbralogger
Found zimbramta
Found zimbrasnmp
Found zimbrastore
Found zimbraapache
Found zimbraspell
Found zimbramemcached
Found zimbraproxy
6.4.- Seleccionar los paquetes a instalar.
La plataforma de Zimbra CS se va a ejecutar sobre un único servidor, así que se pueden dejar todas
las opciones por defecto.
Select the packages to install
Install zimbraldap
[Y]
Install zimbralogger
[Y]
Install zimbramta
[Y]
Install zimbrasnmp
[Y]
Install zimbrastore
[Y]
Install zimbraapache
[Y]
Install zimbraspell
[Y]
Install zimbramemcached
[N]
Install zimbraproxy
[N]
7. 6.5.- Instalación del software.
Se debe aceptar la modificación del sistema por parte de la instalación. Se instalan los paquetes rpm
del producto.
Checking required space for zimbracore
Checking space for zimbrastore
Installing:
zimbracore
zimbraldap
zimbralogger
zimbramta
zimbrasnmp
zimbrastore
zimbraapache
zimbraspell
The system will be modified. Continue? [N] Y
Removing /opt/zimbra
Removing zimbra crontab entry…done.
Cleaning up zimbra init scripts…done.
Cleaning up /etc/ld.so.conf…done.
Cleaning up /etc/security/limits.conf…done.
Finished removing Zimbra Collaboration Server.
Installing packages
zimbracore……
zimbracore8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbraldap……
zimbraldap8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbralogger……
zimbralogger8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbramta……
zimbramta8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbrasnmp……
zimbrasnmp8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbrastore……
zimbrastore8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbraapache……
zimbraapache8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
zimbraspell……
zimbraspell8.0.4_
GA_5737.RHEL6_6420130524120036.
x86_64.rpm…done
Operations logged to /tmp/zmsetup.10242013120134.
log
Installing LDAP configuration database…done.
Setting defaults… MX: mail.dominio (192.168.2.239)
8. Interface: 192.168.2.239
Interface: 192.168.2.239
Interface: 127.0.0.1
Interface: ::1
192.168.2.239
done.
Checking for port conflicts
6.6.- Menú de configuración de la instalación.
Los asteriscos indican qué queda por configurar. En principio sólo está pendiente introducir la
contraseña de administrador del sistema Zimbra CS. Para ello, debemos entrar en la opción “3” y
posteriormente en la “4”, con lo que se nos presenta un diálogo para introducir la nueva contraseña.
Main menu
1) Common Configuration:
2) zimbraldap:
Enabled
3) zimbrastore:
Enabled
+Create Admin User: yes
+Admin user to create: admin@dominio
******* +Admin Password UNSET
+Antivirus
quarantine user: virusquarantine.
yv7rxpot@l019cor01.l019.local
+Enable automated spam training: yes
+Spam training user: spam.glzutt2n@dominio
+Nonspam(
Ham) training user:
ham.nfdnpgaxe@dominio
+SMTP host: l019cor01.l019.local
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: https
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL: http://mail.dominio:7780/aspell.php
+Configure for use with mail proxy: FALSE
+Configure for use with web proxy: FALSE
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email:
admin@dominio
+Version update source email: admin@dominio
4) zimbramta:
Enabled
5) zimbrasnmp:
Enabled
9. 6) zimbralogger:
Enabled
7) zimbraspell:
Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Address unconfigured (**) items (? – help) 3
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@dominio
** 4) Admin Password UNSET
5) Antivirus
quarantine user:
virusquarantine.
yv7rxpot@dominio
6) Enable automated spam training: yes
7) Spam training user: spam.glzutt2n@dominio
8) Nonspam(
Ham) training user:
ham.nfdnpgaxe@dominio
9) SMTP host: mail.dominio
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: https
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL: http://mail.dominio:7780/aspell.php
19) Configure for use with mail proxy: FALSE
20) Configure for use with web proxy: FALSE
21) Enable version update checks: TRUE
22) Enable version update notifications: TRUE
23) Version update notification email:
admin@dominio
24) Version update source email:
admin@dominio
Select, or ‘r’ for previous menu [r] 4
Password for admin@dominio (min 6 characters): [Cy3Vb0Jz]
Tx3r0k101 zimbra 1234
Minimum length of 6 characters!
10. Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@dominio
4) Admin Password set
5) Antivirus
quarantine user:
virusquarantine.
yv7rxpot@dominio
6) Enable automated spam training: yes
7) Spam training user: glzutt2n@sdominio
8) Nonspam(
Ham) training user:
ham.nfdnpgaxe@dominio
9) SMTP host: mail.dominio
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: https
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL: http://mail.dominio:7780/aspell.php
19) Configure for use with mail proxy: FALSE
20) Configure for use with web proxy: FALSE
21) Enable version update checks: TRUE
22) Enable version update notifications: TRUE
23) Version update notification email:
admin@dominio
24) Version update source email: admin@dominio
Select, or ‘r’ for previous menu [r] r
Main menu
1) Common Configuration:
2) zimbraldap:
Enabled
3) zimbrastore:
Enabled
4) zimbramta:
Enabled
5) zimbrasnmp:
Enabled
6) zimbralogger:
Enabled
7) zimbraspell:
Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
6.7.Aplicar
configuración.
11. Se deben aplicar los cambios con “a”. Se ejecuta el proceso final de instalación y configuración de
Zimbra CS en el servidor.
*** CONFIGURATION COMPLETE – press ‘a’ to apply
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.8483]
Saving config in /opt/zimbra/config.8483…done.
The system will be modified – continue? [No] Yes
Operations logged to /tmp/zmsetup.10242013120134.
log
Setting local config values…done.
Initializing core config…Setting up CA…done.
Deploying CA to /opt/zimbra/conf/ca …done.
Creating SSL zimbrastore
certificate…done.
Creating new zimbraldap
SSL certificate…done.
Creating new zimbramta
SSL certificate…done.
Installing mailboxd SSL certificates…done.
Installing MTA SSL certificates…done.
Installing LDAP SSL certificate…done.
Initializing ldap…done.
Setting replication password…done.
Setting Postfix password…done.
Setting amavis password…done.
Setting nginx password…done.
Creating server entry for dominio …done.
Setting Zimbra IP Mode…done.
Saving CA in ldap …done.
Saving SSL Certificate in ldap …done.
Setting spell check URL…done.
Setting service ports on dominio…done.
Adding l019cor01.l019.local to zimbraMailHostPool in
default COS…done.
Setting zimbraFeatureTasksEnabled=TRUE…done.
Setting zimbraFeatureBriefcasesEnabled=FALSE…done.
Setting MTA auth host…done.
Setting TimeZone Preference…done.
Initializing mta config…done.
Setting services on dominio…done.
Creating domain dominio...done.
Setting default domain name…done.
Creating domain dominio…already exists.
Creating admin account admin@dominio…done.
Creating root alias…done.
Creating postmaster alias…done.
Creating user spam.glzutt2n@dominio…done.
Creating user ham.nfdnpgaxe@dominio…done.
Creating user virusquarantine.
yv7rxpot@dominio…done.
Setting spam training and Antivirus
quarantine accounts…
done.
12. Initializing store sql database…done.
Setting zimbraSmtpHostname for dominio…done.
Configuring SNMP…done.
Setting up syslog.conf…done.
Starting servers…done.
Installing common zimlets…
com_zimbra_webex…done.
com_zimbra_cert_manager…done.
com_zimbra_phone…done.
com_zimbra_attachmail…done.
com_zimbra_url…done.
com_zimbra_proxy_config…done.
com_zimbra_bulkprovision…done.
com_zimbra_adminversioncheck…done.
com_zimbra_srchhighlighter…done.
com_zimbra_date…done.
com_zimbra_attachcontacts…done.
com_zimbra_tooltip…done.
com_zimbra_email…done.
com_zimbra_clientuploader…done.
com_zimbra_ymemoticons…done.
com_zimbra_viewmail…done.
Finished installing common zimlets.
Restarting mailboxd…done.
Creating galsync account for default domain…done.
You have the option of notifying Zimbra of your
installation.
This helps us to track the uptake of the Zimbra
Collaboration Server.
The only information that will be transmitted is:
The VERSION of zcs installed (8.0.4_GA_5737_RHEL6_64)
The ADMIN EMAIL ADDRESS created
(admin@l019cor01.l019.local)
Notify Zimbra of your installation? [Yes]
Notifying Zimbra of installation via
http://www.zimbra.com/cgibin/
notify.cgi?
VER=8.0.4_GA_5737_RHEL6_64&MAIL=admin@ dominio Notification
complete
Setting up zimbra crontab…done.
Moving /tmp/zmsetup.10242013120134.
log to /opt/zimbra/log
Configuration complete – press return to exit
7.- Pasos posteriores a la instalación.
7.1.- Chequear el estado de los procesos de Zimbra CS en ejecución.
Desde una sesión en el servidor Zimbra L019COR01, se debe comprobar que los componentes
13. instalados de Zimbra CS se encuentran en ejecución. Para ello, con el recién creado usuario zimbra
(creado automáticamente en el proceso de instalación) se puede utilizar el comando zmcontrol
status.
[root@mail~]# su – zimbra
[zimbra@mail ~]$ zmcontrol status
Host mail.dominio
antispam Running
antivirus Running
ldap Running
logger Running
mailbox Running
mta Running
opendkim Running
snmp Running
spell Running
stats Running
zmconfigd Running
8.- Acceso a la consola de administración.
Desde un equipo, utilizando un navegador web (en el caso de L019, Internet Explorer), se podrá
14. acceder en este momento a la consola de administración web de Zimbra CS. La URL es la del
servidor, haciendo una conexión https al puerto 7071. En el entorno de L019 esta URL es
https://mail.dominio:7071
El usuario sería “admin” y la contraseña la misma que hemos introducido en el paso 6.6 del
apartado "Instalación del software de Zimbra CS”.
15. 9.- Comandos útiles de Administración.
Iniciar servicios zimbra
Como usuario root:
$ /etc/init.d/zimbra [start|stop|restart]
Como usuario zimbra:
$ su zimbra
$ zmcontrol [start|stop|restart]
Verificar el estado de zimbra
zimbra@mail:~$ zmcontrol status
Host mail.dominio /opt/zimbra/bin
antispam Running zmantispamctl
antivirus Running zmantivirusctl
ldap Running
logger Running zmloggerctl
mailbox Running zmmailboxctl
mta Running zmmtactl
snmp Running
spell Running zmspellctl
stats Stopped zmstatsctl
Verificar y activar los servicios de zimbra
En primer lugar, verifico los servicios que están habilitados
zimbra@mail:~/postfix/sbin> zmprov gs mail.dominio |grep zimbraServiceEnabled
zimbraServiceEnabled: antispam
zimbraServiceEnabled: logger
zimbraServiceEnabled: mailbox
zimbraServiceEnabled: mta
zimbraServiceEnabled: snmp
zimbraServiceEnabled: ldap
zimbraServiceEnabled: spell
Por ejemplo, para quitar el servicio de antivirus:
16. zimbra@mail:~$ zmprov ms mail.dominio
zimbraServiceEnabled antispam
zimbraServiceEnabled logger
zimbraServiceEnabled mailbox
zimbraServiceEnabled mta
zimbraServiceEnabled snmp
zimbraServiceEnabled ldap
zimbraServiceEnabled spell
Información de las cuentas de usuario y dominios
zimbra@planetexpress:~$ zmaccts
Información de los servidores
zimbra@planetexpress:~$ zmprov gas
Información de los diferentes dominios
zimbra@planetexpress:~$ zmprov gad
Informacion de las cuotas de usuario
zimbra@mail:~$ zmprov gmi admin@dominio
mailboxId: 3
quotaUsed: 146587533
Crear una cuenta de usuario
zimbra@mail:~$ zmprov ca admin@dominio <password>
Cambiar la contraseña en una cuenta de usuario
zimbra@mail:~$ zmprov sp admin@dominio <password>
17. Modificar cuenta de usuario
zimbra@mail:~$ zmprov ma admin@dominio givenName="admin"
sn="admin2"
Crear una lista de distribución
zimbra@mail:~$ zmprov cdl staff@dominio
Añadir usuarios a una lista de distribución
zimbra@mail:~$ zmprov adlm staff@dominio
admin@dominio
Añadir un alias
zimbra@planetexpress:~$ zmprov aaa admin@dominio
nacho@dominio
Borrar una cuenta de usuario
zimbra@mail:~$ zmprov da admin@dominio
Borrar un alias
zimbra@planetexpress:~$ zmprov raa admin@dominio
nacho@dominio
Renombrar una cuenta de usuario
zimbra@mail:~$ zmprov ra admin@dominio
administrador@dominio
Mostrar las opciones de un servidor
zimbra@mail:~$ zmprov gs dominio
Cambiar puerto webmail http
Cambiar el puerto webmail de zimbra al 8080.
Como usuario zimbra:
zimbra@mail:~$ zmprov ms dominio zimbraMailPort 8080
18. y luego reiniciar el servidor via:
$ tomcat restart
o bien:
zimbra@mail:~$ zmcontrol stop
zimbra@mail:~$ zmcontrol start
Cambiar puerto webmail https
Cambiar el puerto seguro del tomcat para publicar.
Como usuario zimbra:
zimbra@mail:~$ zmprov ms dominio zimbraMailSSLPort 8443
y luego reiniciar el servidor.
19. 9.- Inyectar correos desde otro directorio de backup con zmlmtpinject.
9.1.- Copiar los mensajes desde el directorio del servidor de respaldo al directorio del
nuevo servidor.
9.2.- En el directorio del nuevo servidor donde se copiaron los mensajes ejectuar:
[root@mail “directorio”]# chown zimbra:zimbra *
9.3- Ejecutar el siguiente script:
#!/bin/bash
#
# zimdates
# Chris Gitzlaff 20051116
#
# This script inserts an XZimbraReceived
header into each message
# immediately after the Date header.
#
SCRIPTDIR=`pwd`
TMPFILE="$SCRIPTDIR/zimdates.tmp"
show_usage() {
echo “Usage: zimdates DIRECTORY”
echo “Inserts the XZimbraReceived
header into a directory of messages”
echo
echo “Example: zimdates ./mail/”
}
# check for correct usage: 1 argument (directory)
if [ $# eq
1 ]; then
MSGDIR=$1
if [ ! d
$MSGDIR ]; then
show_usage
exit 1
fi
else
show_usage
exit 1
fi
# if the temporary file exists, delete it
if [ f
$TMPFILE ]; then
rm f
$TMPFILE
fi
cd $MSGDIR
for file in *
do
grep “^Date: ” $file > $TMPFILE
# use the first Date occurrence
datestring=`sed n
’1p’ $TMPFILE`
# remove the ‘Date: ‘ prefix
datestring=${datestring#* }
sed n
’1,/^Date: /p’ $file > $TMPFILE
20. echo “XZimbraReceived:
$datestring” >> $TMPFILE
sed ’1,/^Date: /d’ $file >> $TMPFILE
mv $TMPFILE $file
done
ej:
[root@mail “directorio”]#/home/scripts/zimdates.sh /home/”directorio”/
9.4- Como root debemos estar ubicados en el directorio donde se copiaron los
mensajes y luego ejecutar este comando.
[root@mail “dierctorio”]# /opt/zimbra/bin/zmlmtpinject d
./ r
admin@dominio
de esta forma inyectamos los mensajes desde el viejo backup en la cuenta
admin.