Actualización Liferay 7 GA3

Nuevo proceso de actualización

Como vimos en el anterior post, liferay DXP viene con una herramienta para la gestión de parches que hace todo el trabajo por nosotros.

Si usamos Liferay 7, el proceso de actualización es diferente ya que no tenemos acceso a dicha herramienta aunque disponemos de otra herramienta parecida. Como veremos el proceso es mas tedioso aunque tampoco tiene mucha dificultad.

Cada X tiempo, una nueva versión de liferay 7 es liberada. Antes de liferay 7 había un compromiso de liberar cada versión como máximo cada 6 meses. Ahora mismo desconozco si este compromiso sigue existiendo, aunque en estos momentos la última versión de liferay 7 es la ga3 y diría que se ha liberado una versión nueva cada 4 meses.

Esta es, para mí, una de las principales ventajas (aparte obviamente del soporte que ofrecen) de usar liferay DXP. Los service packs de liferay DXP son liberados cada pocas semanas por lo que el código siempre va a estar actualizado antes. Esto es importante sobre todo ante problemas de seguridad que puedan ir apareciendo. Con liferay DXP el problema se resolverá en poco tiempo, mientras que si usamos en liferay 7 pueden pasar meses hasta que se libere una versión que lo solucione (aunque claro, siempre lo puedes resolver tú mismo).

 

 

Como siempre, te voy a contar exactamente los pasos que he realizado para hacer la actualización. Si sigues este blog, verás que hemos realizado en anteriores entradas algunos cambios en nuestra instalación de liferay que quiero mantener durante la actualización y ese es uno de los motivos que haya tantos pasos para realizar. En la siguiente lista los voy a marcar como OPCIONAL para distinguir los pasos que tenemos que hacer por modificaciones previas o porque son estrictamente necesarios para la actualización.

 

  1. Descomprime la nueva versión de liferay 7. Siempre podéis descargar todas la versiones desde la web de sourceforge 
  2. Ve a su directorio descomprimido. En mi caso /opt/liferay-ce-portal-7.0-ga3
  3. Deshabilita la indexación durante el proceso de upgrade. Para ello crea el siguiente fichero
    /opt/liferay-ce-portal-7.0-ga3/osgi/configs/com.liferay.portal.search.configuration.IndexStatusManagerConfiguration.cfg
    con el siguiente contenido
    indexReadOnly=true
  4. Copia el contenido del directorio <INSTALACION_ANTIGUA>/data de la instalación antigua a la nueva
  5. Copia el <INSTALACION_ANTIGUA>/tomcat-8.0.32/webapps/ROOT/WEB-INF/classes/portal-ext.properties.
  6. (OPCIONAL) Si tienes publicada la conexión con la bbdd por jndi, comenta la siguiente linea
    jdbc.default.jndi.name=jdbc/liferay
  7. Copia el <INSTALACION_ANTIGUA>/portal-setup-wizard.properties y cambia el valor de liferay.home al nuevo directorio de instalación
  8. Copia todos los <INSTALACION_ANTIGUA>/osgi/configs de los módulos que hayas modificado de la instalación antigua a la nueva
  9. (OPCIONAL - Si lo has modificado) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/conf/context.xml. Si has modificado otros ficheros como el server.xml también tendrás que copiarlos.
  10. (OPCIONAL - Ver post sobre logs) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32bin/setenv.sh
  11. (OPCIONAL - Ver post sobre logs) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/webapps/ROOT/WEB-INF/classes/META-INF/log4j.dtd
  12. (OPCIONAL - Ver post sobre logs) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/webapps/ROOT/WEB-INF/classes/META-INF/portal-log4j-ext.xml
  13. (OPCIONAL - Ver post sobre logs) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/lib/log4j*
  14. (OPCIONAL - Ver post sobre logs) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/lib/tomcat-juli-adapters.jar
  15. (OPCIONAL - Ver post sobre logs) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/bin/tomcat-juli.jar
  16. (OPCIONAL - Ver post sobre logs) Borra <INSTALACION_NUEVA>/tomcat-8.0.32/conf/logging.properties
  17. (OPCIONAL - Ver post sobre APR) Copia <INSTALACION_ANTIGUA>/tomcat-8.0.32/lib/libtcnative-1.*
  18. Ejecuta el cliente desde <INSTALACION_NUEVA>/tools/portal-tools-db-upgrade-client (asegúrate de tener el tomcat de la instalación antigua detenido)
    java -jar com.liferay.portal.tools.db.upgrade.client.jar


    Una vez ejecutado el anterior comando, el asistente os preguntará todo lo que necesita saber para hacer la actualización. Si quieres mas información sobre este proceso puedes consultar la documentación oficial

    Asistente

    Y después de un rato, si todo ha ido bien, terminará escribiendo esto

    Asistente correcto

  19. Habilita nuevamente la indexación
    indexReadOnly=false
  20. Copia todos tus módulos que hay en el directorio <INSTALACION_ANTIGUA>/osgi/modules al nuevo directorio de instalación 
  21. Despliega tus temas de apariencia que hay en el directorio de la instalación en <INSTALACION_ANTIGUA>/osgi/war al nuevo directorio de instalación
    (ojo, solo tus temas. Los que trae liferay por defecto no)
  22. (OPCIONAL) Descomenta la línea del jndi que has comentado en el paso 6
  23. (OPCIONAL - Post pendiente sobre esto) Actualiza las versiones de tus modulos fragment para las nuevas versiones de los modules liferay
  24. Inicia el servidor
  25. (OPCIONAL - Ver post sobre software de terceros) Reinstala xuggler

 

Como puedes comprobar, hay muchos pasos opcionales que son necesarios ya que la actualización no se produce sobre la instalación existente, sino sobre una nueva, lo que obliga a tener que copiar todos los ficheros modificados previamente.