miércoles, 10 de marzo de 2010

Instalación de Alfresco 3.2 Enterprise en JBoss 4.2.3 con Java 1.5 en RHEL 5.4 y con Oracle 10g

Estoy en la tarea de instalar Alfresco Enterprise (la versión de pruebas) y pues por si a alguien le sirve dejo los pasos.

En este caso como tengo que hacerlo en un servidor que tiene otro pocoton de cosas instaladas, pues nos vamos a lo dificil, es decir instalación manual.

Para hacerlo de esta forma nos vamos al sitio web de alfresco http://www.alfresco.com/ y hacemos click en "Downloads", en la ventana que aparece hacemos click en "Download Enterprise Edition"

Nos aparece un formulario en donde nos pide nuestros datos personales y nos permite escoger que queremos bajar, en este caso seleccionamos "WAR bundle (tar.gz)" y ponemos nuestros datos personales.

MOMENTO!!! al hacer click en Submit me dice que se va a bajar "alfresco-enterprise-wcm-3.2.0r.tar.gz" y eso no es lo que quiero, mal por la gente de Alfresco ya les voy a enviar un correo para ver si lo corrigen. Bueno como no me deja bajar lo que quiero pues a utilizar las herramientas (Developer Tools) que mi querido IE8 me ofrece (o si estan en firefox usan firebug).

Los pasos para poder bajar:
  1. Presionan F12 (Aparece la venta de las Developer Tools)
  2. Hacen click en el icono en forma de cursor
  3. Hacen click en el combo que está al lado de "Download for"
  4. En la ventana de "Developer Tools" hacen click en el signo de "+" ubicado al lado del tag "select"
  5. En el último tag "option" cambian la palabra wcm por war (quedaría: alfresco-enterprise-war-3.2.0r.tar.gz)
  6. Ahora si llenen los datos y pongan submit.
Requisitos:

Segun el manual de instalación de la gente de Alfresco se necesita el JDK 6 pero como el cliente dice que no va a instalar eso sino JDK 5 pues se necesita bajar el JDK 5 (http://java.sun.com) e instalarlo.
 
En mi caso en particular necesito Oracle por lo que necesito el ojdbc14.jar (se baja de http://otn.oracle.com)

Verificación de la ubicación de la variable JAVA_HOME
1. Abrir una terminal

2. poner echo $JAVA_HOME

Si no está apuntando al jdk que necesitan o si no está seteada la variable, la forma más facil de modificarla es editar el archivo /etc/profile, en algun lado ponen lo siguiente:
JAVA_HOME=/path/donde/instalaron/el/jdk
export JAVA_HOME

adicionalmente (recomendado) hagan que el PATH tenga en su entrada el folder bin de JAVA para lo cual en el mismo archivo (/etc/profile) pongan lo siguiente:
PATH=$JAVA_HOME/bin:$PATH
export PATH

Deploy de Alfresco en JBoss

Aqui es mucho más facil poner los comandos que explicar asi que ahi va:

1. Descomprimimos el archivo que nos bajamos del sitio web de alfresco y descomprimimos los archivos alfresco.war y share.war
mkdir /usr/share/alfresco

cp alfresco-enterprise-war-3.2.0r.tar.gz /usr/share/alfresco
cd /usr/share/alfresco
tar xvfz alfresco-enterprise-war-3.2.0r.tar.gz
rm alfresco-enterprise-war-3.2.0r.tar.gz
mv alfresco.war alfresco.jar
mv share.war share.jar
mkdir alfresco.war
mkdir share.war
mv alfresco.jar alfresco.war
mv share.jar share.war
cd alfresco.war
jar xvf alfresco.jar
rm alfresco.jar
cd ../share.war
jar xvf share.jar
rm share.jar
mkdir -p /var/lib/alfresco/alf_data
chown -R jboss:jboss /var/lib/alfresco
mkdir -p /var/logs/alfresco
chown -R jboss:jboss /var/logs/alfresco
chown -R jboss:jboss /usr/share/alfresco

2. Creamos enlaces simbólicos dentro de JBoss para que apunten a las carpetas que creamos en el paso anterior.
cd /usr/share/jbossas/server/default/deploy
ln -s /usr/share/alfresco/alfresco.war
ln -s /usr/share/alfresco/share.war
cd /usr/share/jbossas/server/default/conf
mkdir alfresco
cd alfresco
ln -s /usr/share/alfresco/extensions/extension

3. Copiar el jar de la base de datos en /usr/share/jbossas/server/default/lib


4. Modificamos el archivo run.sh para que el JAVA_OPTS se vea asi:

JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=128m -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

5. Modificar el archivo /usr/share/jbossas/server/default/deploy/ejb3.deployer/META-INF/persistence.properties en la linea que comienza por hibernate.bytecode.provider para que utilice cglib en lugar de javassist.

6. Modificamos la configuracion de JBoss para que utilice UTF-8 como encoding, para lo cual abrimos el archivo /usr/share/jbossas/server/default/deploy/jboss-web.deployer/server.xml, ubicamos la linea que dice:

<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
y lo cambiamos para que diga:
<Connector port="8080" URIEncoding="UTF-8" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"

Configuración de la conexión a la BDD (ORACLE)

Pues lo importante es tener un usuario que pueda crear tablas, con esto me funciona a mi:

CREATE SMALLFILE TABLESPACE "ALFRESCO" DATAFILE 'ALFRESCO.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 1024K MAXSIZE 32767M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE USER "ALFRESCO" PROFILE "DEFAULT" IDENTIFIED BY "ALFRESCO" DEFAULT TABLESPACE "ALFRESCO" TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "ALFRESCO" ACCOUNT UNLOCK;
GRANT CREATE TABLE TO "ALFRESCO";
GRANT "CONNECT" TO "ALFRESCO";
GRANT "RESOURCE" TO "ALFRESCO";

Creamos el archivo de configuracion y lo editamos

cd /usr/share/alfresco/alfresco.war/WEB-INF/classes/
cp alfresco-global.properties.sample alfresco-global.properties
vim alfresco-global.properties

Descomentamos y modificamos las siguientes lineas:
dir.root=/var/lib/alfresco/alf_data
db.username=ALFRESCO
db.password=ALFRESCO
db.schema.update=true
db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@ip.del.servidor.BDD:1521:SID

Y eso es todo, no queda más que iniciar Jboss y empezar a jugar con Alfresco.

2 comentarios:

  1. muy bueno tu blog, yo necesito hacer lo mismo pero varian las versiones, jdk6, alfresco community3.4.a, jboss5.1.0 GA, oracle 10g, REHEL 5. el proceso seria el mismo?

    ResponderBorrar
  2. Hola Mary, pues si, en general el proceso sería el mismo, espero estos "lineamientos generales" te sirvan

    ResponderBorrar