Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Maintenance de Drupal » : différence entre les versions
| (30 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
==Mise à jour de Drupal 7.xx == | ==Mise à jour de Drupal 7.xx (déprécié)== | ||
Avant de réaliser une mise à jour de Drupal, faites une sauvegarde complète de l'application Drupal et de sa base de données. | Avant de réaliser une mise à jour de Drupal, faites une sauvegarde complète de l'application Drupal et de sa base de données. | ||
Créer les répertoires de sauvegarde des applications de recette et de production : | Créer les répertoires de sauvegarde des applications de recette et de production : | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Ligne 14 : | Ligne 13 : | ||
cd ../ | cd ../ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Sauvegarde de la base de données === | |||
Récupérer le nom de la base données, son utilisateur et son mot de passe dans /current-drupal/sites/default/setting.php | Récupérer le nom de la base données, son utilisateur et son mot de passe dans /current-drupal/sites/default/setting.php | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Ligne 22 : | Ligne 22 : | ||
mysqldump -v -B drupal_orleans_2 -u bmorleans_pleade -p > recette/mysql/dump-drupal.sql | mysqldump -v -B drupal_orleans_2 -u bmorleans_pleade -p > recette/mysql/dump-drupal.sql | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Pour mettre à jour le | === Sauvegarde de Drupal === | ||
Ensuite on re- | Copier l'application Drupal à sauvegarder dans le répertoire de backup. | ||
<syntaxhighlight lang="bash"> | |||
cd ../../app | |||
cp -r drupal-7.36-20150403 ../backups/20150512/drupal | |||
mkdir drupal-7.37-20150512 | |||
cp -r drupal-7.36-20150403 drupal-7.37-20150512 | |||
</syntaxhighlight> | |||
=== Mise à jour de Drupal (déprécié) === | |||
==== Mise à jour automatique avec Drush ==== | |||
Commencer par installer Drush. | |||
Pour mettre à jour le cœur, (avec un utilisateur qui peut écrire dans $DRUPAL) : | |||
<syntaxhighlight lang="bash"> | |||
cd $DRUPAL | |||
drush up | |||
</syntaxhighlight> | |||
Puis, suivez les instructions et demandes de confirmation. | |||
{{important|Cette commande récupère le fichier en FTP, fait la mise à jour, met la base de données à jour et vide le cache de Drupal en une opération.}} | |||
==== Manuelle==== | |||
Une fois les sauvegardes terminées, on peut faire la mise à jour de l'application Drupal. | |||
Copier l'application Drupal, à mettre à jour et à sauvegarder, dans un nouveau répertoire dont le nom contient la version de Drupal suivi de la date du jour. | |||
<syntaxhighlight lang="bash"> | |||
mkdir drupal-7.37-20150512 | |||
cp -r current-drupal/* drupal-7.37-20150512 | |||
</syntaxhighlight> | |||
* Récupérer l'archive de la dernière version 7.xx sur le site de Drupal et la copier sur le serveur. | |||
* Ensuite on copie les fichiers de la version téléchargée et à jour de Drupal vers la version actuelle. | |||
* Vérifier s'il est nécessaire, ou non de, remplacer les fichiers suivants : .htaccess, web.config, robots.txt et /sites/default/setting.php | |||
<syntaxhighlight lang="bash"> | |||
cp -rfv drupal-7.37/* drupal-7.37-20150512 | |||
</syntaxhighlight> | |||
On va maintenant basculer l'application mise à jour en production. | |||
Pour cela : | |||
* Supprimer le lien symbolique vers l'application Drupal ; current-drupal | |||
* Créer le lien symbolique vers la nouvelle application. | |||
<syntaxhighlight lang="bash"> | |||
ln -sf drupal-7.37-20150512 current-drupal | |||
</syntaxhighlight> | |||
==== Mise à jour semi-automatisée ==== | |||
# Récupérer le patch sur http://fuerstnet.de/en/drupal-upgrade-easy-way | |||
# Exemple de fichier: http://fuerstnet.de/sites/fuerstnet.de/files/patches/drupal-7.39-to-7.41.patch | |||
# On le copie sur le serveur dans /tmp/drupal.patch | |||
# On teste l'application du patch: | |||
<syntaxhighlight lang="bash"> | |||
cd $DRUPAL | |||
patch -p1 --dry-run < /tmp/drupal.patch | |||
</syntaxhighlight> | |||
# S'il n'y aucun message d'erreur, on applique: | |||
<syntaxhighlight lang="bash"> | |||
cd $DRUPAL | |||
patch -p1 < /tmp/drupal.patch | |||
</syntaxhighlight> | |||
# Redémarrer apache | |||
<syntaxhighlight lang="bash"> | |||
service apache2 restart ou service httpd restart | |||
</syntaxhighlight> | |||
# Vider le cache drupal | |||
<syntaxhighlight lang="bash"> | |||
cd $DRUPAL | |||
drush cc all | |||
</syntaxhighlight> | |||
# Se connecter à l'interface d'admin et vérifier qu'il n'y a pas de màj de Bases de données à faire. | |||
# Lors d'un déploiement multi-sites, lancer le script de mise à jour de base de données pour chaque site (par exemple, pour les deux instances pour le portail de la Guadeloupe, Internet et Salle de lecture) | |||
{{important|En cas d'erreurs du type : }} | |||
<syntaxhighlight lang="bash"> | |||
Reversed (or previously applied) patch detected | |||
</syntaxhighlight> | |||
ou | |||
<syntaxhighlight lang="bash"> | |||
1 out of 2 hunks FAILED | |||
</syntaxhighlight> | |||
lors du dry run ou de l'application du patch, arrêter immédiatement le patch et faites l'upgrade en suivant les étapes décrites dans le fichier : UPGRADING.txt. | |||
Note: If the patch process gets interrupted and leaves a mix of patched and unpatched files you may re-run it by ignoring already patched files after eliminating the reason of the interruption: | |||
<syntaxhighlight lang="bash"> | |||
patch -p1 -N < PATCHFILE | |||
</syntaxhighlight> | |||
You may savely remove reject files created during that process: | |||
<syntaxhighlight lang="bash"> | |||
find . -name "*.rej" | xargs rm | |||
</syntaxhighlight> | |||
=== Mise à jour des modules de Drupal === | |||
==== Manuelle==== | |||
En règle générale, on trouve la liste des modules à mettre à jour sur le rapport de l'application Drupal à la page http://[URL]/admin/reports/updates. | |||
* Récupérer les archives des versions à mettre à jour sur le site de Drupal. | |||
* Copier les mises à jour des modules sur le serveur | |||
* Remplacer par les nouvelles versions | |||
* Faire un update entre chaque module mis à jour dans Drupal depuis l'URL : http://[URL]/update.php et suivre les consignes | |||
<syntaxhighlight lang="bash"> | |||
cp -rv transferts/backup_migrate/* modules/backup_migrate/ | |||
</syntaxhighlight> | |||
==== Automatique avec Drush ==== | |||
Commencer par installer Drush. | |||
Pour être en place ce mécanisme, il faut suivre les consignes suivantes en travaillant avec un utilisateur qui peut écrire dans $DRUPAL : | |||
<syntaxhighlight lang="bash"> | |||
cd $DRUPAL | |||
drush up (liste toutes les mises à jour à faire avec le nom système des modules à mettre à jour) | |||
drush up [le-nom-du-module-a-mettre-a-jour] | |||
</syntaxhighlight> | |||
{{important|Cette commande récupère le fichier en FTP, fait la mise à jour, met la base de données à jour et vide le cache de Drupal en une opération.}} | |||
Pour mettre à jour le cœur, cf. supra. | |||
==== Automatique (dépréciée) ==== | |||
Drupal permet de faire les mises à jour des modules depuis l'interface d'administration : admin/reports/updates/update et en téléchargeant les modules à mettre à jour sur le serveur où se trouve Drupal. | |||
Pour être en place ce mécanisme, il faut suivre les consignes suivantes : | |||
<syntaxhighlight lang="bash"> | |||
cd $DRUPAL | |||
cd .. | |||
sudo chown -R www-data:www-data $DRUPAL | |||
</syntaxhighlight> | |||
{{important|Attention, cette commande signifie que ajlsm ne pourra plus écrire dans les fichiers, uniquement www-data.}} | |||
Dernière version du 21 juillet 2022 à 14:19
Mise à jour de Drupal 7.xx (déprécié)
[modifier | modifier le wikicode]Avant de réaliser une mise à jour de Drupal, faites une sauvegarde complète de l'application Drupal et de sa base de données. Créer les répertoires de sauvegarde des applications de recette et de production :
cd /home/ajlsm/production/aurelia.orleans.fr/backups/
mkdir 20150512
cd 20150512
mkdir recette production
cd recette
mkdir drupal mysql
cd ../production
mkdir drupal mysql
cd ../
Sauvegarde de la base de données
[modifier | modifier le wikicode]Récupérer le nom de la base données, son utilisateur et son mot de passe dans /current-drupal/sites/default/setting.php
vim /home/ajlsm/production/aurelia.orleans.fr//app/current-drupal/sites/default/setting.php
Faire le dump de la base de données
mysqldump -v -B drupal_orleans_2 -u bmorleans_pleade -p > recette/mysql/dump-drupal.sql
Sauvegarde de Drupal
[modifier | modifier le wikicode]Copier l'application Drupal à sauvegarder dans le répertoire de backup.
cd ../../app
cp -r drupal-7.36-20150403 ../backups/20150512/drupal
mkdir drupal-7.37-20150512
cp -r drupal-7.36-20150403 drupal-7.37-20150512
Mise à jour de Drupal (déprécié)
[modifier | modifier le wikicode]Mise à jour automatique avec Drush
[modifier | modifier le wikicode]Commencer par installer Drush. Pour mettre à jour le cœur, (avec un utilisateur qui peut écrire dans $DRUPAL) :
cd $DRUPAL
drush up
Puis, suivez les instructions et demandes de confirmation.
Manuelle
[modifier | modifier le wikicode]Une fois les sauvegardes terminées, on peut faire la mise à jour de l'application Drupal. Copier l'application Drupal, à mettre à jour et à sauvegarder, dans un nouveau répertoire dont le nom contient la version de Drupal suivi de la date du jour.
mkdir drupal-7.37-20150512
cp -r current-drupal/* drupal-7.37-20150512
- Récupérer l'archive de la dernière version 7.xx sur le site de Drupal et la copier sur le serveur.
- Ensuite on copie les fichiers de la version téléchargée et à jour de Drupal vers la version actuelle.
- Vérifier s'il est nécessaire, ou non de, remplacer les fichiers suivants : .htaccess, web.config, robots.txt et /sites/default/setting.php
cp -rfv drupal-7.37/* drupal-7.37-20150512
On va maintenant basculer l'application mise à jour en production.
Pour cela :
- Supprimer le lien symbolique vers l'application Drupal ; current-drupal
- Créer le lien symbolique vers la nouvelle application.
ln -sf drupal-7.37-20150512 current-drupal
Mise à jour semi-automatisée
[modifier | modifier le wikicode]- Récupérer le patch sur http://fuerstnet.de/en/drupal-upgrade-easy-way
- Exemple de fichier: http://fuerstnet.de/sites/fuerstnet.de/files/patches/drupal-7.39-to-7.41.patch
- On le copie sur le serveur dans /tmp/drupal.patch
- On teste l'application du patch:
cd $DRUPAL
patch -p1 --dry-run < /tmp/drupal.patch
- S'il n'y aucun message d'erreur, on applique:
cd $DRUPAL
patch -p1 < /tmp/drupal.patch
- Redémarrer apache
service apache2 restart ou service httpd restart
- Vider le cache drupal
cd $DRUPAL
drush cc all
- Se connecter à l'interface d'admin et vérifier qu'il n'y a pas de màj de Bases de données à faire.
- Lors d'un déploiement multi-sites, lancer le script de mise à jour de base de données pour chaque site (par exemple, pour les deux instances pour le portail de la Guadeloupe, Internet et Salle de lecture)
Reversed (or previously applied) patch detected
ou
1 out of 2 hunks FAILED
lors du dry run ou de l'application du patch, arrêter immédiatement le patch et faites l'upgrade en suivant les étapes décrites dans le fichier : UPGRADING.txt. Note: If the patch process gets interrupted and leaves a mix of patched and unpatched files you may re-run it by ignoring already patched files after eliminating the reason of the interruption:
patch -p1 -N < PATCHFILE
You may savely remove reject files created during that process:
find . -name "*.rej" | xargs rm
Mise à jour des modules de Drupal
[modifier | modifier le wikicode]Manuelle
[modifier | modifier le wikicode]En règle générale, on trouve la liste des modules à mettre à jour sur le rapport de l'application Drupal à la page http://[URL]/admin/reports/updates.
- Récupérer les archives des versions à mettre à jour sur le site de Drupal.
- Copier les mises à jour des modules sur le serveur
- Remplacer par les nouvelles versions
- Faire un update entre chaque module mis à jour dans Drupal depuis l'URL : http://[URL]/update.php et suivre les consignes
cp -rv transferts/backup_migrate/* modules/backup_migrate/
Automatique avec Drush
[modifier | modifier le wikicode]Commencer par installer Drush. Pour être en place ce mécanisme, il faut suivre les consignes suivantes en travaillant avec un utilisateur qui peut écrire dans $DRUPAL :
cd $DRUPAL
drush up (liste toutes les mises à jour à faire avec le nom système des modules à mettre à jour)
drush up [le-nom-du-module-a-mettre-a-jour]
Pour mettre à jour le cœur, cf. supra.
Automatique (dépréciée)
[modifier | modifier le wikicode]Drupal permet de faire les mises à jour des modules depuis l'interface d'administration : admin/reports/updates/update et en téléchargeant les modules à mettre à jour sur le serveur où se trouve Drupal. Pour être en place ce mécanisme, il faut suivre les consignes suivantes :
cd $DRUPAL
cd ..
sudo chown -R www-data:www-data $DRUPAL