Tras revisar la oferta existente en servidores de Goupware, pude desechar alguno porque, sencillamente, dejo de recibir mantenimiento, y algún otro, porque la orientación que podía leer en su presentación, no acababa de encajar con mi idea, por ultimo quedaron unos pocos, en este articulo, instalamos el primero de ellos para conocerlo un poco mas: OpenXchange
Lo primero que hacemos es clonar una maquina virtual Centos que tengo preparada, y que será sobre la que realizare la instalación. En mi equipo tengo instalado VirtualBox, y tenia una maquina Centos configurada para escritorio,
Se selecciona, y con el botón derecho de ratón se obtiene el menú contextual, la segunda opción es «Clonar
Le podemos indicar el nombre que deseamos tenga la nueva maquina, y si puede que activemos la original y la clonada a la vez, no esta demás que solicitemos reinicialice las direcciones MAC
Le indicaremos si queremos la clonación completa, cosa que aceptaremos ya que queremos poder mover nuestra nueva maquina con total libertad.
Cuando pulsemos el botón de clonar, se iniciara la copia del disco, y cuando termina, dispondremos de una nueva maquina virtual exactamente igual a la maquina virtual original; sobre esta nueva maquina, continuaremos la instalación de OpenXchange.
Lo primero de todo , nos aseguramos que el sistema esta actualizado
# yum update
Y a continuación, instalamos apache y vim, por si no lo estuvieran, con
# yum install httpd vim
El siguiente paso es añadir los repositorios de OpenXchange, y para eso creamos el fichero
# vim /etc/yum.repos.d/ox.repo
y lo llenamos con
[ox-appsuiteui] name=Open-Xchange-appsuiteui baseurl=http://software.open-xchange.com/products/appsuite/stable/appsuiteui/RHEL6/ gpgkey=http://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m [ox-backend] name=Open-Xchange-backend baseurl=http://software.open-xchange.com/products/appsuite/stable/backend/RHEL6/ gpgkey=http://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
y ya podemos actualizar los repositorios nuevamente con
# yum update
Para iniciar la instalación, podemos escribir:
# yum install mysql-server open-xchange open-xchange-authentication-database open-xchange-grizzly open-xchange-admin open-xchange-appsuite open-xchange-appsuite-backend open-xchange-appsuite-manifest
Una vez finalizada la instalación, podemos empezar con la configuración:
Primero aseguramos MySql con
[root@openXchange ~]# /usr/bin/mysql_secure_installation
[root@openXchange ~]# /etc/init.d/mysqld start
Podemos añadir la ruta en donde se encuentra OpenXchange a nuestro PATH con:
[root@openXchange ~]# echo PATH=$PATH:/opt/open-xchange/sbin/ >> ~/.bashrc && . ~/.bashrc
Para inicializar la configuración, hacemos:
[root@openXchange ~]# /opt/open-xchange/sbin/initconfigdb --configdb-pass=****** -a
Si habéis hecho varias pruebas, para borrar la configuración, debéis añadir el parámetro -i.
Aunque, para que a mi me funcionara, debí modificar el fichero:
/opt/open-xchange/sbin/initconfigdb
con
Para instalar open-Xchange, hacemos
[root@openXchange ~]# oxinstaller --no-license --servername=openxchange --configdb-pass=****** --master-pass=********** --network-listener-host=openxchange --servermemory 512
Cuando termine, debemos configurar nuestra conexión con el servidor de correo electrónico. Los parámetros se encuentran en:
/opt/open-xchange/etc/mail.properties
y va a ser unos momentos tediosos. Os señalo algunas modificaciones…perodebereis leer todo el fichero para adaptarlo a vuestra situación, ya que especifica cómo se ha de conectar OpenXcange a vuestro servidor de correos.
Solo voy a utilizar un servidor de correo, por lo que lo declaro global, y en la siguiente pantalla, indico su dirección
podemos salvar el fichero, y arrancar nuestro nuevo servidor:
# registerserver -n openxchange -A oxadminmaster -P ******
siendo :
- -n openxchange el nombre de la maquina sobre la que estamos instalando
- -A oxadminmaster En nombre del administrador
- -P admin_master_password La contraseña de administracion
Nuestro siguiente paso, es crear el directorio donde openxchange va a guardar documentos y adjuntos, y darle permiso al usuario del sistema.
# mkdir /var/opt/filestore # chown open-xchange:open-xchange /var/opt/filestore
y registramos el directorio con:
# registerfilestore -A oxadminmaster -P ****** -t file:/var/opt/filestore -s 1000000
En el parámetro -s especificamos el tamaño máximo del fichero que deseamos guardar, y lo adaptaremos a nuestras necesidades.
Y por ultimo, registramos la base de datos con:
registerdatabase -A oxadminmaster -P ****** -n oxdatabase -p ****** -m true
Con esto, finalizamos lo que es instalación, ahora deberemos configurar los servicios, para ello, borramos el fichero que se nos creo cuando instalamos Apache:
rm /etc/httpd/conf.d/welcome.conf
y configuramos el módulo mod_proxy_http, para lo que creamos el archivo:
# vim /etc/httpd/conf.d/proxy_http.conf
Con la siguiente información
LoadModule proxy_http_module modules/mod_proxy_http.so ProxyRequests Off ProxyStatus On # When enabled, this option will pass the Host: line from the incoming request to the proxied host. ProxyPreserveHost On # Please note that the servlet path to the soap API has changed: # restrict access to the soap provisioning API Order Deny,Allow Deny from all Allow from 127.0.0.1 # you might add more ip addresses / networks here # Allow from 192.168 10 172.16 # The old path is kept for compatibility reasons Order Deny,Allow Deny from all Allow from 127.0.0.1 # Enable the balancer manager mentioned in # http://oxpedia.org/wiki/index.php?title=AppSuite:Running_a_cluster#Updating_a_Cluster SetHandler balancer-manager Order Deny,Allow Deny from all Allow from 127.0.0.1 Order deny,allow Allow from all # multiple server setups need to have the hostname inserted instead localhost BalancerMember http://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1 # Enable and maybe add additional hosts running OX here # BalancerMember http://oxhost2:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX2 ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On SetEnv proxy-initial-not-pooled SetEnv proxy-sendchunked # The standalone documentconverter(s) within your setup (if installed) # Make sure to restrict access to backends only # See: http://httpd.apache.org/docs/$YOUR_VERSION/mod/mod_authz_host.html#allow for more infos # # Order Deny,Allow # Deny from all # Allow from backend1IP # BalancerMember http://converter_host:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 keepalive=On route=OX3 # ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On # SetEnv proxy-initial-not-pooled # SetEnv proxy-sendchunked # # Define another Proxy Container with different timeout for the sync clients. Microsoft recommends a minimum value of 15 minutes. # Setting the value lower than the one defined as com.openexchange.usm.eas.ping.max_heartbeat in eas.properties will lead to connection # timeouts for clients. See http://support.microsoft.com/?kbid=905013 for additional information. # # NOTE for Apache versions < 2.4: # When using a single node system or using BalancerMembers that are assigned to other balancers please add a second hostname for that # BalancerMember's IP so Apache can treat it as additional BalancerMember with a different timeout. # # Example from /etc/hosts: 127.0.0.1 localhost localhost_sync # # Alternatively select one or more hosts of your cluster to be restricted to handle only eas/usm requests Order deny,allow Allow from all # multiple server setups need to have the hostname inserted instead localhost BalancerMember http://localhost_sync:8009 timeout=1900 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1 # Enable and maybe add additional hosts running OX here # BalancerMember http://oxhost2:8009 timeout=1800 smax=0 ttl=60 retry=60 loadfactor=50 route=OX2 ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On SetEnv proxy-initial-not-pooled SetEnv proxy-sendchunked # When specifying additional mappings via the ProxyPass directive be aware that the first matching rule wins. Overlapping urls of # mappings have to be ordered from longest URL to shortest URL. # # Example: # ProxyPass /ajax balancer://oxcluster_with_100s_timeout/ajax # ProxyPass /ajax/test balancer://oxcluster_with_200s_timeout/ajax/test # # Requests to /ajax/test would have a timeout of 100s instead of 200s # # See: # - http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass Ordering ProxyPass Directives # - http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers Worker Sharing ProxyPass /ajax balancer://oxcluster/ajax ProxyPass /appsuite/api balancer://oxcluster/ajax ProxyPass /drive balancer://oxcluster/drive ProxyPass /infostore balancer://oxcluster/infostore ProxyPass /publications balancer://oxcluster/publications ProxyPass /realtime balancer://oxcluster/realtime ProxyPass /servlet balancer://oxcluster/servlet ProxyPass /webservices balancer://oxcluster/webservices #ProxyPass /documentconverterws balancer://oxcluster_docs/documentconverterws ProxyPass /usm-json balancer://eas_oxcluster/usm-json ProxyPass /Microsoft-Server-ActiveSync balancer://eas_oxcluster/Microsoft-Server-ActiveSync
Para el sitio web, creamos otro fichero:
# vim /etc/httpd/conf.d/ox.conf
Con:
ServerAdmin webmaster@localhost DocumentRoot /var/www/html Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all RedirectMatch ^/$ /appsuite/ Options None +SymLinksIfOwnerMatch AllowOverride Indexes FileInfo
Reiniciamos nuestro servidor apache con
# /etc/init.d/httpd restart
Y preparamos el sistema, para que los nuevos servicios arranquen con la maquina
# chkconfig --level 345 mysqld on # chkconfig --level 345 httpd on # chkconfig --level 345 open-xchange on
Debemos crear un contexto base, para ello:
# createcontext -A oxadminmaster -P ****** -c 1 -u oxadmin -d "Context Admin" -g Admin -s User -p ***** -L defaultcontext -e oxadmin@recursosformacion.com -q 1024 --access-combination-name=all
Y un usuario para poder hacer pruebas, con:
createuser -c 1 -A oxadmin -P ****** -u testuser -d "Test User" -g Test -s User -p ****** -e testuser@recursosformacion.com
El fichero log podeis mantenerlo a la vista con:
# tail -f -n200 /var/log/open-xchange/open-xchange.log.0
Podemos ir a un navegador, y tras poner la dirección de la maquina OpenXchange, recibimos su pantalla de bienvenida
Si utilizamos el usuario «testuser» y la contraseña que hemos creado, podremos empezar a ver como nos funciona OX.
La pantalla de correo electrónico, por cierto, la configuración fue algo tan sencillo como indicar el correo electrónico y la contraseña. y el solito se conecto al servidor.
La libreta de direcciones, podemos crear todas las privadas y publicas que queramos….
La gestión de calendarios, en donde también nos permite tener calendarios públicos y privados
Sobre los ficheros subidos, podemos interactuar
Conclusiones
Realmente, poner en marcha Open-Xchange no es trivial, la documentación no es demasiado clara y se enfrenta uno a demasiados problemas, aunque la verdad, es que si yo he podido (tres días de trabajo), cualquiera puede….
La herramienta plantea básicamente, las características de un escritorio remoto, y las posibilidades de compartir áreas que ofrece están bien resuelta, con una interface muy clara.
Aunque no he hecho pruebas de carga, teniendo en cuenta que el servidor esta corriendo sobre una maquina virtual sin demasiada potencia, el servidor promete no necesitar demasiada potencia.
Bibliografia:
La instalación ha utilizado como guia:
http://oxpedia.org/wiki/index.php?title=AppSuite:Open-Xchange_Installation_Guide_for_CentOS_6,
aunque se han ido adaptando algún comando para mejorar la claridad de la explicacion.