En aquest article explique els passos que he seguit per tal d'actualitzar la web d'Underground Revolution que tenia una versió antiga de Drupal 8 a la última versió de Drupal 10.
Aquesta web estava en la versió 8.8.5 de Drupal, i en la versió 7.4.33 de PHP, i per evidents motius de seguretat ja tocava actualitzar-la:
El tema que tenia instal·lat era Drupal 8 Zymphonies Theme, i d'ara endavant ja no el podrem fer servir i haurem de cercar una alternativa. El primer pas és desactivar el tema actual i desinstal·lar-ho:
Una vegada desinstal·lat, ficarem el tema Bartik per defecte i avant. D'aquesta manera no tindrem errors de frontend quan estiguem passant les actualitzacions:
Ara desinstal·larem tots els mòduls contrib que tinguem instal·lats, que són:
Admin Toolbar
Chaos Tool
Colorbox
Honeypot
Metatag
Migrate
Owl
Pathauto
Quick edit
Redirect after login
Responsive Views
TagClouds
Token
Tour
Twig Tweak
Webform
Youtube field
Ara descarregarem la última versió de Drupal 8, la drupal-8.9.20 des del repositori oficial de Drupal. Descomprimirem Drupal i ara copiarem del nostre actual projecte els directoris:
/sites/default/settings.php
/sites/default/files
I ja podrem començar l'actualització passant-li el update.php. Lo primer que veurem és que Drupal ens diu de moment que tenim dos canvis per fer pendents. Aleshores li passarem l'actualitzador:
En pocs segons anirà instal·lant-se:
I ja tenim instal·lada la versió 8.9.20 amb tots els continguts i imatges que teniem ja publicats a la base de dades:
I seguim. Ara li passarem la següent versió de Drupal 9, la versió 9.1.0 que descarregarem des del repositori oficial de Drupal, i farem el mateix que en pas previ de la versió 8.9.20, és a dir, descarregarem i descomprimirem Drupal. Li copiarem els fitxers de /sites/default com abans, i li passarem l'actualitzador del update.php:
Una novetat en aquesta versió 9 serà l'error que tindrem del Missing $settings['hash_salt'] el qual no ens deixarà continuar. Aleshores, anirem al fitxer de configuració settings.php d'aquesta nova versió 9 i configurarem la línea del hash_salt i avant:
I si ens dona error algun mòdul, haurem de buscar la versió compatible d'aquest, per exemple a mi em donava error el mòdul Youtube field i he hagut de descarregar una versió antiga (no de Drupal 9.1) i ha funcionat bé. La versió del mòdul l'he descarregada del repositori de Drupal.
I tornem a passar el fitxer update.php i a actualitzar la base de dades a la nova versió Drupal 9.1:
I en pocs segons anirà instal·lant-se Drupal 9.1:
I ja estem en la versió Drupal 9.1.0:
Ara que ja estem en la versió 9 de Drupal, anem a actualitzar el projecte a la última versió, la versió 9.5.10 que es va alliberar el passat 5 de juliol 2023.
Descarregarem el fitxer drupal-9.5.10.tar.gz, copiarem els fitxers del directori sites/default com ja hem fet dues vegades abans, i copiarem també els mòduls que tenim a modules/ en l'antiga versió 9.1 a aquesta nova versió:
I ara passarem l'actualitzador novament. A l'hora d'actualitzar a Drupal 9.5.10, l'instal·lador ens informa que estem fent servir PHP 7.4 i que necessitem tenir una versió superior, al menys la versió PHP 8.0. Aleshores configurarem el nostre servidor web per a apujar la versió de PHP. En el meu cas, he configurat el projecte amb PHP 8.1:
I continuem, tornem a passar l'instal·lador, el quan ens diu que va a fer 17 canvis pendents a la base de dades:
En pocs segons finalitzarà l'actualització, i en teoria no ens hauria de mostrar cap error:
I ara si anem als resums de la configuració veurem que ja estem en la versió Drupal 9.5.10:
I seguim! Ara anirem a descarregar l'última versió de Drupal 10, en concret la 10.1.2, i descomprimirem el fitxer tar.gz:
I ara fem els passos explicats anteriorment, és a dir, copiar els mòduls i els fitxers de sites/default. I passarem l'actualitzador de Drupal 10 però abans descarregarem cada mòdul per a la versió 10 que teniem funcionant abans, i tornarem a passar l'actualitzador:
- Chaos tools compatible per a Drupal 10
- jQuery UI compatible per a Drupal 10
- jQuery Draggable compatible per a Drupal 10
- jQuery Droppable compatible per a Drupal 10
- Panels compatible per a Drupal 10
- Youtube field compatible per a Drupal 10
I ara comencem el procés d'actualització amb update.php de Drupal 10, ens diu que necessita fer 14 actualitzacions:
Començarem el procés i en pocs segons acabarà d'actualitzar-se la base de dades:
I finalment, ja tenim el projecte web Drupal actualitzat a la última versió 10.1.2:
Com jo no m'encarregue massa de les qüestions estètiques ni l'estructura del frontend, he instal·lat un tema de Drupar.com que queda prou minimalista i és responsive, i ja es mostra la web amb una aparença relativament prou semblant a l'aparença que tenia abans la web d'Underground Revolution.
A nivell de funcionalitats, aquesta web d'U.R. és molt bàsica i no té massa mòduls, per tant de moment l'actualització i remodelació de la web ja està finalitzada. Com diuen al meu poble "Faena feta fa goig".
CAPTURES DE PANTALLA DE LES DISTINTES VERSIONS
- Captura de pantalla de la versió 8
- Captura de pantalla de la versió 10