viernes, agosto 30, 2013

Curso de Zimbra - Capítulo II (Instalación de Zimbra)

Mis manuales actualizados de Zimbra (2017)
https://cloudperu.pe/manuales/listado

Si Ud. desea llevar un curso de Zimbra; puede ver mi Curso en Aula Útil https://aulautil.com/curso/online/zimbra. Clases con Videoconferencia y asistencia en tiempo real con Anydesk. Incluye Gratis 2 Servidores VPS Cloud (Firewall UTM+Zimbra) + 1 IP pública y dominio real por alumno.

Instalación de Zimbra

Modificar el sudoers
$> vim /etc/sudoers

Comentar esta linea (aprox línea 55)
#Defaults    requiretty

ESC:wq!

instalar dependencias
$> yum install libstdc++.i686 libstdc++ nc sysstat file

Deshabilitar postfix
$> service postfix stop
$> chkconfig postfix off

Descomprimir el instalador de zimbra
$> su -
$> cd /root/Descargas

NetWork Edition
--------------------
$> tar -zxvf zcs-NETWORK-8.0.4_GA_XXXX.RHEL6_64.YYYYYYYYYYYYY.tgz
$> cd zcs-NETWORK-8.0.4_GA_XXXX.RHEL6_64.YYYYYYYYYYYYYYYYY

OpenSource Edition
------------------------------
$> tar -zxvf  zcs-8.0.4_GA_XXXX.RHEL6_64.YYYYYYYYYYYYYYYYYY.tgz
$> cd zcs-8.0.4_GA_XXXX.RHEL6_64.YYYYYYYYYYYYYYYY

Instalar zimbra
$> ./install.sh                     (RHEL)
$> ./install.sh --platform-override (CentOS)


Do you agree with the terms of the software license agreement? [N]Y    Enter

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-convertd [Y] Y    

Install zimbra-memcached [N] Enter     (Y si es instalacion multinodo)

Install zimbra-proxy [N] Enter         (Y si es instalacion multinodo)

Install zimbra-archiving [N] Y     (Network Edition)

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


Change domain name? [Yes] Yes
Create domain: [mail.dominio.com] dominio.com


--------------------------- Opciones del Menu 1 -------------------------
Address unconfigured (**) items  (? - help) 1

Select, or 'r' for previous menu [r] 4
Password for ldap admin user (min 6 characters): [TVwckVm4Y] passadmin
Select, or 'r' for previous menu [r] 6
Enter the number for the local timezone: [23] 11

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



-------------------------- Opciones del Menu 2 --------------------------
Address unconfigured (**) items  (? - help) 2

elect, or 'r' for previous menu [r] 4

Password for ldap root user (min 6 characters): [TVwckVm4Y] passadmin

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

Password for ldap replication user (min 6 characters): [TVwckVm4Y] passadmin

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

Password for ldap Postfix user (min 6 characters): [TVwckVm4Y] passadmin

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

Password for ldap Amavis user (min 6 characters): [TVwckVm4Y] passadmin

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

Password for ldap Nginx user (min 6 characters): [TVwckVm4Y] passadmin

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

Password for ldap BES user (min 6 characters): [TVwckVm4Y] passadmin

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

--------------------------- Opciones del menu 3 ------------------------

Address unconfigured (**) items  (? - help) 3

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

Password for admin@dominio1.com (min 6 characters): [gpLZfFUr] passadmin

Select, or 'r' for previous menu [r] 23   (Network Edition)

Enter the name of the file that contains the license: /root/Descargas/ZCSLicense.xml  (Network Edition)

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


---------------------------- Finalizamos la instalacion -----------------------
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes] Yes
Save config in file: [/opt/zimbra/config.14717]   Enter
Saving config in /opt/zimbra/config.14717...done.
The system will be modified - continue? [No] Yes



---------------------------- REINSTALAR Si la instalacion fallo --------------------------

$> su -

Network Edition
$> cd /root/Descargas/zcs-NETWORK-8.0.4_GA_XXXX.RHEL6_64.YYYYYYYYYYYYY

OpenSource Edition
$> cd /root/Descargas/zcs-8.0.4_GA_XXXX.RHEL6_64.YYYYYYYYYYYY


Desinstalar Zimbra
$> ./install.sh -u
$> rm -fR /opt/zimbra
$> ./install.sh
-----------------------------------------------------------------------------------------


Acceder al zimbra instalado con el navegador
------------------------------------------

PANEL DE ADMINISTRACION
https://mail.dominio.com:7071

usuario: admin
clave:   passadmin

WEBMAIL
http://mail.dominio.com

usuario: admin
clave:   passadmin

**** Nota, si sale error de certificados
regenerar las keys del ssh
$> /opt/zimbra/libexec/zmfixperms

como usuario zimbra
$> su - zimbra
$> zmsshkeygen
$> zmupdateauthkeys

Curso de Zimbra - Capítulo I (Requerimientos previos)

Mis manuales actualizados de Zimbra (2017)
https://cloudperu.pe/manuales/listado

Si Ud. desea llevar un curso de Zimbra; puede ver mi Curso en Aula Útil https://aulautil.com/curso/online/zimbra. Clases con Videoconferencia y asistencia en tiempo real con Anydesk. Incluye Gratis 2 Servidores VPS Cloud (Firewall UTM+Zimbra) + 1 IP pública y dominio real por alumno.

Para instalar Zimbra requerimos previamente tener instalado un Sistema Operativo soportado; para efectos de este curso asumimos que tenemos instalado CentOS 6 de 64 bits o RHEL 6 de 64 bits
Para esta guía configuraremos los siguientes parámetros
dominio: dominio.com 
host de correo: mail.dominio.com
ip del servidor: 192.168.10.2
mascara del servidor: 255.255.255.0
puerta de enlace: 192.168.10.1

Requerimientos previos a la la instalación

Para instalar Zimbra es necesario configurar de forma correcta el hostname y el DNS Server, así como la zona horaria y la hora del servidor

1.- Configuración de la zona horaria
-------------------------------------------
Nos logueamos como root y ejecutamos 
$> tzselect 
2                  Americas
37                 Peru
1                  Yes 
2.- Configuración de la hora del servidor de forma manual
----------------------------------------------------------
Verificamos la hora del sistema
$> date
mié sep 19 21:34:30 PET 2012    ---> PET zona horaria
Configuración local
$> hwclock --set --date="20120314 21:56"; date --set="20120314 21:56"
3.- Configución de la hora del servidor con un cliente NTP
-----------------------------------------------------------
Configuración de cliente
$> vim /etc/sysconfig/network
$> yum -y install ntpdate
$> ntpdate  0.br.pool.ntp.org
$> chkconfig ntpdate on
4.- Configuración del Hostname 
-----------------------------------
$> vim /etc/sysconfig/network
.
.
HOSTNAME=mail.dominio.com (modificar este valor lo demás no tocarlo)

Refrescar el nombre de host y volver a abrir un terminal
$> hostname mail.dominio.com
$> exit
$> exit
Abrir un nuevo terminal y comprobar el nuevo nombre del hostname
$> hostname
Configurar el IP del host ( ej: 192.168.10.179 )
-------------------------
$> vim /etc/hosts
127.0.0.1    localhost.localdomain  localhost
192.168.10.2 mail.dominio.com  mail
Registros de DNS
------------------------------------------------------------------------
A   Zona de dominio (ej: mail.dominio.com)
NS   Name Server (Servidores DNS del dominio)
SOA  Servidor DNS principal (Server of Authorization)
MX   Servidores de correo (Mail Exchange)
TXT  Información adicional del dominio (ej: SFP para hotmail)
CNAME  Alias de una zona de dominio (ej:  web --> www.dominio.com)  
PTR  Resolución inversa

Comprobac ión de registros DNS con dig 
------------------------------------------------------------------------
Instalar dig
$> yum -y install bind-utils

Dig tiene las siguientes Secciones

QUESTION SECTION      consulta que se está realizando
ANSWER SECTION    respuesta (si la hubiera de la consulta)
AUTHORITY SECTION   detalle de los servidores de autorización (SOA)
ADDITIONAL SECTION   información adicional de zonas y otros

Ejercicios:
Verificar la zona de dominio www.sunat.gob.pe
$> dig www.sunat.gob.pe
;; QUESTION SECTION:
;www.sunat.gob.pe.  IN A

;; ANSWER SECTION:
www.sunat.gob.pe. 6 IN A 200.37.173.230    -------> (IP asociado a la zona de dominio)

;; AUTHORITY SECTION:
pe.   107607 IN NS pe1.dnsnode.net.  -------> (Servidores DNS)
pe.   107607 IN NS quipu.rcp.net.pe.
pe.   107607 IN NS sns-pb.isc.org.

;; ADDITIONAL SECTION:
pe1.dnsnode.net. 5637 IN A 194.146.106.82
pe1.dnsnode.net. 5637 IN AAAA 2001:67c:1010:20::53
quipu.rcp.net.pe. 753 IN A 200.1.176.4


Verificar los DNS Server de sunat.gob.pe
$> dig NS sunat.gob.pe
;; QUESTION SECTION:
;sunat.gob.pe.   IN NS

;; ANSWER SECTION:
sunat.gob.pe.  179 IN NS ns1.impsat.net.pe.
sunat.gob.pe.  179 IN NS ns2.impsat.net.pe.

Verificar los servidores de correo de sunat.gob.pe
$> dig MX sunat.gob.pe
;; QUESTION SECTION:
;sunat.gob.pe.   IN MX

;; ANSWER SECTION:
sunat.gob.pe.  900 IN MX 20 ns1.sunat.gob.pe.    ---> Servidores de correo de Sunat
sunat.gob.pe.  900 IN MX 10 ns.sunat.gob.pe.     

;; AUTHORITY SECTION:
sunat.gob.pe.  96 IN NS ns1.impsat.net.pe.
sunat.gob.pe.  96 IN NS ns2.impsat.net.pe.

;; ADDITIONAL SECTION:
ns1.impsat.net.pe. 66998 IN A 200.41.96.24
ns2.impsat.net.pe. 68956 IN A 201.234.59.134


Configuración de los Registros MX 
-------------------------------------------------
Balanceo de Carga 
sunat.gob.pe.     900   IN MX 10 ns.sunat.gob.pe.
sunat.gob.pe.     900   IN MX 10 ns1.sunat.gob.pe.

Alta Disponibilidad
sunat.gob.pe.     900   IN MX 10 ns.sunat.gob.pe.
sunat. gob.pe.     900   IN MX 20 ns1.sunat.gob.pe.
---------------------------------------------------

Verificar los servidores el PTR de uno de los ips de correo de sunat.gob.pe
$> dig MX sunat.gob.pe
sunat.gob.pe.  900 IN MX 10 ns.sunat.gob.pe.     

$> dig ns.sunat.gob.pe
ns.sunat.gob.pe. 900 IN A 64.76.79.131

$> dig -x 64.76.79.131
Verificar si hay registro SPF en el dominio sunat.gob.pe
$> dig TXT sunat.gob.pe
;; QUESTION SECTION:
;sunat.gob.pe.   IN TXT

;; AUTHORITY SECTION:
sunat.gob.pe.  731 IN SOA ns1.impsat.net.pe. hostmaster.impsat.net.ar. 2011010344 10800 3600 604800 86400


Vemos que no hay registro SPF

Verificar TODOS los registros de DNS del dominio sunat.gob.pe
$> dig ANY sunat.gob.pe
;; QUESTION SECTION:
;sunat.gob.pe.   IN ANY

;; ANSWER SECTION:
sunat.gob.pe.  449 IN MX 10 ns.sunat.gob.pe.
sunat.gob.pe.  449 IN MX 20 ns1.sunat.gob.pe.

;; AUTHORITY SECTION:
pe.   106956 IN NS quipu.rcp.net.pe.
pe.   106956 IN NS sns-pb.isc.org.
pe.   106956 IN NS pe1.dnsnode.net.

;; ADDITIONAL SECTION:
ns.sunat.gob.pe. 760 IN A 64.76.79.131
pe1.dnsnode.net. 4986 IN A 194.146.106.82
pe1.dnsnode.net. 4986 IN AAAA 2001:67c:1010:20::53
quipu.rcp.net.pe. 102 IN A 200.1.176.4


Verificar si hay zona de dominio configurado para el dominio raiz
sunat.gob.pe

$> dig sunat.gob.pe
 
;; QUESTION SECTION:
;sunat.gob.pe.   IN A

;; AUTHORITY SECTION:
sunat.gob.pe.  900 IN SOA ns1.impsat.net.pe. hostmaster.impsat.net.ar. 2011010344 10800 3600 604800 86400

Vemos que no está configurado el dominio raíz como zona A 


Configuración del Servidor DNS en modo enjaulado (chroot)
--------------------------------------------------------------------
Instalación del Servidor DNS
$> yum -y install bind bind-chroot bind-utils
Para configurar el DNS interno seguimos los siguientes procedimientos
Para esto tenemos que:
- Copiar los archivos de dns al entorno chroot
- Generar la firma digital
- Copiar la firma digital al entorno chroot
- Configurar los parámetros de DNS y el dominio en el archivo principal de configuración de bind
/var/named/chroot/etc/named.conf
- Configurar los registros de dns en el archivo
/var/named/chroot/var/named/dominio.com.zone
- Configurar la resolución inversa en el archivo
/var/named/chroot/var/named/10.168.192.in-addr.arpa.zone
- Reiniciar el servidor DNS
- Configurar el dns cliente el archivo
/etc/resolv.conf apuntado a nuestra propia ip
- Hacer consultas de nuestro dominio con dig

Copiar los archivos del DNS al entorno chroot
$> cd /var/named
$> for f in named.* data dynamic slaves; do mv $f chroot/var/named/; ln -s /var/named/chroot/var/named/$f /var/named/; done
Generar la firma digital
$> rndc-confgen -a -c /etc/rndc.key
$> chown named:named /etc/rndc.key
Copiar la firma digital al entorno chroot
$> cd /etc
$> for f in named.* rndc.key; do mv $f /var/named/chroot/etc/; ln -s /var/named/chroot/etc/$f /etc/; done
Nota
----------------------------------------------------------------------------
Si se falla en algùn procedimiento en la instalación desinstalar y volver a 
instalar

$> yum erase bind bind-chroot bind-utils
$> rm -fR /var/named
$> rm -fR /etc/named*
$> rm -f /etc/rndc.key
$> yum -y install bind bind-chroot bind-utils
Configurar los parámetros de DNS y el dominio en el archivo principal de configuración de bind
/var/named/chroot/etc/named.conf
$> vim /var/named/chroot/etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
// Ips en la que el demonio named escuchará las peticiones
        listen-on port 53 { 127.0.0.1; 192.168.10.2;};
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
// este parametro permite establecer quienes pueden usar el servidor DNS
        allow-query     { localhost; 192.168.10.0/24; };
// este parametro permite reenviar las consultar hacia el servidor DNS publico;
// para aquellos dominios que no se resuelven en este servidor 
        forwarders   { 8.8.8.8; 4.4.8.8; };
        forward first;
        recursion yes;

        dnssec-enable no;
        dnssec-validation no;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

// Zona raiz por defecto
zone "." IN {
        type hint;
        file "named.ca";
};


// Zona para nuestro dominio
zone "dominio.com" { 
 type master; 
 file "dominio.com.zone";
 allow-update { none; };
};

// Zona de resolucion inversa
zone "10.168.192.in-addr.arpa" { 
 type master; 
 file "10.168.192.in-addr.arpa.zone";
 allow-update { none; };
};


include "/etc/named.rfc1912.zones";

Creando los archivo zone por los dominios configurados
$> cd /var/named/chroot/var/named
$> vim  dominio.com.zone
$TTL    86400
@                  IN SOA  @ root (
                                         42              ; serial (d. adams)
                                         3H              ; refresh
                                         15M             ; retry
                                         1W              ; expiry
                                         1D )            ; minimum
                     IN    NS             @
www                                     IN      A                       192.168.10.2
mail                                    IN      A                       192.168.10.2
web                                     IN      CNAME                   www
dominio.com.                       IN      A                       192.168.10.2
dominio.com.                       IN      MX              10      mail.dominio.com.
$> vim 10.168.192.in-addr.arpa.zone
 
$TTL 86400
@          IN   SOA      @  root (
         2006031601 ; número de serie
         28800 ; tiempo de refresco
         7200 ; tiempo entre reintentos de consulta
         604800 ; tiempo tras el cual expira la zona
         86400 ; tiempo total de vida
         )
@      IN       NS     mail.dominio.com.
2    IN     PTR     mail.dominio.com.
Reiniciar los servicios
$> service named restart
$> chkconfig named on
Nota si sale errores de permisos o selinux
------------------------------------------------
$> chgrp -R named /var/named/chroot/var/named
$> restorecon -FRvv /var/named/chroot/var/named
Consideraciones de iptables
echo "permitiendo acceso al servidor DNS Server (protocolo udp, puerto 53) desde la LAN"
iptables -A INPUT -p udp --dport 53 -s 192.168.10.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -d 192.168.10.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
Verificar los logs
$> tail -f /var/log/messages
Configuración del Cliente DNS
---------------------------------------------------------------
$> vim /etc/resolv.conf
search dominio.com              (Sirve para la búsqueda corta de hosts)
nameserver 192.168.10.2


$> dig dominio.com
$> dig MX dominio.com
$> dig www.google.com
Modificar los valores de DNS en la tarjeta de red
$> vim /etc/sysconfig/network-scripts/ifcfg-eth0
.
.
.
DOMAIN=dominio.com
DNS1=192.168.10.2

$> service network restart
$> cat /etc/resolv.conf
$> dig MX dominio.com
$> dig www.google.com