loader

Manual de Zimbra parte V: Instalación de ActiveSync para Zimbra con Z-push, personalizar los Logos y disclaimer global

Parte 5 del manual de Zimbra; del curso de Zimbra que se dicta en Aula Útil
En el capítulo anterior vimos como migrar servidores de correo hacia Zimbra y como hacer uso de varios comandos en consola.
En este capítulo instalaremos Zpush, programa que nos brinda la posibilidad de usar ActiveSync con Zimbra Open Source.
ActiveSync es un protocolo que permite sincronizar correos, calendarios, contactos y tareas
con Zimbra, smartphones (android, iphone), tablets y Outlook 2013 y 2016.

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.


Tabla de contenidos

 

1.- Instalación y Configuración de Zpush en CentOS 7

 

1.1.- Instalar Apache y PHP 5.6 en CentOS 7

1.1.1.- Instalacion de PHP 5.6 con Webtatic (php 5.6)

Primero instalamos epel

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Luego instalamos Webtatic

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Ahora instalamos Apache y PHP 5.6

yum -y install httpd 
yum -y install php56w php-cli56w php56w-mysql php56w-gd php56w-mcrypt php56w-xml php56w-soap php56w-mbstring php56w-process

1.2.- Instalar Zpush en CentOS 7

Descargando y descomprimiendo Zpush

cd /var/www
wget http://download.z-push.org/final/2.3/z-push-2.3.6.tar.gz
tar -zxvf z-push-2.3.6.tar.gz 
mv z-push-2.3.6 z-push

Descargando el plugin de Zimbra para z-push

yum -y install subversion
svn checkout svn://svn.code.sf.net/p/zimbrabackend/code/zimbra-backend/branches/z-push-2 /var/www/z-push/backend/zimbra

 

1.3.- Configurar Zpush

Configurar Zpush

vim /var/www/z-push/config.php
// Actualizar los siguientes valores del archivo de configuración
30:  define('TIMEZONE', 'America/Lima');
53:  define('USE_FULLEMAIL_FOR_LOGIN', true);
135: define('PROVISIONING', false);
269: define('BACKEND_PROVIDER', 'BackendZimbra');

Configurar el plugin de Zimbra para Zpush

vim /var/www/z-push/backend/zimbra/config.php 
29:     define('ZIMBRA_URL', 'https://mail.cloudperu.pe');
70:     define('ZIMBRA_USER_DIR', 'zimbra');
115:    define('ZIMBRA_IGNORE_EMAILED_CONTACTS',true);

Crear carpeta de Logs para z-push

mkdir /var/log/z-push
chmod 777 /var/log/z-push/

Creamos la carpeta donde se guardan los datos de z-push

mkdir /var/lib/z-push
chmod 777 -R /var/lib/z-push

 

1.4.- Configurar Apache para Zpush

Vamos a crear un VirtualHost en Apache para Zpush en el puerto 9443 para que no haga conflicto con el proxy de Zimbra; usamos los certificados digitales de Zimbra para asegurar el https

vim /etc/httpd/conf.d/mail.conf
<VirtualHost *:9443>
        ServerAdmin tuxito@aulautil.com
        ServerAlias mail.*
        DirectoryIndex index.php
        DocumentRoot /var/www/z-push/
        Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php
        SSLEngine On
        SSLCertificateFile /opt/zimbra/ssl/zimbra/commercial/commercial.crt 
        SSLCertificateKeyFile /opt/zimbra/ssl/zimbra/commercial/commercial.key 
        SSLCertificateChainFile /opt/zimbra/ssl/zimbra/commercial/commercial.crt

        <Directory />
                AllowOverride All
        </Directory>
        php_flag magic_quotes_gpc off
        php_flag register_globals off
        php_flag magic_quotes_runtime off
        php_flag short_open_tag on
        # Logfiles
        ErrorLog /var/log/httpd/error.log
        CustomLog /var/log/httpd/access.log combined
</VirtualHost>

 

1.5.- Reconfigurar Apache para que no haga conflictos de puerto con el Proxy de Zimbra

El proxy de Zimbra ocupa los puertos 127.0.0.1:80 y 0.0.0.0:443, cambiaremos los puertos en Apache para que escuche el puerto 80 sólo en la Ip interna (192.168.3.201)

Cambiar puerto http de apache

vim /etc/httpd/conf/httpd.conf
42: Listen 192.168.3.201:80

Instalar mod_ssl para Apache para soporte de https

yum -y install mod_ssl

Editar archivo ssl.conf paracambiar el puerto a 9443 y borrar desde la línea 56 hasta el final

vim /etc/httpd/conf.d/ssl.conf
5:  Listen 9443 https
56: <VirtualHost .....   (borrar hasta el final)

 

1.6.- Dar permisos de contextos y booleanos para Apache en Selinux

En ningún momento hemos deshabilitado Selinux; si encuentran cursos o manuales que sugieran
hacerlo, ¡Huyan de ellos!

Habilitar booleano en Selinux para que Apache pueda conectarse por red

setsebool -P httpd_can_network_connect on

Habilitar el uso del puerto 9443 a Apache en Selinux

yum -y install policycoreutils-python
semanage port -a -t http_port_t -p tcp 9443

Dar permisos de contexto de SELINUX a las carpetas de z-push

chcon -R -t httpd_sys_rw_content_t /var/lib/z-push
chcon -R -t httpd_sys_rw_content_t /var/log/z-push

 

1.7.- Reiniciar apache y habilitar arranque automático

systemctl restart httpd 
systemctl enable httpd

 

1.8.- Inyectar en el proxy de zimbra el alias /Microsoft-Server-ActiveSync

ActiveSync usa el Alias /Microsoft-Server-ActiveSync; por ello tenemos que hacer que el proxy de zimbra proxee esa conexión hacia Apache

vim /opt/zimbra/conf/nginx/templates/nginx.conf.web.https.default.template
170:   set $mailhostport 9443;
180:   proxy_pass   https://mail.cloudperu.pe:9443;

Reiniciamos el proxy de zimbra

su - zimbra -c "zmproxyctl restart"

 

1.9.- Probar la autenticación ActiveSync de un usuario

https://mail.cloudperu.pe/Microsoft-Server-ActiveSync
usuario: tuxito@cloudperu.pe
pass: Tuxito1.

 

1.10.- Crear una cuenta de correo en Android y Probar

usuario: tuxito@cloudperu.pe
pass: Tuxito1.

Touch en Configuración Manual

Tipo de Cuenta: Exchange/Active Sync
usuario: tuxito@cloudperu.pe
pass: Tuxito1.
Servidor: mail.cloudperu.pe
Seguridad: SSL (Aceptar todos los certificados)
Puerto: 443

Siguiente

Periodo de sincronización: Todo

Probar la sincronización enviando y recibiendo correos, creando una cita de calendario desde el webmail y verificando esa cita en el smartphone.

Nota
Los clientes de Zimbra se verán en forma detallada en el siguiente capítulo

 

2.- Personalizar los logos del Webmail en Zimbra Open Source

La licencia de Zimbra Open Source no permite quitar los logos de zimbra.
Sin embargo si es legal poner un logo institucional y mantener los logos de Zimbra (Rebranding).

 

2.1.- Logo del formulario de login

Ruta virtual original del logo de Zimbra
https://mail.dominio.com/skins/_base/logos/LoginBanner_white.png

Crear una nueva Imagen con las siguientes propiedades:
Nombre: LoginBannerCloudPeru.png
Tipo: PNG transparente de 440×60 pixeles, no olvidar mantener el logo de zimbra

Subir esta imagen a una ruta Web ej:
https://cloudperu.pe/logos/LoginBannerCloudPeru.png

Establecer el nuevo logo del Login

su - zimbra
zmprov md cloudperu.pe zimbraSkinLogoURL https://cloudperu.pe
zmprov md cloudperu.pe zimbraSkinLogoLoginBanner https://cloudperu.pe/logos/LoginBannerCloudPeru.png
zmmailboxdctl restart

Verificar el logo del Login del webmail accediendo desde el navegador a
https://mail.cloudperu.pe

2.2.- Logo del Webmail

Ruta virtual original del logo de Zimbra
https://mail.dominio.com/skins/_base/logos/AppBanner_white.png

Crear una nueva Imagen con las siguientes propiedades:
Nombre: AppBannerCloudPeru.png
Tipo: PNG transparente de 200×35 pixeles, no olvidar mantener el logo de zimbra

Subir esta imagen a una ruta Web ej:
https://cloudperu.pe/logos/AppBannerCloudPeru.png

Establecer el nuevo logo del Webmail

su - zimbra
zmprov md cloudperu.pe zimbraSkinLogoURL https://cloudperu.pe
zmprov md zimbra.io zimbraSkinLogoAppBanner https://cloudperu.pe/logos/AppBannerCloudperu.png
zmmailboxdctl restart

Verificar el logo del webmail, logueandose y accediendo desde el navegador a
https://mail.cloudperu.pe

3.- Definir una firma global para todas las cuentas por dominio (Disclaimer global)

En algunas empresas o Instituciones, requieren que se ponga un disclairmer global en todos
los correos que se envían desde el Zimbra.

Habilitar firma global por dominios

su - zimbra
zmprov mcf zimbraDomainMandatoryMailSignatureEnabled TRUE

Definir firma global en formato texto para el dominio cloudperu.pe

zmprov md cloudperu.pe zimbraAmavisDomainDisclaimerText  "Cuidado; estos correos son confidenciales, y pertenecen a Cloud Perú, no haga mal uso de ellos"

Definir firma global en formato html para el dominio cloudperu.pe

zmprov md cloudperu.pe zimbraAmavisDomainDisclaimerHTML "<html><body><h3>Cuidado;</h3> estos correos son confidenciales, y pertenecen a <b>Cloud Perú</b> no haga mal uso de ellos</body></html>"

Verificar las firmas globales

zmprov gd cloudperu.pe zimbraAmavisDomainDisclaimerText zimbraAmavisDomainDisclaimerHTML

Activar las firmas globales del dominio

./libexec/zmaltermimeconfig -e cloudperu.pe

Realizar pruebas de envío y recepción

Nota
Este procedimiento es efectivo siempre que se mantenga Amavis como filtro de contenido.
Si instalamos MailScanner tenemos que configurar el disclaimer ahí