miércoles, 23 de marzo de 2011

Zimbra y Apache2

Este es un pequeño manualillo para correr zimbra en host compartido.

Cuando zimbra se instala como servidor correo corre a través de Tomcat y se puede configurar el puerto en el que va a correr. Si elegimos el purto 80 no hay problema mientras no exista Apache, pues entonces entrarían en conflicto.

Para lograr correr Apache y Zimbra, Zimbra tiene que cambiar el puerto en el que corre, por ejemplo 8080 u 81, lo que hace que para acceder a este servicio se tenga que escribir el puerto en la misma dirección.

http://example.org:81 o
http://example.org:8080

Esto es algo que algunos navegadores de internet ya no aceptan, además no le podemos pedir al usuario que escriba una dirección de este estilo.

Para esta situación opté por usar la función proxy de Apache.

Durante la configuración de zimbra pregunta que puerto va a suar, en este caso yo le cambié el puerto al 81.

Si Zimbra ya esta configurado en el puerto 80 se puede usar el comando

zmprov ms mail.example.org zimbraMailPort 81
/etc/init.d/zimbra restart


y con esto se debe poder acceder al correo via mail.example.org:81

Para enmascarar esto configuramos apache para trabjar con mod_proxy:

En ubuntu:

sudo apt-get install libapache2-mod-proxy-html

Y modificar la regla de acceso en el archivo:

/etc/apache2/mods-enabeled/proxy.conf

Habilitar el módulo:

sudo a2enmod proxy

Verificar que exista el acceso directo de mods-enabeled a mods-availabe para los archivos

ls -l /etc/apache2/mods-enabeled/

lrwxrwxrwx 1 root root 28 2011-03-22 17:16 proxy.conf -> ../mods-available/proxy.conf
lrwxrwxrwx 1 root root 33 2011-03-22 17:15 proxy_html.conf -> ../mods-available/proxy_html.conf
lrwxrwxrwx 1 root root 33 2011-03-22 17:15 proxy_html.load -> ../mods-available/proxy_html.load
lrwxrwxrwx 1 root root 33 2011-03-23 10:37 proxy_http.load -> ../mods-available/proxy_http.load
lrwxrwxrwx 1 root root 28 2011-03-22 17:16 proxy.load -> ../mods-available/proxy.load

Se edita el archivo /etc/apache2/sites-available/default y al final se le agrega:

<VirtualHost *:80>
ServerName mail.*
ServerAdmin administrador@example.org
ProxyPass / http://example.org:81/
ProxyPassReverse / http://example.org:81/
ErrorLog /var/log/apache2/zimbra-error.log
CustomLog /var/log/apache2/zimbra-access.log common
<VirtualHost>


Se reinicia el servicio y listo.

sudo /etc/init.d/apache2 restart

Con esto se accede directamente desde cualquier dominio o subdominio directamente, en este caso mail.example.org al correo electrónico de zimbra.

Mayores referencias:

http://wiki.zimbra.com/index.php?title=ZimbraApache
http://wiki.zimbra.com/index.php?title=Provide_HTTP%28s%29_Integration_with_Apache
http://www.livingubuntu.com/77
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

domingo, 6 de marzo de 2011

Android rules

Tiene realmente mucho tiempo que no me divertía con algo.

x10 mini y android 2.1