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
| Ligne 125 : | Ligne 125 : | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cd $DRUPAL | cd $DRUPAL | ||
drush up (liste toutes les mises à jour à faire | 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] | drush up [le-nom-du-module-a-mettre-a-jour] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Version du 27 juillet 2016 à 13:17
Mise à jour de Drupal 7.xx
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
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
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
Mise à jour automatique avec Drush
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
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
- 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
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
cp -rv transferts/backup_migrate/* modules/backup_migrate/
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 :
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)
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