Una de las cosas que más molesta a los usuarios de Drupal es el proceso de actualizar el núcleo del software, especialmente si vienes de WordPress y observas que ese CMS, técnicamente más pobre que Drupal, puede realizar actualizaciones automáticas desde su versión 3.7 (de octubre de 2013).

Además de WordPress existen otros CMS que permiten la actualización automática del core del CMS sin quebraderos de cabeza para el usuarios. Pero en Drupal… NO.

Lo cierto es que este asunto es bastante recurrente en los foros de Drupal. De hecho, en 2009 se empezó a hablar de este tema y se volvió a retomar con la aparición de la versión 8.0, pero los avances son bastante pobres y, en el caso de que se produzcan, no tendrían “efectos retroactivos”, por lo que solo sería útiles para las versiones más actuales del CMS.

Con sorpresa descubrí hace unos meses que la última versión del panel de control de hosting Plesk se encarga de hacer la actualización automática del núcleo de este CMS de manera automática. Pero claro, no todo el mundo usa Plesk.

Plesk actualiza la core de drupal automáticamente

Así que el problema sigue estando ahí. Como además es una cuestión bastante recurrente en mi asignatura, creo que es interesante hacer una pequeña reseña sobre uno de los muchos procedimientos que existen para realizar esta actualización.

Y digo “muchos procedimientos” porque realmente es posible realizar la actualización de cuatro formas diferentes. De todas ellas, la que más me gusta es la que emplea el shell para comandos Drush, del que cada vez esto más enamorado, pero como no es el que suele emplear la gente normal, me decantaré por hacer la estándar.

Antes de nada hay que especificar que este tipo de actualizaciones son del tipo minor, es decir, la que actualiza de una versión 7.x a otra 7.x superior. Las actualizaciones major son las que sirven para pasar a versiones superiores, por ejemplo, de una 6 a una 7 o de una 7 a una 8. En Drupal los cambios minor se denominan updating (actualización), mientas que las major son upgrading (mejoras).

Los pasos son bastante sencillos, pero conviene ser riguroso en su tratamiento. Drupal es un software muy sensible, y realizar las cosas en un orden diferente al esperado hace que el software responda de manera errónea. Para mostrar el proceso voy a actualizar una versión

7.50, de Julio de 2018, a la última 7.x lanzada en el momento de hacer esta entrada, que es la 7.61, de noviembre de 2018.

Versión 7.50 instalada

1.- Realizar una copia de seguridad de la base de datos

Este es siempre un paso imprescindible siempre que se vaya a realizar cualquier cosa importante en Drupal. Es más, yo recomiendo hacerla incluso antes de instalar módulos y/o temas, ya que la experiencia me dice que en muchas ocasiones un solo módulo puede volver muy inestable cualquier instalación. Pues con más motivo, si vas a actualizar, lo ideal es realizar la copia de la base de datos completa en la que tengas instalado Drupal. Así, si las cosas salen mal siempre puedes volver al punto en el que estabas antes de entrar en pánico.

 

2.- Crear una copia de seguridad de los ficheros

En la mayoría de CMS siempre hay dos elementos clave a la hora de hacer la copia de seguridad. Uno es el evidente, la base de datos; pero mucha gente suele olvidar el segundo elemento: los ficheros del sistema. La base de datos solo almacena datos (que no es poco, porque lo son todo), pero los ficheros de tu sitio web con los pdf, las imágenes, los php, los ficheros que hacen que funcionen tus módulos y temas… son igual de importantes. Hacer una copia de seguridad solo de una cosa no vale para nada. Es necesario hacer la copia de seguridad del contenido de tu carpeta sites, que es donde se almacena todo este contenido en Drupal. Para ello puedes usar el administrador de ficheros de tu hosting o un cliente FTP.

Copia de seguridad de la carpeta sites

3.- Poner en sitio en modo mantenimiento

Haciendo eso consigues que ningún usuario modifique el contenido del sitio web al mismo tiempo que se produce la actualización, con el consiguiente problema de recursividad que puede producir en la base de datos. La ruta donde se encuentra esa opción es:

Administración → Configuración → Desarrollo → Mantenimiento

O si lo tienes en inglés:

Administration → Configuration → Develpoment → Maintance mode

Poner el sitio web en modo mantenimiento

4.- Eliminar ficheros

Desde el administrador de ficheros del hosting (o desde el FTP) debes eliminar todo el contenido de tu servidor web donde se encuentre Drupal. Suponiendo que solo tienes el CMS instalado en la raíz del servidor, deberías eliminar todo el contenido de tu raíz salvo los siguientes ficheros y carpetas:

  • robots.txt, que se supone que ya lo tienes configurado para tu web y, dado que lo que vas a instalar es un software que tiene más o menos la misma estructura que el ya tenías, no debería haber cambio alguno.
  • .htaccess, por el mismo motivo que el anterior.
  • – .gitignore, que es un archivo que se emplea para configurar el control de versiones
  • – favicon.ico, si tienes creado un favicon para el sitio, lo ideal es que lo mantengas en las siguientes versiones de la web.
  • – Cualquier otro fichero que tengas para la gestión de posicionamiento. Por ejemplo, Bing Webmasters Tools suele emplear el fichero BingSiteAuth.xml para verificar la autenticidad de un sitio dado de alta dentro de su sistema.
  • – Sites. La carpeta donde se almacenan todos los ficheros de tu sitio web (imágenes, pdfs… ) así como las plantillas de los temas, los php, los ficheros de los módulos, etc.

Eliminando ficheros del servidor

5.- Descargar la última versión de Drupal y descomprimir

Generalmente puedes obtenerla desde la página principal de Drupal, pero como últimamente le dan mucho bombo a la versión 8, ocultando la 7, y entiendo que lo que pretendes hacer es actualizar una 7.x, lo ideal es acudir a la página de descarga del Drupal Core.

Una vez descargada, la debes descomprimir en el lugar donde tenías la anterior instalación hecha (raíz, supongo). Evidentemente el sistema te dirá que ya existen algunos ficheros en la carpeta destino, a lo que tendrás que responder que quieres reemplazar esos ficheros y carpetas. De esa manera mantendrás los ficheros que no habías borrado en el paso anterior.

 

6.- Actualizar la base de datos

Es un proceso típico en Drupal que permite verificar que la base de datos que tienes está bien conectada con lo que acabas de instalar, ya sea un módulo o, como ocurre en esta ocasión, el core. Para ello solo tendrás que añadir update.php al dominio principal desde el que trabajas. Si, por ejemplo estás trabajando en local, la cosa sería: http://localhost/update.php

actualizando la base de datos

Con darle a la opción de “continuar”, y tras pocos segundos de espera, deberías obtener el mensaje de que todo está perfecto, y podrás acceder a la página de administrador del sitio.

Base de datos actualizada

7.- Restablecer el sitio

Lo único que queda es eliminar el modo mantenimiento. Si quieres tener seguridad de que ya estás trabajando con la versión que deseas solo debes acudir a los informes, y pedir que genere un informe de situación actual, que te mostrará la versión con la que trabajarás a partir de ahora.

Drupal actualizado a la última versión 7.x

 

G
M
T
Detectar idioma
Afrikáans
Albanés
Alemán
Amhárico
Árabe
Armenio
Azerí
Bengalí
Bielorruso
Birmano
Bosnio
Búlgaro
Camboyano
Canarés
Catalán
Cebuano
Checo
Chichewa
Chino simp
Chino trad
Cincalés
Coreano
Corso
Criollo haitiano
Croata
Danés
Eslovaco
Esloveno
Español
Esperanto
Estonio
Euskera
Finlandés
Francés
Frisio
Gaélico escocés
Galés
Gallego
Georgiano
Griego
Gujarati
Hausa
Hawaiano
Hebreo
Hindi
Hmong
Holandés
Húngaro
Igbo
Indonesio
Inglés
Irlandés
Islandés
Italiano
Japonés
Javanés
Kazajo
Kirguís
Kurdo
Lao
Latín
Letón
Lituano
Luxemburgués
Macedonio
Malayalam
Malayo
Malgache
Maltés
Maorí
Maratí
Mongol
Nepalí
Noruego
Panyabí
Pastún
Persa
Polaco
Portugués
Rumano
Ruso
Samoano
Serbio
Sesoto
Shona
Sindhi
Somalí
Suajili
Sueco
Sundanés
Tagalo
Tailandés
Tamil
Tayiko
Telugu
Turco
Ucraniano
Urdu
Uzbeco
Vietnamita
Xhosa
Yidis
Yoruba
Zulú
Afrikáans
Albanés
Alemán
Amhárico
Árabe
Armenio
Azerí
Bengalí
Bielorruso
Birmano
Bosnio
Búlgaro
Camboyano
Canarés
Catalán
Cebuano
Checo
Chichewa
Chino simp
Chino trad
Cincalés
Coreano
Corso
Criollo haitiano
Croata
Danés
Eslovaco
Esloveno
Español
Esperanto
Estonio
Euskera
Finlandés
Francés
Frisio
Gaélico escocés
Galés
Gallego
Georgiano
Griego
Gujarati
Hausa
Hawaiano
Hebreo
Hindi
Hmong
Holandés
Húngaro
Igbo
Indonesio
Inglés
Irlandés
Islandés
Italiano
Japonés
Javanés
Kazajo
Kirguís
Kurdo
Lao
Latín
Letón
Lituano
Luxemburgués
Macedonio
Malayalam
Malayo
Malgache
Maltés
Maorí
Maratí
Mongol
Nepalí
Noruego
Panyabí
Pastún
Persa
Polaco
Portugués
Rumano
Ruso
Samoano
Serbio
Sesoto
Shona
Sindhi
Somalí
Suajili
Sueco
Sundanés
Tagalo
Tailandés
Tamil
Tayiko
Telugu
Turco
Ucraniano
Urdu
Uzbeco
Vietnamita
Xhosa
Yidis
Yoruba
Zulú
La función de sonido está limitada a 200 caracteres