Mise à jour manuelle du noyau Drupal
Avant de commencer
Si ce n'est pas encore fait, il est recommandé de lire cette introduction qui présente brièvement toutes les options possibles pour mettre à jour Drupal 8.
PS ! Cette procédure de mise à jour est également décrite dans le guide utilisateur.
Si vous avez installé des modules supplémentaires avec des dépendances externes via Composer, vous devez utiliser d'autres options de mise à jour, car ces instructions vont écraser le dossier vendor/.
Mise à jour manuelle du noyau Drupal 8
Étapes pour mettre à jour le noyau Drupal 8 via une installation manuelle et la ligne de commande (shell) :
1. Faites une sauvegarde de vos fichiers et de la base de données. Une sauvegarde complète vous permet de revenir facilement à la version précédente en cas d’échec de la mise à jour.
Optionnellement, si vous avez effectué des modifications manuelles dans des fichiers tels que .htaccess, composer.json ou robots.txt, copiez-les quelque part où vous pourrez les retrouver facilement. En effet, après avoir installé le nouveau noyau Drupal, vous devrez réappliquer ces modifications. Par exemple, Acquia Dev Desktop place le fichier .htaccess dans le répertoire racine, et sans lui, seule la page d’accueil de votre site fonctionnera.
Revenez toujours à la sauvegarde en cas d’erreur fatale durant la mise à jour.
2. Connectez-vous à Drupal avec un utilisateur disposant des droits « Administration des mises à jour du logiciel ».
3. Mettez votre site en mode maintenance. Pour cela :
- Accédez via l’interface d’administration à Administration > Configuration > Développement > Mode maintenance.
- Cochez la case « Mettre le site en mode maintenance ».
- Cliquez sur « Enregistrer la configuration (Save configuration) ».
4. Choisissez une des deux méthodes suivantes pour supprimer les fichiers dans le répertoire racine ainsi que dans les répertoires « core » et « vendor », en laissant intacts les répertoires « modules », « profile », « sites », « themes » :
Utilisation du shell
1. Accédez à votre installation Drupal :
cd /chemin/vers/votre/dossier/drupal
2. Supprimez les dossiers 'core' et 'vendor'
rm -rf core vendor
3. Supprimez tous les fichiers dans le répertoire racine.
rm -f *.* .[a-z]*
Utilisation d’un client FTP
1. Accédez au répertoire Drupal.
2. Sélectionnez tous les fichiers du répertoire racine (y compris les fichiers cachés commençant par un point), ainsi que les dossiers « core » et « vendor », puis supprimez-les. Ne supprimez pas les dossiers 'modules', 'profiles', 'sites' et 'themes'.
5. Parfois, la mise à jour inclut des modifications du fichier default.settings.php. Cela sera indiqué dans les notes de version. Vous pouvez trouver les notes de version pour votre version sur https://www.drupal.org/project/drupal. En bas de la page du projet, dans la section « Téléchargements », utilisez le lien correspondant à votre version Drupal pour consulter les notes de version. Si votre version n’apparaît pas dans la liste, utilisez le lien « Voir toutes les versions ». Sur cette page, vous pouvez faire défiler ou utiliser le filtre pour trouver votre version et ses notes. Si la mise à jour comprend des modifications du fichier default.settings.php, procédez ainsi :
- Copiez les entrées personnalisées et spécifiques au site depuis la sauvegarde que vous avez faite vers le nouveau fichier settings.php. Vous aurez certainement besoin des lignes contenant les informations de la base de données, et vous voudrez aussi copier toutes autres configurations que vous avez ajoutées.
- Faites une copie du nouveau fichier default.settings.php et renommez-la en settings.php (en écrasant votre ancien fichier settings.php).
- Faites une sauvegarde de votre fichier settings.php sous un autre nom.
- Trouvez le fichier settings.php dans le répertoire /sites/* (généralement sites/default).
6. Choisissez une des deux méthodes suivantes pour obtenir les nouveaux fichiers dans le répertoire racine ainsi que dans les dossiers « core » et « vendor » :
Utilisation du shell
1. Dans une console Unix/Linux classique, utilisez les commandes suivantes pour télécharger et extraire :
wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz tar zxf drupal-x.y.z.tar.gz
2. Cette commande a créé un nouveau dossier drupal-x.y.z/ contenant tous les fichiers et dossiers Drupal. Entrez dans ce dossier et copiez les dossiers « core » et « vendor » ainsi que les fichiers du répertoire racine vers votre installation Drupal :
cd drupal-x.y.z cp -R core vendor /chemin/vers/votre/dossier/drupal cp *.* .[a-z]* /chemin/vers/votre/dossier/drupal
Utilisation du navigateur et d’un client FTP
- Téléchargez la dernière version Drupal 8.x.x depuis le site https://www.drupal.org/download dans un dossier situé hors de votre webroot.
- Décompressez l’archive.
- Utilisez un client FTP pour transférer les dossiers « core » et « vendor », ainsi que les fichiers du répertoire racine, dans votre dossier Drupal.
7. Si nécessaire, réappliquez manuellement toutes modifications aux fichiers tels que .htaccess, composer.json ou robots.txt.
8. Depuis votre navigateur, lancez update.php en visitant http://www.example.com/update.php (remplacez www.example.com par votre nom de domaine). Cela mettra à jour les tables principales de la base de données.
Optionnellement, si vous n’êtes pas connecté en tant qu’utilisateur avec la permission « Administration des mises à jour du logiciel » ou avec le compte service du site (créé lors de l’installation), vous ne pourrez pas accéder à update.php. Voici comment contourner cette restriction :
- Ouvrez le fichier settings.php avec un éditeur de texte.
- Trouvez la ligne :
$settings['update_free_access'] = FALSE;
- Changez la valeur FALSE en TRUE :
$settings['update_free_access'] = TRUE;
- Visitez à nouveau la page /update.php.
- Une fois les opérations terminées, pour des raisons de sécurité, remettez la valeur à FALSE.
9. Connectez-vous à Drupal en tant qu’administrateur et allez à « Administration » > « Rapports » > « Rapport d’état » (Administration > Reports > Status report). Vérifiez que tout fonctionne correctement.
10. Toujours dans l’administration Drupal, allez à Administration > Configuration > Développement > Mode maintenance. Décochez la case « Mettre le site en mode maintenance » et cliquez sur « Enregistrer ».
11. Après la mise à jour, supprimez la version Drupal que vous avez téléchargée et décompressée précédemment :
rm drupal-x.y.z.tar.gz rm -rf drupal-x.y.z/
12. Terminé. Vous avez mis à jour avec succès le noyau Drupal 8 via une installation manuelle et la ligne de commande / navigateur. :)