02.06.2007
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.
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