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-.tgz 3- Despues entre a directorio # cd zcs-patch- 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.**