Instalación de liferay tutorial | Liferay en linux | Asesoramiento liferay en españa

desarrollo de software a medida - Evos Consulting

Evos Design, Consultoría IT para sistemas Web

Instalación de Liferay 4.2 en Linux (Fedora Core5)

02.06.2007

¿A quién le interesa esta guía de instalación?

A cualquier persona que quiera instalar Liferay incluyendo la configuración de elementos añadidos como el sistema de Workflow en un ambiente linux y utilizando mySQL como motor de base de datos. Para seguir lo que se describe es necesario tener conocimientos básico de java, linux, tomcat y mySQL.

El entorno

Liferay puede instalarse en un gran número de configuraciónes la que he elegido para trabajar es la siguiente:

Los directorios están organizados como sigue:

1. Instalar tomcat en \tomcat

2. crear las variables de ambiente $JAVA_HOME y $TOMCAT_HOME

cd /etc
vi profile

en el archivo que se edita (etc/profile) incluir las siguientes líneas al final del archivo

JAVA_HOME=/jdk1.5.0_11
TOMCAT_HOME=/tomcat

export JAVA_HOME
export TOMCAT_HOME

3. Instalar mySQL

4. Crear el archivo $TOMCAT_HOME/conf/Catalina/localhost/ROOT.xml (archivo de inicialización de la aplicaciones de portal web) este archivo debe tener el siguiente contenido.

<Context paht="">
</Context>

Es probable que al editar dicho archivo nos encontremos con que ya está como lo necesitamos, si es así, lo dejamos tal cual.

5. Descargar Liferay-portal-4.2.2.war, para hacer esto desde la línea de comando de linux, ejecutar

wget http://downloads.sourceforge.net/lportal/liferay-portal-4.2.2.war?download

6. Descargar Portal 4.0.0 Dependencies

wget http://downloads.sourceforge.net/lportal/liferay-portal-dependencies-4.2.2.zip?download

7. Descargar el conector mysql (J/Connector)

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.6.tar.gz/from/http://mysql.rediris.es/

con los tres últimos pasos (en mi caso he hecho las descargar directamente sobre el directorio raíz) la pantalla de tu equipo debería verse mas o menos como la siguiente:

imagen 1. Resultado de ejecutar un comando ls despues de haber hecho las descargas de liferay (.war)
el archivo de dependencias (.zip) y el conector java (.tar)

Nota: En la imagen el archivo del conector es un .tar, sin embargo, es probable que al descargarlo, esté en formato .tar.gz con lo que habrá que usar unzip para descomprimirlo a .tar

8. Crear un directorio $TOMCAT_HOME/common/lib/ext y descomprimir en él el archivo de dependencias

unzip liferay-portal-dependencies-4.2.2.zip -d $TOMCAT_HOME/common/lib/ext/

9. Editar el archivo $TOMCAT_HOME/conf/catalina.properties y añadir al final de la linea de loader una referencia para cargar los .jar que acabamos de descomprimir

common.loader= ${catalina.home}/common/classes,\ ...\ ${catalina.home}/common/lib/ext/*.jar

10. Instalar el conector java y asegurarse de que Tomcat tenga acceso al mismo, para eso descomprimirmos el archivo .tar (o .tar.gz) que hayamos descargado de mysql.com en un directorio de nuestra elección, por ejemplo /mysql-jdbc, para ello ejecutamos en el directorio en donde hayamos descargado el archivo mysql-connector-java-X.X.X.tar, en mi caso el directorio raíz

mkdir /mysql-jdbc

tar -xvf mysql-connector-java-3.1.14.tar -C /mysql-jdbc

Al examinar el directorio /mysql-jdbc, nos encontraremos con que se ha creado toda una estructura de directorios y archivos. de entre todos ellos nos interesa el archivo mysql-connector-java-3.1.14-bin.jar

Ubicado el archivo que nos interesa, lo copiamos a la ubicación en la que Tomcat podrá hacer uso de él ($TOMCAT_HOME/common/lib/ext).

cp mysql-connector-java-3.1.14-bin.jar $TOMCAT_HOME/common/lib/ext

11. Editamos el archivo $TOMCAT_HOME/conf/Catalina/localhost/ROOT.xml. debe quedar como se muestra a continuación:

Imagen 2. Edición del archivo $TOMCAT_HOME/conf/Catalina/localhost/ROOT.xml

ATENCION: en las lineas en las que estan los datos de acceso a la base de datos username y password debemos colocar los datos con los que liferay debe conectarse a nuestra base de datos mysql.

12. Crear la base de datos (mysql) con la estructura de liferay y los datos de ejemplo, para ello descargamos el script create-mysql.sql. Este archivo contiene las secuencias sql para crear la estructura de base de datos de liferay en varios motores de búsqueda en nuestro caso elegiremos la versión de mysql inluidos los datos de ejemplo.

Primero descargamos el archivo

wget http://downloads.sourceforge.net/lportal/liferay-portal-sql-4.2.2.zip?download

Después de haber descargado el archivo, creamos un directorio para descomprimir su contenido

cd \
mkdir liferay-sql

Finalmente, descomprimimos el archivo en el directorio creado a tal efecto

unzip liferay-portal-sql-4.2.2.zip -d /liferay-sql

Es posible utilizar este archivo tal como está pero si queremos que aparezcan las provincias de españa deberemos añadirlas aquí antes de procesarlo. Veremos por ejemplo que el id para España es el 15. y que el nombre del pais está puesto en inglés "Spain", lo cambiamos a España (en castellano) y agregamos en la tabla "Region" las provincias de españa. (Todo esto es opcional)

Una vez que tengamos el archivo .sql (en su version original o modificada), lo ejecutamos

cd /liferay-sql/create
mysql < create-mysql.sql -u root -p

El password que se nos pide es el de root para el servidor mysql, no el de root del S.O.

13. Creamos la sessión de correo electronico para mail/MailSession. Editamos $TOMCAT_HOME/conf/Catalina/localhost/ROOT.xml y configuramos una sesión de correo-e.

<Context...>
<Resource name="mail/MailSession"
auth="Container" type="javax.mail.Session"
mail.transport.protocol="smtp"
mail.smtp.host="localhost" />
</Context>

14. Configuramos JAAS (Java Authentication and Authorization Service), tambien editando $TOMCAT_HOME/conf/Catalina/localhost/ROOT.xml como en el paso 13

<Context...>
<Realm className="org.apache.catalina.realm.JAASRealm"
appName="PortalRealm"
userClassNames="com.liferay.portal.security.jaas.PortalPrincipal"
roleClassNames="com.liferay.portal.security.jaas.PortalRole"
debug="99"
useContextClassLoader="false" />
</Context>

Si esta parte de la configuración no se hace o se hace mal el sistema funciona pero no se pueden editar los datos de los usuarios.

15. Creamos el archivo

PortalRealm {
com.liferay.portal.kernel.security.jaas.PortalLoginModule required;
};

Debemos asegurarnos que dicho archivo se propiedad del usuario tomcat (chown tomcat:tomcat jaas.config)

16. Eliminamos el contenido del directorio ROOT de aplicaciones web de Tomcat

cd $TOMCAT_HOME/webapps/ROOT
rm -r *

luego copiamos a esta ubicación el archivo .war de liferay y lo descomprimimos

cp /liferay-portal-4.2.2.war liferay.war
unzip liferay.war

Finalmente lo eliminamos

rm liferay.war

Antes de terminar este paso debemos asegurarnos que el dueño de todos los archivos descomprimidos es tomcat

chown -R tomcat:tomcat *

17. Casi para terminar configuramos tomcat para que trabaje con URIEncoding UTF-8 y responda al puerto 80, para hacerlo editamos el archivo $TOMCAT_HOME/conf/server.xml

Se configura en el puerto 80 y no en el 8080 porque en entornos de producciónes en ese puerto en donde un navegador espera encontrar páginas y contenidos.

<Connector
port="80"
maxHttpHeaderSize="8192"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
redirectPort="8443"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8" />

Debemos tener en cuenta que el código anterior no hay que añadirlo enteto, solo buscar el nodo "Connector" del puerto 8080, cambiar el puerto (a port="80") y añadir la parte de la codificacion UFT-8 (URIEncoding="UTF-8")

Luego en en archivo $TOMCAT_HOME/bin/Catalina.sh añadir la siguiente línea al principio, justo después de los encabezados de comentario. El objetivo es que java se invoque con parámetros que aseguren que usa UTF-8 y que no tendremos problemas con sistemas multilenguaje. Este detalle no está señalado en la página oficial de Liferay probablemente porque en inglés (el idioma por defecto) no existe tal problema.

JAVA_OPTS ="-Djavax.servlet.request.encoding= UTF - 8 -Dfile.encoding= UTF - 8 ${ JAVA_OPTS }"

18. FIN, Hemos terminado, si todo ha ido bien al levantar tomcat /tomcat/bin/startup.sh y acceder al servidor con un navegador web http://mi-servidor-liferay.com. Antes de hacerlo debemos verificar que dentro de tomcat todos los archivos pertenecen a tomcat, de no ser así la aplicación puede comportarse de forma extraña.

Ayuda: A continuación hay un enlace a un archivo comprimido con los siguientes archivos de configuración

$TOMCAT_HOME/bin/catalina.sh
$TOMCAT_HOME/conf/server.xml
$TOMCAT_HOME/conf/Catalina/localhost/ROOT.xml

Descargar archivos de configuración

K.A.G.S. abril-2007