Instalar Alfresco en Tomcat y Oracle

07/01/2014

Alfresco es un gestor de administración de contenidos o CMS basado en Java, que permite instalarse en distintos sistemas operativos, usando diversos servidores J2EE y diversas bases de datos. En este post vamos a explicar cómo instalarlo en un sistema operativo Windows 2008 con un servidor J2EE Tomcat versión 6 y con una base de datos Oracle versión 11g.

Inicialmente podemos descargar una trial de Alfresco desde esta url:

http://www.alfresco.com/es/pruebe-alfresco-one-local-hoy-mismo

Descargamos la instalación enterprise para Windows. La trial viene con un fichero exe que al ejecutarse instala un servidor tomcat y una base de datos postgres en la misma máquina donde se ejecuta el exe. Además crea varios Sitios predefinidos listos para ejecutar. Osea el usuario simplemente hace siguiente, siguiente, siguiente y en 20 minutos tiene un Alfresco listo para ejecutarse.

Este tipo de instalación es ideal para un entorno de testeo o de pruebas, pero para un entorno de producción es muy importante separar los distintos roles que incorpora Alfresco en distintas máquinas físicas. Es por ello que en este post explicamos claramente cómo separar los pasos de la instalación personalizada del servidor J2EE, la base de datos y el propio despliegue de la aplicación.

Arquitectura de Alfresco

Arquitectura de Alfresco

PASO 1: Instalación de un Servidor J2EE – Tomcat

Para instalar Alfresco necesitamos un servidor J2EE compatible con Java, tal como Tomcat. Podemos descargar la versión 6.0 para Windows desde la web de Apache Tomcat y hacer una instalación estándar: 

http://tomcat.apache.org/

Una vez hemos hecho la instalación estándar de Tomcat, debemos prepararlo para poder desplegar Alfresco. En esta url se explica exactamente los pasos a seguir en concreto para desplegar Alfresco en Tomcat:

http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Ftasks%2Falfv3-tomcat-install.html

En concreto debemos:

  • Crear las carpetas shared/classes y shared/lib
  • Cambiar el cargador de clases shared.loader=${catalina.base}/shared/classes del fichero de configuración conf/catalina.properties
  • Copiar las librerías JDBC de la base de datos en la carpeta lib: En esta instalación, puesto que vamos a usar Oracle 11g, es necesario descargar ojdbc6.jar desde la web de Oracle: http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
  • Por último configurar el fichero /conf/server.xml con la codificación del html: URIEncoding=”UTF-8″ y maxHttpHeaderSize=”32768″

PASO 2: Instalación de una base de datos – Oracle

Para instalar Alfresco necesitamos una base de datos donde guardar toda la información de los Sitios tal como Oracle. Procedemos a descargar desde la web de Oracle

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

la versión 11gR2 y realizamos una instalación estándar.

Una vez realicemos la instalación estándar de Oracle, debemos configurarlo para que podamos desplegar Alfresco correctamente. En esta url se indica claramente qué pasos hay que seguir para configurar Oracle.

http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Ftasks%2Foracledb-config.html

En concreto debemos:

  • Crear una nueva base de datos en blanco donde se crearán las tablas. Por ejemplo alfresco
  • La base de datos debe usar la codificación AL32UTF8
  • Crear un nuevo usuario denominado alfresco que tenga derecho de creación de objetos en la base de datos en blanco. Por ejemplo podemos darle el permiso de UNLIMITED TABLESPACE para que tenga todos los permisos en dicha base de datos.

PASO 3: Despliegue de Alfresco

Una vez tenemos instalados y configurados correctamente tanto el servidor J2EE como la base de datos, entonces ya podemos proceder al despliegue/instalación del propio Alfresco.

En esta url se indica claramente qué pasos hay que seguir para desplegar Alfresco:

http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Ftasks%2Falfv3-war-install.html

Si hemos descargado la trial veremos que no existen los ficheros war necesarios para el despliegue de Alfresco, pero si hemos hecho una instalación por defecto en alguna máquina virtual, veremos que allí sí están los war. Podemos usar los war de la instalación por defecto share.war y alfresco.war o como dice la documentación oficial, obtener los war del fichero alfresco-enterprise-3.4.13.zip (hay que ponerse en contacto con Alfresco para la descarga de dicho fichero).

Si usarmos los war de la instalación por defecto, debemos copiarlos a la carpeta webapps del servidor tomcat. Esta es la carpeta de despliegue típica de aplicaciones por defecto. (Antes de copiarlos, parar el servidor tomcat).

Si usamos la instalación por defecto, necesitamos copiar el fichero de ejemplo de configuración de Alfresco desde la carpeta  /shared/classes/alfresco-global.properties.sample a la carpeta /shared/classes de nuestra instalación de Tomcat y quitar la extensión sample. Osea quedará el fichero alfresco-global.properties en la capreta /shared/classes de tomcat.

Fichero alfresco-global.properties para la configuración de Alfresco en Tomcat

Fichero alfresco-global.properties para la configuración de Alfresco en Tomcat

El fichero alfresco-global.properties es el principal fichero de configuración de alfresco y al ser un fichero de texto, podemos editarlo con el bloc de notas. En dicho fichero debemos configurar minimamente 2 cosas: la ruta donde Alfresco configurará el repositorio y la entradas que configuran la conexión con la base de datos.

Para configurar la ruta donde Alfresco va a instalar el repositorio, cambiaremos la línea dir.root. Por ejemplo para decirle que el repositorio se cree en la carpeta alf_data de la carpeta alfresco lo configuraremos así:  dir.root=C:/Alfresco/alf_data

Para configurar la conexión con la base de datos de Oracle debemos descomentar estas 2 líneas e indicar la cadena de conexión jdbc con la nueva base de datos en blanco, el puerto la máquina donde está instalada. Por ejemplo:

db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:alfresco

Una vez configurado estos dos parámetros, iniciamos el servidor Tomcat (previamente parado antes de la configuración) y Alfresco empezará a instalarse. A medida que vaya arrancando Tomcat, iremos viendo distintos mensajes en la consola del tomcat. Si tenemos algún problema en la instalación (cadena de conexión de base de datos incorrecta, driver jdbc incorrecto…) aparecerá en la consola de Tomcat. Si todo ha ido bien, en la propia consola aparecerá el mensaje de que se ha iniciado el servidor Tomcat y por tanto desplegado Alfresco.

Consola de Tomcat

Consola de Tomcat

Para comprobar que se ha desplegado/instalado correctamente Alfresco podemos comprobar varias cosas:

– Accedemos a la base de datos nueva creada vacía y comprobamos que Alfresco ha creado las tablas necesarias.

Tablas de Alfresco en la base de datos de Oracle

Tablas de Alfresco en la base de datos de Oracle

– Podemos comprobar en la consola web de administración del propio Tomcat que Alfresco y el Share son dos aplicaciones del propio servidor, lo que indicará que se han desplegado correctamente.

Consola manager de aplicaciones de Tomcat

Consola manager de aplicaciones de Tomcat

– Podemos confirmar visualmente el despliegue de la aplicación accediendo a la carpeta webapps y dentro de ella a las carpetas alfresco y share donde se habrá hecho la instalación de Alfresco.

Despliegue de alfresco y share en Tomcat

Despliegue de alfresco y share en Tomcat

– También es interesante revisar la carpeta del repositorio de ficheros para comprobar dónde realmente se ha instalado el repositorio de Alfresco. En nuestra instalación, dentro de la carpeta c:\alfresco\alf_data

Repositorio de Alfresco

Repositorio de Alfresco

– Finalmente nos quedaría comprobar el acceso a la aplicación share del propio Alfresco vía web.

Acceso web del Share de Alfresco

Acceso web del Share de Alfresco

Durante los primeros inicios, es posible que Tomcat se quede sin memoria al ejecutar Alfresco. Es posible que aparezcan errores del tipo java.lang.OutOfMemoryError: PermGen space

Este tipo de errores se suele corregir aumentando el heap de memoria del servidor de Tomcat para que pueda acomodar correctamente a Alfresco. Para cambiar el heap de memoria del Tomcat, accedemos al fichero catalina.bat de la carpeta bin y configuramos la variable de entorno JAVA_OPT así:

set JAVA_OPTS=-Xms256m -Xmx1024m -Xss96k -XX:MaxPermSize=256m -server

En esta url hay más información de cómo tunear la máquina virtual de Java en un servidor de Alfresco

http://wiki.alfresco.com/wiki/JVM_Tuning

Una respuesta to “Instalar Alfresco en Tomcat y Oracle”


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: