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

De AJLSM
Aller à la navigation Aller à la recherche
 
(21 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 :
Ligne 31 : Ligne 31 :
</syntaxhighlight>
</syntaxhighlight>


=== Mise à jour de Drupal ===
=== 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.
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.
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.
Ligne 53 : Ligne 64 :
</syntaxhighlight>
</syntaxhighlight>


=== Mise à jour des modules de Drupal ===
==== Mise à jour semi-automatisée ====
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>
 
=== Mise à jour semi-automatisée ===


# Récupérer le patch sur http://fuerstnet.de/en/drupal-upgrade-easy-way  
# Récupérer le patch sur http://fuerstnet.de/en/drupal-upgrade-easy-way  
Ligne 69 : Ligne 70 :
# On le copie sur le serveur dans /tmp/drupal.patch
# On le copie sur le serveur dans /tmp/drupal.patch
# On teste l'application du patch:
# On teste l'application du patch:
<syntaxhighlight lang="bash">
   cd $DRUPAL
   cd $DRUPAL
   patch -p1 --dry-run < /tmp/drupal.patch
   patch -p1 --dry-run < /tmp/drupal.patch
</syntaxhighlight>
# S'il n'y aucun message d'erreur, on applique:
# S'il n'y aucun message d'erreur, on applique:
<syntaxhighlight lang="bash">
   cd $DRUPAL
   cd $DRUPAL
   patch -p1 < /tmp/drupal.patch
   patch -p1 < /tmp/drupal.patch
# Redémarrer apache (service apache2 restart ou service httpd restart)
</syntaxhighlight>
# Redémarrer apache  
<syntaxhighlight lang="bash">
  service apache2 restart ou service httpd restart
</syntaxhighlight>
# Vider le cache drupal
# Vider le cache drupal
<syntaxhighlight lang="bash">
   cd $DRUPAL
   cd $DRUPAL
   drush cc all
   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.
# 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.

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..

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]
  1. Récupérer le patch sur http://fuerstnet.de/en/drupal-upgrade-easy-way
  2. Exemple de fichier: http://fuerstnet.de/sites/fuerstnet.de/files/patches/drupal-7.39-to-7.41.patch
  3. On le copie sur le serveur dans /tmp/drupal.patch
  4. On teste l'application du patch:
  cd $DRUPAL
  patch -p1 --dry-run < /tmp/drupal.patch
  1. S'il n'y aucun message d'erreur, on applique:
  cd $DRUPAL
  patch -p1 < /tmp/drupal.patch
  1. Redémarrer apache
  service apache2 restart ou service httpd restart
  1. Vider le cache drupal
  cd $DRUPAL
  drush cc all
  1. Se connecter à l'interface d'admin et vérifier qu'il n'y a pas de màj de Bases de données à faire.
  2. 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 : .
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]

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]
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)

[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
Important :
Attention, cette commande signifie que ajlsm ne pourra plus écrire dans les fichiers, uniquement www-data..