Actualització feta, ha segut més senzill del que pensava, res s veure amb les actualitzacions de Drupal 5.x, 6.x o 7.x, ara ha anat tot rodat. I ha arribat el dia, ja tinc Drupal 11 en producció.
Feia uns dies vaig actualitzar la web a la última versió de la branca 10, i ho documentava tot en l'article Actualitzant el Drupal de la web a la última versió de la branca 10, la 10.6.2 .
CREEM UNA NOVA BASE DE DADES PER A LA VERSIÓ DRUPAL 11
Començaré creant una base de dades nova a MariaDB anomenada hipotèticament drupal11_db:
root@localhost [(none)]> CREATE DATABASE drupal11_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 1 row affected (0.007 sec)
Ara li donem permisos a l'usuari EL_TEU_USUARI per a que puga escriure, indexar i esborrar totes les taules, i finalment especifiquem una contrasenya:
root@localhost [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal11_db.* TO 'EL_TEU_USUARI'@'localhost' IDENTIFIED BY 'LA_TEUA_CONTRASENYA!';
Query OK, 0 rows affected (0.024 sec)
Fem el flush per a executar els canvis dels permisos i eixim:
root@localhost [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)
root@localhost [(none)]> quit;
CLONEM LA BASE DE DADES ACTUAL DE PRODUCCIÓ A L'ENTORN DE DESENVOLUPAMENT
Jo totes les proves i canvis que faig, els execute en el servidor de desenvolupament. Aleshores anem a clonar la base de dades de producció i farem una còpia de seguretat inicial amb mysqldump:
# mysqldump drupal10_db > BACKUP.sql -p
Ja tenim una còpia de seguretat del nostre Drupal actual de producció, que és la versió 10.6.2. Ara insertarem el contingut de BACKUP.sql en la nova base de dades que hem creat en el pas anterior, drupal11_db de la següent manera:
# mysql drupal11_db BACKUP.sql -p
I ara ja tenim la base de dadades de l'entorn de desenvolupament (drupal11_db) idèntic a la de producció (drupal10_db).
PREPAREM L'ENTORN PER A FER L'ACTUALITZACIÓ DES DEL NAVEGADOR WEB
Tenim dos entorns: producció i desenvolupament. Haurem de configurar l'entorn de desenvolupament amb tots els requeriments de versions d'Nginx, MariaDB i PHP necessaris per a Drupal 11, i també crearem un subdomini des d'on farem l'actualització de Drupal 10 a Drupal 11. Jo m'he creat el subdomini http://desenvolupament.dipcas.es.
Haurem de clonar tota la web de producció amb tar cvfz web.tar.gz web i l'exportem al servidor de desenvolupament. I ara si intentem veure-la amb le navegador veurem l'error "The provided host name is not valid for this server":

Això és perquè estem fent servir el subdomini http://desenvolupament.dipcas.es i no l'hem configurat al fitxer de configuració, i Drupal, per seguretat no permet accedir. Per a donar d'alta aquest subdomini modificarem el fitxer de configuració.
Primer li donem permisos d'escriptura:
chmod 777 ./sites/default/settings.php
I ara afegim el subdomini "desenvolupament.joancatala.net":
$settings['trusted_host_patterns'] = array(
'^localhost$',
'^joancatala\.net$',
'^www\.joancatala\.net$',
'^desenvolupamenet\.joancatala\.net$',
);
I ja està, si tornem a obrir la web Drupal 10 veurem que ja es mostra bé:

DESCARREGUEM DRUPAL 11
Ara anem a descarregar la última versió de Drupal 11, concretament la 11.3.3 des de la web oficial https://www.drupal.org/project/drupal/releases/11.3.3.

Jo m'ho descarregue i ho descomprimisc des de la terminal fent:
# wget https://ftp.drupal.org/files/projects/drupal-11.3.3.tar.gz
# tar xvfz drupal-11.3.3.tar.gz
Ara copiarem el fitxer de configuració, el theme actual, els mòduls i tot el directori on tenim els fitxers de la web /sites/default/files, aleshores farem:
# cp -rf desenvolupament.joancatala.net/sites/default/settings.php drupal11/sites/default/.
# cp -rf desenvolupament.joancatala.net/sites/default/files/ drupal11/sites/default/.
# cp -rf desenvolupament.joancatala.netl/modules/contrib/ drupal11/modules/.
# cp -rf desenvolupament.joancatala.net/themes/contrib drupal11/themes/.
INICIEM L'ACTUALITZACIÓ A DRUPAL 11
Les actualitzacions des del navegador web es fan executant l'script update.php. Per a poder actualitzar la base de dades d'un projecte Drupal cal editar el fitxer de configuració /sites/default/settings.php i reemplaçar la cadena on diu:
$settings['update_free_access'] = FALSE;
i deixar-ho així:
$settings['update_free_access'] = TRUE;
Ara ja podem iniciar l'actualització a una web drupal escrivint http://url_web/update.php.

Ara veig unes incompatibilitats de mòduls que no em deixen continuar amb el procés d'actualització. Els mòduls són els següents:
- https://www.drupal.org/project/colorbox
- https://www.drupal.org/project/colorbox_inline
- https://www.drupal.org/project/entity_reference_revisions
- https://www.drupal.org/project/fontawesome
M'he descarregat l'última versió dels mòduls excepte el colorbox_inline, el qual no té soport per a Drupal 11, aleshores hauré de prescindir d'aquest mòdul.
També m'apareix una incompatibiitat de theme Bootstrap 5, aleshores em descarregue la última versió 4.0.7 de Bootstrap 5.
I ara, amb estos mòduls i theme actualitzats, sí que podem iniciar el procés d'actualització:

L'actualitzador de Drupal 11 ens informa que hi ha 31 actualtizacions que s'han de fer:

Ací veiem el procés d'actualització. Ho ha fet prou ràpidament, en menys de 3 minuts:

I bé, ací ja ha finalitzat l'actualització:

Ja tenim la web actualitzada a la última versió de Drupal 11.
Ara per mesures de seguretat, tornem a editar el fitxer settings.php per a no permetre actualitzacions en línia des del navegador deixant-ho així:
$settings['update_free_access'] = FALSE;
CONFIGURACIÓ DEL THEME BOOTSTRAP 5
El theme que tinc instal·lat és el Bootstrap 5, m'agrada perquè és responsive i funciona bé per al tipus de web que vull, amb articles llargs i només una columneta a la dreta on mostre les opcions d'accessibilitat i les categories.
Docns bé, copiarem el css de producció a la nova versió de Boostrap 5 així:
cp./drupal10/themes/contrib/bootstrap5/css/style.css ./desenvolupament.joancatdala.net/themes/contrib/bootstrap5/css/.
REVISIÓ FINAL DE L'ESTAT A DRUPAL 11
I bé, ara podem anar al menú Administració + Reports per a veure la situació de la nostra instal·lació per si tenim algun problema, algun avís de seguretat important, i les diferents versions que tenim en aquest projecte.
Ací veiem que tenim ja la versió de Drupal 11.3.3, amb el PHP 8.4.15, el Nginx versió 1.28.0 i la versió 11.8.5 de MariaDB:

Ací veiem més dades sobre la web amb Drupal 11 on veiem que està tot al dia, que està tot ben configurat perquè no mostra cap error i d'ara endavant aniré mirant les novetats que m'aporta la versió 11 de Drupal:

Ací continua mostrant les diferents variables i configuracions que tenim al Drupal 11. I pareix que funciona tot bé, és una bona notícia veure que ha segut molt fàcil migrar de la última versió de Drupal 10 a la última de Drupal 11 la meua web, la qual mantinc des de fa molts anys, quan Drupal tenia la versió 6, i ha anat actualitzant-se perfectament des d'aleshores:

Ara necessite revisar unes coses per l'accessibilitat web i per l'efecte del mòdul Colorbox perquè, al no existir el mòdul Color Inline com he explicat abans de fer el procés d'actualització, doncs hauré de pensar com fer l'aument de les fotos quan fem click sobre aquestes.
Seguiré aprenent les novetats que m'ofereix la versió 11 de Drupal.
MODIFICACIONS POSTERIORS
Per al World Wide Web actual, necessitem que funcione https per defecte, aleshores generaré el certificat SSL amb:
# certbot --nginx -d joancatala.net -d www.joancatala.net
En el tallafocs, configuraré el pas del domini amb:
server {
server_name joancatala.net;
#listen 443 ssl;
#
location / {
proxy_pass http://IP_DEL_SERVIDOR/;
proxy_set_header Host $host;
}
#
listen 443 ssl; # managed by Certbot
ssl_certificate /usr/local/etc/letsencrypt/live/joancatala.net-0003/fullchain.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/letsencrypt/live/joancatala.net-0003/privkey.pem; # managed by Certbot
include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
I així ja tenim configurada la pasarel·la cap a joancatala.net amb i amb el HTTPS funcionant.
Següent pas, Google Analytics. Em cal editar la plantilla https://www.drupal.org/project/colorbox_inline/html.html.twig per a afegir entre el <head> i el </ head> el codi per a Google Analytics:

I per últim també hem de ficar entre el <head> i el </ head> el codi Javascript que vaig desenvolupar per a tenir una web amb múltiples versions de contrastos de colors, un mòdul personal que vaig implementar per a l'Accessibilitat web en la meua web:

I ara sí, ja tinc les funcionalitats d'accessibilitat web, el Google Analytics per a les estadístiques webs i tota la web funcionant amb Drupal 11. Faena feta fa goig.





