Contexto
En ambientes en producción es una buena práctica hacer que liferay guarde sus datos en una base con mejores prestaciones que hypersonic. La misma no es adecuado por temas de seguridad, perdida de datos, etc. Su finalidad es tener una base que nos sirva para cuando instalamos tener algo disponible.
Podemos distinguir 2 situaciones:
- Ya tenemos armado un sitio usando hypersonic y queremos migra a otra base
- No tenemos nada armado y queremos desde el vamos usar otra base
Ambas situaciones tienen pasos en común y pasos específicos para cada situación
1- Elección de la base de datos
Liferay funciona con varias bases de datos, nostros la hemos probado con exito en:
- MS-SQL
- MySQL
- Postgres
- Oracle
pero hay otras posibildades de Bases, en http://downloads.sourceforge.net/lportal/liferay-portal-sql-5.1.2.zip se puede ver los tipos soportado de acuerdo a los scripts de creación de bases.
Una vez que hayamos elegido la base, deberemos crear un base nueva y un usuario que sea dueño de la base o con permisos suficientes.
A los efectos de este HowTo supondremos que usaremos MySQL, que creamos una base que se llamará liferay y un usario liferay con una password liferaykey
el usuario liferay tiene solo derechos de
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE sobre la base liferay
2- Exportar la comunidad
Si ya tenemos armado una/s comunidad/es debemos de exportarlas para luego importarlas en el eportal con base de datos
- Loguarse como el administrador.
- Ir a la comunidad Mi Comuinidad a las páginas privadas.
- En el portlet camunities cliquear en All Comuinties.
- Cliquear el botón acciones de la comunidad que exportaremos y elegir manejar página.
- Cliquear el botón Privado y luego exportar/importar
- Cliquear el botón Exportar si tocar nada de las posibles configuraciones
- Guardar el archivo generado
- Repetir el proceso para cada comunidad
- Bajar el Jboss al terminar de exportar la/s comunidad/es.
3- Cambiando el datasource de liferay
Es necesario indicarle a liferay que usar para conectarse, para ello copiamos del directorio de ejemplos el datasource correspondiente a mysql.
cp <o3>/jboss/docs/examples/jca/mysql-ds.xml <o3>/jboss/server/default/deploy/liferay-mysql-ds.xml
Luego borramos el archivo <o3>/jboss/server/default/deploy/liferay-hsqldb-ds.xml y editamos <o3>/jboss/server/default/deploy/liferay-mysql-ds.xml
Veremos algo como esto:
<datasources> <local-tx-datasource> <jndi-name>MySqlDS</jndi-name> <connection-url>jdbc:mysql://mysql-hostname:3306/jbossdb</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>x</user-name> <password>y</password> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- should only be used on drivers after 3.22.1 with "ping" support <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> --> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml --> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>
cambiamos
<jndi-name>MySqlDS</jndi-name> <connection-url>jdbc:mysql://mysql-hostname:3306/jbossdb</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>x</user-name> <password>y</password>
por
<jndi-name>jdbc/LiferayPool</jndi-name> <connection-url>jdbc:mysql://localhost:3306/liferay</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>liferay</user-name> <password>liferaykey</password>
Recuerde
Recordar que usamos una base que se llama liferay, un usuario liferay
4- Iniciar el Jboss
Una vez iniciado el Jboss, Liferay se encargara de crear las tablas en la base y precargarle algunos datos
5- Abrir el eportal
Colocamos en el navegador web http://localhost:8080/eportal y veremos algo como esto
Debemos loguernos con el usuaria test@liferay.com (sugerido) y la password test
veremos la siguiente pantalla
6- Recomponiendo el eportal
ATENCIÓN
No saltearse lo pasos que a cotinuación se detallan, o se corre el riesgo de no poder volver a entrar al eportal
Desactivando la comunidad guest
Lo primero que debimos notar es que no pasmos por la pantalla de logueo de O3, para volver a tener esa pantalla debemos des habilitar la comunidad guest.
Vamos a la páginas privadas de mi comunidad
Luego elegimos la parte de comunidades y cliquemos en todas la comunidades, en el botón de acciones elegimos editar.
En la pantalla siguiente deschequeamos donde dice activa y salvamos.
Volver a página entera
Agregando el usuario admin
Como no tenemos el portlet Enterprise Admin que nos permite cargar usuarios lo agregamos.
Una vez cargado el portlet vamos a el y apretamos el botón add user, ponemos admin en screen name, Administrador en el nombre y apellido
Salvamos
Volvemos a la página entera y ahora en el portlet Enterprise Admin vamos al botón roles
En el rol administrador apretamos el botón acciones y elegimos asignar miembros.
Apretamos es disponibles para ver todos los usuarios y chequemos a admin, luego apretamos el botón de actualizar asocianciones.
Con esto ya tenemos a admin como administrador del eportal.
Sacando el usuario test
Nos deslogueamos y entramos con el usuario admin.
Vamos al portlet Enterprise Admin a usuarios y buscamos a test. Apretamos el botón acciones y elegimos desactivar.
Volvemos a la búsqueda de usuarios pero en el link avanzada elegimos no activos
En el ususario test en acciones elegimos borrar.
Creando la comunidad
En el portlet Comunidades elegimos crear nueva comunidad
Completamos el formulario y salvamos
En el botón de acciones elegimos agregar miembros, pulsamos en disponibles y luego en buscar. Selecionamos a admin y apretamos actualizar asociaciones.
Agregando(importando) a la comunidad lo exportado al principio.
En el portlet Comunidades elegimos comunidades disponibles, en acciones manejar páginas.
Luego elegimos privadas y exportar/importar. luego importar
seleccionamos el archivo y no tocamos nada de las opciones
Apretamos ver paginas y listo!!