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
- Instalación y Configuración de Zpush en CentOS 7
- Instalar Apache y PHP 5.6 en CentOS 7
- Instalar Zpush en CentOS 7
- Configurar Zpush
- Configurar Apache para Zpush
- Reconfigurar Apache para que no haga conflictos de puerto
- Dar permisos de contextos y booleanos para Apache en Selinux
- Reiniciar apache y habilitar arranque automático
- Configurar Apache para Zpush
- Inyectar en el proxy de zimbra el alias /Microsoft-Server-ActiveSync
- Probar la autenticación ActiveSync de un usuario
- Crear una cuenta de correo en Android y Probar
- Personalizar los logos del Webmail en Zimbra Open Source
- Definir una firma global para todas las cuentas por dominio
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í