A continuación se presentan los pasos para llevar a cabo la configuración y el despliegue de Liferay en JBoss 4.2.2 GA.
Nota. Este procedimiento presume que se está usando alguna distribución de Linux / Solaris y que se está usando el JDK 1.5
1. Descargar los paquetes necesarios
+ Liferay-portal
+ Liferay-portal-dependencies
+ JBoss 4.2.2GA
2. Crear directorios de trabajo
mkdir -p ~/apps/tmp
3. Configurar variables de entorno
export JAVA_HOME=<ruta al jdk instalado >
export PATH=$JAVA_HOME/bin:$PATH
4. Instalar y configurar JBoss AS 4.2.2GA
a. Descomprimir e instalar paquete
unzip jboss-4.2.2.GA.zip -d ~/apps
cd ~/apps
ln -s jboss-4.2.2.GA jboss
b. Configurar opciones de memoria para JBoss
cd jboss/bin
vi run.conf
Modificar la línea de JAVA_OPTS que está sin comentar así:
JAVA_OPTS="-Xms512m -Xmx1204m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 \ -Dsun.rmi.dgc.server.gcInterval=3600000"
5. Probar la instalación de JBoss
cd ~apps/jboss/bin
./run.sh -c default
Una vez haya iniciado probar la conexión desde un browser a la dirección de la máquina, puerto 8080, ej http://192.168.0.2:8080
Detener luego el proceso usando CTRL+C en la consola donde fue lanzado el script run.sh.
6. Configurar una base de datos para Liferay
En este caso el ejemplo está con hypersonic, no obstante aplica para cualquier otra base de datos.
a. Configurar un datasource en JBoss para Liferay
cd ~/apps/jboss/server/default/deploy
vi liferay-ds.xml
Pegar el texto a continuación:
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/LiferayPool</jndi-name>
<connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}liferayDB</connection-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<user-name>sa</user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
<prepared-statement-cache-size>32</prepared-statement-cache-size>
<metadata>
<type-mapping>Hypersonic SQL</type-mapping>
</metadata>
<depends>jboss:service=Hypersonic,database=liferayDB</depends>
</local-tx-datasource>
<!-- For hsqldb accessed from jboss only, in-process (standalone) mode -->
<mbean code="org.jboss.jdbc.HypersonicDatabase"
name="jboss:service=Hypersonic,database=liferayDB">
<attribute name="Database">liferayDB</attribute>
<attribute name="InProcessMode">true</attribute>
</mbean>
</datasources>
b. Iniciar y detener JBoss para que cree los archivos correspondientes a la nueva base en hypersonic.
7. Configurar e Instalar Liferay Portal 5
a. Descomprimir el paquete de Liferay en el directorio temporal
cp liferay-portal-5.0.1.war ~/apps/tmp
cd ~/apps/tmp
mkdir tmp-war
jar xvf liferay-portal-5.0.1.war -C tmp-war
b. Liferay por defecto trata de correr en la raiz del servidor de aplicaciones, pero en este caso queremos que responda a una URL diferente, por ejemplo /portal. Para ello debemos modificar algunos archivos de configuración así:
cd tmp-war
cd WEB-INF
+ web.xml
Editar web.xml y agregar después del primer elemento
<context-param>
<param-name>root_path</param-name>
<param-value>/portal</param-value>
</context-param>
+ jboss-web.xml
Editar jboss-web.xml y cambiar el context-root a /portal
<context-root>/portal</context-root>
+ portal-ext.properties
Crear el archivo portal-ext.properties en ~/apps/tmp/tmp-war/WEB-INF/classes
y digitar los siguientes datos:
#portal-ext.properties
portal.ctx=/portal
auto.deploy.dest.dir=../server/default/deploy
company.security.strangers=false
locales=es_ES,en_US
auto.deploy.deploy.dir=../liferay/deploy
# fin -portal-ext.properties.
c. Instalar las dependencias adicionales
Es necesario copiar las algunas librerías adicionales al lib de JBoss para que el portal pueda iniciar sin problemas.
unzip -j liferay-portal-dependencies-5.0.1.zip -d ~/apps/jboss/server/default/lib
d. Copiar Liferay Portal como WAR expandido en JBoss
mv ~/apps/tmp/tmp-war ~/apps/jboss/server/default/portal.war
8. Eso es todo!
Ahora basta con iniciar el servidor de aplicaciones para tener Liferay operando en JBoss y con la posibilidad de usar todas las herramientas adicionales proveídas por el servidor de aplicaciones como por ejemplo los EJB.
Referencias
1. http://www.liferay.com/web/guest/community/forums/-/message_boards/message/769405;jsessionid=1B48FB7B19DE2F6669A4CB44C5500AC6
2. http://wiki.liferay.com/index.php/Liferay_with_EJB3_and_JBoss%2C
Marcas y derechos
Liferay ®, Liferay Portal son marcas registradas de Liferay Inc.
JBoss ®es una marca registrada de Red Hat Inc.
Java ®es una marca registrada de Sun Microsystems
Linux ®es una marca registrada de Linus Torvalds.