La finalización del soporte de la versión 2.5 en diciembre de 2014, nos aconseja a actualizar la versión, a pesar de que aún no se ha publicado ninguna versión LTS (Long Time Support) que sustituya a la 2.5.28.
Las actualizaciones fallan a veces por problemas de configuración del servidor, dejando el sistema Joomla a medias e inoperante, con mensajes de error o con pantallas en blanco. Por ello se aconseja probar la actualización en un servidor auxiliar local.
La extensión de backup Akeeba (u otra similar) es clave para el proceso; facilita la transferencia completa de nuestro sistema Joomla a otro servidor con lo que podemos observar su comportamiento al someterlo a cualquier operación sin ningún riesgo, y podemos repetir la operación las veces que queramos.
De antemano, en los foros consultados, se nos avisa que pueden dar problemas aquellas extensiones o templates que no estén soportadas en la nueva versión de Joomla, la 3.5. Así pues, nos planteamos cuales son los elementos básicos que queremos conservar, para quitar todo lo demás, e intentar la actualización.
Lo que queremos conservar a toda costa son los artículos, los menús, las fotos, y el sistema K2. Intentaremos conservar, también, la extensión 2JGallery, ya que tenemos varias galerías fotográficas que queremos mantener.
Por lo tanto, lo primero es hacer una copia de seguridad con Akeeba Backup, y restaurarla en nuestro servidor local basado en WAMP.
Por lo tanto, lo primero es hacer una copia de seguridad con Akeeba Backup, y restaurarla en nuestro servidor local basado en WAMP.
Así pues, una vez restaurado nuestro sistema Joomla en nuestro servidor local, accedemos al backend y procedemos a desinstalar el template JA Nex (es de JoomlaArt un provedor de pago, para el que no tenemos subscripción y por tanto, imposible de actualizar), las extensiones Akeeba, Kunena, el editor JCE. Deshabilitamos también el plugin de Sistema, Recuérdeme, según recomendación de docs.joomla.org.
Para poder desinstalar el template, como operación previa, hay que cambiarlo a otro de los que vienen por defecto, en este caso el Atomic, y para comprobar que funciona y que tenemos toda la información, creamos un módulo menú con el menú principal, y lo colocamos en una posición de esta plantilla, así podemos acceder provisionalmente a las páginas de nuestro sitio.
Este momento lo aprovechamos para hacer limpieza, eliminamos todos los módulos que ya estaban deshabilitados, eliminamos también todos aquellos que necesiten de la antigua plantilla para funcionar, y dejamos solo aquellos que podamos mantener en el joomla renovado. Después, cuando empecemos a configurar una nueva plantilla habrá que elegir la posición y las páginas en las que queremos que aparezcan.
La limpieza puede extenderse a otros elementos como Contactos, Canales electrónicos, Anuncios, Redirecciones, Usuarios, Menús, Artículos, las Categorías de todos ellos, etc ..
Para poder desinstalar el template, como operación previa, hay que cambiarlo a otro de los que vienen por defecto, en este caso el Atomic, y para comprobar que funciona y que tenemos toda la información, creamos un módulo menú con el menú principal, y lo colocamos en una posición de esta plantilla, así podemos acceder provisionalmente a las páginas de nuestro sitio.
Este momento lo aprovechamos para hacer limpieza, eliminamos todos los módulos que ya estaban deshabilitados, eliminamos también todos aquellos que necesiten de la antigua plantilla para funcionar, y dejamos solo aquellos que podamos mantener en el joomla renovado. Después, cuando empecemos a configurar una nueva plantilla habrá que elegir la posición y las páginas en las que queremos que aparezcan.
La limpieza puede extenderse a otros elementos como Contactos, Canales electrónicos, Anuncios, Redirecciones, Usuarios, Menús, Artículos, las Categorías de todos ellos, etc ..
Cuando desinstalemos la plantilla JA Nex (o la que hayamos tenido activa) dejarán de verse todos los módulos de la página principal, algunos podrían recuperarse después (si les soporta la plantilla actual) con solo cambiar la posición, pero otros, los propios de la plantilla anterior desaparecerán para siempre. Por eso convendría analizar si hay alguna información que queramos conservar.
Algunos ajustes de servidor que se recomiendan en algunos foros, todos ellos son en el php.ini :
Algunos ajustes de servidor que se recomiendan en algunos foros, todos ellos son en el php.ini :
- max_execution_time=1000
- post_max_size=500M
- memory_limit=800M
- upload_max_filesize=500M
El display de los errores debe estar desactivado para el modo de explotación, pero es útil para que nos indique que tipo de errores se pueden estar produciendo, por lo que conviene ajustar (al menos temporalmente) este elemento, la directiva es:
- display_errors=On
Igualmente, algunas templates requieren, para su buen funcionamiento las siguientes:
- short_open_tag=On
- output_buffering=On
Siempre que se modifica este archivo hay que reiniciar el servidor Apache para que surtan efecto.
En este punto, los foros consultados recomiendan usar la herramienta de reparación de la Base de Datos, Gestor de Extensiones --> Base de datos. Y también el botón de Reconstruir que tenemos en varios menús del sistema: en el Gestor de menús, en Contenidos ->Gestor de Categorías, en Componentes -> Canales electrónicos, en Componentes -> Anuncios, y en Componentes -> Contactos. Y finalmente, limpiamos la caché del sistema en Sistema -> Limpiar caché.
En algunos foros se recomienda cambiar la configuración de mostrar errores al máximo para tener alguna pista del fallo en el caso de que no tengamos éxito. Sistema ->Configuración Global -> Pestaña Servidor -> Informe de errores ---- Máximo. Esto último habrá que cambiarlo cuando entre en servicio.
Bien, con esos elementos desinstalados, la web reconfigurada, y el servidor a punto procedemos a la actualización, vamos al menú Componentes -> Actualización de Joomla!
Si no muestra la última versión, hay que pulsar el botón de configuración o de opciones (esquina superior dcha.) y elegir el tipo de actualizaciones que queremos que busque (STS), ya que no hay nuevas LTS por ahora. Al aceptar y salir de esa pantalla veremos la versión 3.5 como disponible y lista para instalar. Así pues ya podemos pulsar en el botón instalar, o actualizar.
Es probable no tener éxito en el primer intento, si falla, hay que volver a restaurar la copia de seguridad y volver a realizar las desinstalaciones y ajustes anteriores. Podemos probar desinstalando otros componentes, se recomienda quitar los módulos de terceros, es decir, los que no son de Joomla Proyect.
El error típico es obtener una pantalla en blanco, tanto en el backend como en el frontend, lo que nos impide hacer ninguna configuración, corrección de base de datos, etc. Este error se puede superar con lo que se explica en el foro de StackOverFlow. Lo que proponen es lo siguiente:
El error típico es obtener una pantalla en blanco, tanto en el backend como en el frontend, lo que nos impide hacer ninguna configuración, corrección de base de datos, etc. Este error se puede superar con lo que se explica en el foro de StackOverFlow. Lo que proponen es lo siguiente:
- Antes de iniciar la actualización, eliminar el plugin cdcaptcha y algún otro módulo que pueda dar problemas.
- Borrar la carpeta "updates" en ./administrator/components/com_admin/sql/
- Actualizar Joomla con la herramienta correspondiente en el Backend. Obtendremos el error de la página en blanco, o unas líneas de error si estaba configurado para ello.
- Acceder por web a: ./administrator/index.php?option=com_installer&task=database.fix para reparar todos los problemas que se han producido en la base de datos. Esto hará que empiece a ser visible, tanto el backend como el frontend.
- Acceder a: /administrator/index.php?option=com_installer&view=discover&task=discover.refresh y actualiza e instala las extensiones pendientes de instalarse. Con esto podemos empezar a configurar el sitio, y adecuarlo al nuevo uso.
- Repetir el paso 4 para asegurarnos de que todo está bien.
Las dos veces que hemos realizado este proceso ha funcionado bien, no obstante hemos encontrado un problemita que nos impedía cambiar la plantilla del frontend. Puedo acceder a la página de configuración de plantillas, puedo cambiar la plantilla predeterminada, puedo acceder a la asignación de menús, pero en esa página los botones de guardar, y guardar y cerrar no funcionan. Esto se solucionó eliminando los temporales del navegador, y la caché del sitio.
Y una última incidencia, ... chequeamos todos los menús del backend y vemos que uno de ellos no funciona adecuadamente. Se trata del componente Enlaces Web (Weblink). Al parecer, se trata de un componente antiguo que, a partir de la v 3.4, Joomla no lo utiliza. Por tanto, lo que tenemos que hacer es deshabilitarlo en principio, aunque posteriormente habrá que desinstalarlo.
Lógicamente, una vez que finalmente hayamos conseguido actualizar, hacer los ajustes de temas y actualizaciones de extensiones que se requiera, se puede instalar de nuevo la extensión Akeeba y hacer una copia de seguridad que puede llevarse al servidor principal o a cualquier otro.
En último caso, si no fuese posible la actualización de la versión de Joomla podríamos utilizar extensiones de migración de datos como 2JXML, con ellas podríamos restaurar los datos de nuestro sitio en una instalación limpia de Joomla. En las pruebas que hecho con 2JXML ha dado buen resultado para restaurar artículos e imágenes, pero no ha sido posible restaurar los menús, lo que es un gran inconveniente. Habría que probar con otras extensiones similares de pago.