Manual Instalación Zimbra 6.x.x en Debian Lenny
                  

Manual creado por:

Carlos Alberto Gómez Paradela, Administrador de Red de la CTC Provincial de Camagüey, Correos: carlos@cam.ctc.cu y gomezsame@gmail.com

Mario Tomás Martínez Gómez (Tomy), Administrador de Red del Archivo Provincial de Camagüey, Correo: tomy@archivo.camaguey.cu

Con la colaboración de:

Alexander Lachaise Valdés, Jefe Dpto de informatica CTC Nacional, Correo: alexander@ctc.cu

Samuel Gonzalez Jimenez, Correo: samglezj@gmail.com

Hermidio A. Rodriguez Chavez, Correo: hermidio@gmail.com

Hola hoy les traigo un manual que he desarrollado y que gracias a la colaboración de Tommy y otros que he citado arriba ha sido posible de crear, espero le sirva de ayuda, este manual solo se aplica para las versiones de Zimbra 6.x.x en Debian Lenny.

Los requerimientos de Zimbra Collaboration Suite son, en comparación con otros productos similares, bastante bajos. Para entornos de evaluación (hasta 50 cuentas) la siguiente configuración debería ser suficiente:

CPU Intel/AMD de 32bits a 1.5 GHz o superior. 1 GB de RAM. 5 GB de espacio libre en disco para el software y los logs (es posible realizar la instalación con menos espacio disponible usando el parámetro –skipspacecheck del script de instalación install.sh).

Espacio adicional para el almacenamiento del correo y las bases de datos (depende del número de cuentas y de la cuota de disco asignada a cada una). Para instalaciones de más de 2000 cuentas de usuario, se recomienda CPU de 64 bits, lo que lleva a la necesidad de duplicar la RAM (mínimo 4 GB). El uso de discos SCSI es siempre recomendado frente a SATA por su fiabilidad y rendimiento. En general, y Zimbra no es una excepción, a mayor cantidad de RAM, mayor rendimiento general debido a la caché del kernel, y mayor fiabilidad.

En este manual utilizaremos nombres de pc e ips personalizados como:

172.40.1.9 Ip del servidor del Relay al cual le enviaremos los correos externos.
172.20.40.2 Ip del servidor DNS local.
ns1 Como nombre de la pc.
172.40.1.5 Ip de nuestro servidor DNS externo al que le enviaremos las peticiones.
77.78.78.52 Ip de nuestro agente POP Externo

Además también utilizaremos como nombre de dominio midominio.com Características principales de Zimbra Collaboration Suite: Zimbra es una potente Suite de trabajo la cual incluye correo, mensajería instantánea, calendarios personalizados y compartidos, posee una agradable interface web tanto para la administración como para el usuario.

PASO 1: En este paso ya debemos tener instalado nuestro sistema operativo y actualizado a la ultima versión desde nuestro repositorio local.

PASO 2: En este paso si no poseemos un DNS configurado en nuestra red procederemos a instalarlo y a configurarlo. Para instalar un DNS necesitamos instalar el paquete bind9.

# aptitude install bind9

Después de instalado procederemos a configurarlo. Primero modificamos el fichero /etc/bind/named.conf.options

# nano /etc/bind/named.conf.options

options {
    directory "/var/cache/bind";
    forwarders {
          172.40.1.5;
    };
    auth-nxdomain no; # conform to RFC1035
    #listen-on-v6 { any; };
};

Segundo modificamos el fichero /etc/resolv.conf

# nano /etc/resolv.conf

search midominio.com
nameserver 127.0.0.1

Reiniciamos el bind9

# /etc/init.d/bind9 restart

Después reiniciamos la red así

# /etc/init.d/networking restart

Tercero modificamos el fichero /etc/bind/named.conf.local

# nano /etc/bind/named.conf.local

zone "midominio.com" IN {
    type master;
    file "db.midominio.com";
    allow-transfer { none; };
    allow-update { none; };
    notify yes;
};
zone "40.20.172.in-addr.arpa" IN {
    type master;
    file "db.172.20.40";
    allow-transfer { none; };
    allow-update { none; };
    notify yes;
};

Cuarto modificamos el fichero /var/cache/bind/db.midominio.com

# nano /var/cache/bind/db.midominio.com

;
; BIND reverse data file for broadcast zone
;
$TTL 604800
@        IN      SOA ns1.midominio.com. adminred.ns1.midominio.com. (
                      9     ; Serial
                604800      ; Refresh
                 86400      ; Retry
               2419200      ; Expire
                604800 )     ; Negative Cache TTL
;
@        IN      NS     ns1
@        IN      MX 10 ns1
@        IN      A      172.20.40.2
midominio.com.          IN      A      172.20.40.2
smtp IN          A      172.40.1.9
mx       IN      CNAME          ns1
webmail          IN     CNAME          ns1

Quinto modificamos el fichero /var/cache/bind/db.172.20.40

# nano /var/cache/bind/db.172.20.40

; BIND reverse data file for local loopback interface
;
$TTL 604800
@        IN      SOA ns1.midominio.com. adminred.ns1.midominio.com. (
                      3     ; Serial
                604800      ; Refresh
                 86400      ; Retry
               2419200      ; Expire
                604800 )     ; Negative Cache TTL
;
@        IN      NS     ns1.midominio.com.
2        IN      PTR    intranet.midominio.com.

Por ultimo reiniciamos el bind9 y listo tenemos nuestro DNS trabajando.

# /etc/init.d/bind9 restart

PASO 3:

Modificamos el archivo /etc/hosts

# nano /etc/hosts

127.0.0.1            localhost
172.20.40.2          ns1.midominio.com ns1

PASO 4:

Modificamos el archivo /etc/hostname

# nano /etc/hostname

ns1.midominio.com

PASO 5:

Editamos el fichero /etc/sysctl.conf y agregamos al final del archivo

# nano /etc/sysctl.conf

#disable ipv6
net.ipv6.conf.all.disable_ipv6=1

Luego reiniciamos el server. Con hostname f veo si quedo bien el nombre.

# hostname -f

Debe de salir ns1.midominio.com

PASO 6:

Debido a que nuestro Debian incluye la suite MTA exim4, es necesario desactivarla, para que el MTA de Zimbra corra sin ningún inconveniente. Para tal efecto, ejecutamos lo siguiente como root:

# /etc/init.d/exim4 stop

# update-rc.d -f exim4 remove

# apt-get remove –purge exim4 exim4-base exim4-config exim4-daemon-light

PASO 7:

Se instalan los paquetes necesarios:

# apt-get install libc6-i686 sudo libidn11 curl fetchmail libgmp3c2 libexpat1 libgetopt-mixed-perl libxml2 libstdc++6 libpcre3 ssh sudo openssl libgmp3c2 file dns-browse sysstat

PASO 8:

El zimbra que vamos a descargar se instalara en /opt y lo podemos obtener de esta dirección: http://download.jovenclub.cu/GUTL/Aplicaciones_Softwares/Linux/TAR_X/Zimbra/para_debian/z cs-6.0.13_GA_2918.DEBIAN5.20110513140800.tgz

Después de descargarlo vamos a descompactarlo para poder continuar y luego entrar en el directorio y proceder a instalarle.

# tar xvfz zcs-6.0.13_GA_2918.DEBIAN5.20110513140800.tgz

# cd zcs-6.0.13_GA_2918.DEBIAN5.20110513140800

# ./install.sh

PASO 9:

Si observaremos que ya todos los paquetes requeridos están instalados, entonces proseguimos con la instalación, para la cual elegimos las opciones por defecto que ofrece el instalador. Al final nos preguntara lo siguiente:

Install zimbra-ldap [Y] Y

Install zimbra-logger [Y] Y

Install zimbra-mta [Y] Y

Install zimbra-snmp [Y] Y

Install zimbra-store [Y] Y

Install zimbra-apache [Y] Y

Install zimbra-spell [Y] Y

Install zimbra-proxy [N] N

The system will be modified. Continue? [N] y

11.- Entonces ahora empezamos a configurar zimbra, para ir terminando la instalacion.

Main menu

1) Common Configuration:

2) zimbra-ldap: Enabled

3) zimbra-store: Enabled

+Create Admin User: yes

+Admin user to create: admin@midominio.com

     +Admin Password UNSET

+Enable automated spam training: yes

+Spam training user: spam.ovlhtoqr@midominio.com

+Non-spam(Ham) training user: ham.ujyjybke@midominio.com

+Global Documents Account: wiki@midominio.com

+SMTP host: correo.midominio.com

+Web server HTTP port: 80

+Web server HTTPS port: 443

+Web server mode: http

+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://correo.midominio.com:7780/aspell.php

4) zimbra-mta: Enabled

5) zimbra-snmp: Enabled

6) zimbra-logger: Enabled

7) zimbra-spell: Enabled

8) zimbra-proxy: Enabled

9) Default Class of Service Configuration:

r) Start servers after configuration yes

s) Save config to file

x) Expand menu

q) Quit

Address unconfigured (aqui verán 2 asteriscos) items (? - help)

En la parte 3 se ve que la opcion no esta seteada, entonces tecleamos “3” y presionamos ENTER, para ingresar al siguiente submenu.

Store configuration

1) Status: Enabled

2) Create Admin User: yes

3) Admin user to create: admin@midominio.com

4) Admin Password UNSET

5) Enable automated spam training: yes

6) Spam training user: spam.ovlhtoqr@midominio.com

7) Non-spam(Ham) training user: ham.ujyjybke@midominio.com

8) Global Documents Account: wiki@midominio.com

9) SMTP host: correo.midominio.com

10) Web server HTTP port: 80

11) Web server HTTPS port: 443

12) Web server mode: http

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://correo.midominio.com:7780/aspell.php

Select, or 'r' for previous menu [r]

Se ve que la opcion 4 esta como unset(no seteado) tipeamos 4 y luego enter e ingresamos el password para el admin, luego otra ves presionas enter para regresar al menu principal.

Main menu

1) Common Configuration:

2) zimbra-ldap: Enabled

3) zimbra-store: Enabled

4) zimbra-mta: Enabled

5) zimbra-snmp: Enabled

6) zimbra-logger: Enabled

7) zimbra-spell: Enabled

8) zimbra-proxy: Enabled

9) Default Class of Service Configuration:

r) Start servers after configuration yes

s) Save config to file

x) Expand menu

q) Quit

CONFIGURATION COMPLETE - press 'a' to apply

Tal como dice tipeamos “a” para guardar los cambios.

Select from menu, or press 'a' to apply config (? - help) a

Save configuration data to a file? [Yes] —→ Guardamos la configuracion

Save config in file: [/opt/zimbra/config.6778] —→ por default

Saving config in /opt/zimbra/config.6778…done.

The system will be modified - continue? [No] Y —→ Y para modificarlo

Operations logged to /tmp/zmsetup.12222008-151821.log

PASO 10:

Una ves que hemos instalado zimbra vamos a detener el zimbra para entonces hacer los cambios que nos van a permitir poder estableces las restricciones de envío y recibo de correos internacionales.

# su zimbra

# zmcontrol stop

Ahora vamos a proceder a crear los siguientes archivos.

# touch /opt/zimbra/conf/postfix_check_recipient_access_envia_nac.cf
# touch /opt/zimbra/conf/postfix_check_sender_access_recibe_nac.cf
# touch /opt/zimbra/conf/postfix_sender_restrictions.cf
# touch /opt/zimbra/postfix/conf/d_recibo
# touch /opt/zimbra/postfix/conf/filtro
# touch /opt/zimbra/postfix/conf/restricted_senders

Después nos salimos del usuario zimbra.

# logout

PASO 11:

Ahora debemos de estar sobre root o usar sudo delante de los comandos para el que desee no estar completamente sobre root. Y vamos a modificar algunos archivos entre los cuales están los que creamos también y pondremos lo que allí se muestra en cada uno.

# nano /opt/zimbra/conf/postfix_check_recipient_access_envia_nac.cf
check_recipient_access regexp:/opt/zimbra/postfix/conf/filtro, reject
# nano /opt/zimbra/conf/postfix_check_sender_access_recibe_nac.cf
check_sender_access regexp:/opt/zimbra/postfix/conf/filtro, reject

# nano /opt/zimbra/conf/postfix_sender_restrictions.cf
check_recipient_access hash:/opt/zimbra/postfix/conf/d_recibo

En postfix_recipient_restrictions.cf ponemos la linea que les doy al INICIO.

# nano nano /opt/zimbra/conf/postfix_recipient_restrictions.cf
check_sender_access hash:/opt/zimbra/postfix/conf/restricted_senders

En zmmta.cf hacemos los mismo ponen estas lineas al INICIO.

# nano /opt/zimbra/conf/zmmta.cf

 POSTCONF           smtpd_recipient_restrictions FILE postfix_recipient_restrictions.cf
 POSTCONF           smtpd_sender_restrictions FILE postfix_sender_restrictions.cf
 POSTCONF           smtpd_restriction_classes      nac_in,nac_out
 POSTCONF           nac_out         FILE postfix_check_recipient_access_envia_nac.cf
 POSTCONF           nac_in          FILE postfix_check_sender_access_recibe_nac.cf

En “d_recibo” estarán los que tienen restricción de entrada de correos internacionales. Este archivo debe de tener todos los usuarios que se creen y todos lo viejos también pues de no estar, el buzón de correo tendría acceso a enviar y recibir correos internacionales, aquí les dejo un ejemplo de como sería definir cada correo con uno de muestra, los demás deben de quedar igual excepto por el nombre del buzón o nombre del dominio.

# nano /opt/zimbra/postfix/conf/d_recibo

admin@midominio.com              nac_in
carlos@midominio.com             nac_in
tomy@midominio.com               nac_in

Este archivo “filtro” es el filtro de los correos nacionales e internacionales.

# nano /opt/zimbra/postfix/conf/filtro

/\@*\.cu/                        relay
/^\@/                            reject 550 El formato de la direccion no es valido.
/[!%\@].*\@/                     reject 550 Este servidor desaprueba las sintaxis raras.
/\@*/                            reject Esta cuenta no esta autorizada a enviar o recibir correo
internacional.

En “restricted_senders” se aplica de forma similar a “d_recibo”, pero en este caso la restricción es para enviar correos internacionales. Todo lo demás se aplica de igual forma y lo editamos así

# nano /opt/zimbra/postfix/conf/restricted_senders

admin@midominio.com              nac_out
carlos@midominio.com             nac_out
tomy@midominio.com               nac_out

Ahora vamos a configurar el main.cf y modificar unas líneas y al final agregar otras líneas.

# nano /opt/zimbra/postfix/conf/main.cf

relayhost = smtp.ctc.cu:25
#Esta es para las copias de los correos a la cuenta
always_bcc= admin@midominio.cu
#--RESTRICCIONES DE USUARIOS NACIONALES--### ESTO VA AL FINAL ####
smtpd_sender_restrictions = check_recipient_access hash:/opt/zimbra/postfix/conf/d_recibo
smtpd_restriction_classes = nac_in, nac_out
nac_out = check_recipient_access regexp:/opt/zimbra/postfix/conf/filtro, reject
nac_in = check_sender_access regexp:/opt/zimbra/postfix/conf/filtro, reject

PASO 12:

Después que hemos modificado todos estos archivos entonces vamos a entrar de nuevo como usuario de zimbra para mapear d_recibo, filtro y restricted_senders (necesario cada ves que se agrege algun usuario nuevo)

# su zimbra

1ro

Vamos a mapear a filtro que solo va a ser necesario mapear de nuevo en caso de algun cambio, cosa no va a ser necesaria nuevamente.

# postmap /opt/zimbra/postfix/conf/filtro

2do

# postmap /opt/zimbra/postfix/conf/d_recibo

# postmap /opt/zimbra/postfix/conf/restricted_senders

Después salimos del usuario zimbra y estando en root vamos a aplicar todos estos comando que son para definir a que usuario y que permisos tienen los archivos que creamos y otros que modificamos.

# chown -R zimbra.zimbra /opt/zimbra/conf/postfix_check_recipient_access_envia_nac.cf
# chown -R zimbra.zimbra /opt/zimbra/conf/postfix_check_sender_access_recibe_nac.cf
# chown -R zimbra.zimbra /opt/zimbra/conf/postfix_sender_restrictions.cf
# chmod 444 /opt/zimbra/conf/postfix_check_recipient_access_envia_nac.cf
# chmod 444 /opt/zimbra/conf/postfix_check_sender_access_recibe_nac.cf
# chmod 444 /opt/zimbra/conf/postfix_sender_restrictions.cf
# chown -R root.zimbra /opt/zimbra/postfix/conf/d_recibo
# chown -R root.zimbra /opt/zimbra/postfix/conf/filtro
# chown -R root.zimbra /opt/zimbra/postfix/conf/restricted_senders
# chown -R root.zimbra /opt/zimbra/postfix/conf/main.cf
# chown -R root.zimbra /opt/zimbra/postfix/conf/main.cf.default
# chown -R root.zimbra /opt/zimbra/postfix/conf/master.cf
# chown -R root.zimbra /opt/zimbra/postfix/conf/master.cf.default
# chmod 644 /opt/zimbra/postfix/conf/d_recibo.db
# chmod 644 /opt/zimbra/postfix/conf/filtro.db
# chmod 644 /opt/zimbra/postfix/conf/restricted_senders.db
# chmod 644 /opt/zimbra/postfix/conf/d_recibo
# chmod 644 /opt/zimbra/postfix/conf/filtro
# chmod 644 /opt/zimbra/postfix/conf/restricted_senders
# chmod 644 /opt/zimbra/postfix/conf/main.cf
# chmod 644 /opt/zimbra/postfix/conf/main.cf.default
# chmod 644 /opt/zimbra/postfix/conf/master.cf
# chmod 644 /opt/zimbra/postfix/conf/master.cf.default

PASO 13:

Nuevamente entramos al usuario zimbra y reiniciamos ejecutando este comando y después de terminar de reiniciar o iniciar el zimbra ya debemos de tener la restricción de correos nacionales e internacionales.

Para iniciar el zimbra

# zmcontrol start

Para reiniciar el zimbra

# zmcontrol restart

PASO 14:

Ahora nos disponemos a configurar el fetchmail para que nos recoja el correo del POP externo (este paso es solamente si recibimos el correo de un agente externo) A continuación modificamos el fichero /etc/default

# nano /etc/default

# This file will be used to declare some vars for fetchmail
#
# Uncomment the following if you don't want localized log messages
# export LC_ALL=C
# If you want to specify any additional OPTION to the start
# scripts specify them here
# OPTIONS=...
# Declare here if we want to start fetchmail. 'yes' or 'no'
START_DAEMON=yes

Después nos disponemos a crear el fichero /etc/fetchmailrc así

# touch /etc/fetchmailrc

y a continuación lo modificamos así

# nano /etc/fetchmailrc y debería quedarnos así

set logfile "/var/log/fetchmail.log"
set daemon 60
poll 77.78.78.52
 no envelope
 envelope 1 Received
 envelope "X-Rcpt-To:"
 envelope "X-MDRcpt-To:"
 proto pop3 no dns localdomains midominio.com
 user miusuario there with pass mipassword to *
 here no keep
 flush

A continuación cambiamos el dueño y los permisos del fichero /etc/fetchmailrc así

# chown -R fetchmail /etc/fetchmailrc #esto cambia el dueño

# chmod 600 /etc/fetchmailrc

Después iniciamos el servicio del fetchmail y listo ya tenemos nuestro servidor de correo funcionando en Zimbra

# /etc/init.d/fetchmail start

                   NOTA:

Si desean instalar el parche del zimbra, les recomiendo hacerlo antes de comenzar a crear todas las politicas de envio y recibo de correos internacionales. Aqui les dejo como sería la aplicación de este parche Instalando el parche

Nota adicional:
   • Se debe de realizar una copia de seguridad completa antes de realizar el parche puesto que
      no hay un mecanismo de restauración automatizado. Por si hay algún error y desea regresar
      a su configuración anterior.
   • Los parches de los Zimlet pueden incluir la eliminación de Zimlets existentes y redesarrolo
      del Zimlet parcheado.
   • Sólo los archivos / Zimlets asociados con los paquetes instalados se instalarán desde el
      parche.
      

Ahora vamos a proceder a descargar el parche

1- Baje el parche

# wget http://files.zimbra.com/downloads/6.0.13_GA/zcs-patch-6.0.13_GA_2925.tgz

2- Ahora descompacte el fichero .tgz de la siguiente manera

# tar xzvf zcs_patch-<version>.tgz

3- Despues entre a directorio

# cd zcs-patch-<version>

4- Y por ultimo proceda a instalar el parche

# ./installPatch.sh

5- Verá algo similar a esto:

Current Version: 6.0.13_GA_2918

Found Patch for 6.0.13_GA called 6.0.13_P1
Deploying patch for 6.0.13_GA
Updating files for package zimbra-store
/opt/zimbra/jetty-6.1.22.z6/webapps/zimbra/js/Startup1_1_all.js.zgz... copied.
/opt/zimbra/jetty-6.1.22.z6/webapps/zimbra/js/Mail_all.js.zgz... copied.
/opt/zimbra/jetty-6.1.22.z6/webapps/zimbra/js/NewWindow_2_all.js.zgz... copied.
/opt/zimbra/jetty-6.1.22.z6/webapps/zimbra/js/NewWindow_1_all.js.zgz... copied.

6- Una vez instalado el parche subimos a el usuario zimbra y reiniciamos el zimbra.

# su zimbra

# zmcontrol restart

Bueno amigos espero que este manual les sea de mucha ayuda.