Voici la procédure pour effectuer les mises à jour. Il faut utiliser un accès SSH.
NB. Modifs Sylvain 01/02/11 : mise à jour pour drush v404/08/10 : simplification de la procédure de mise à jour du core drupal13/04/10 : mise à jour pour drush v317 et 22/07/09 : mise à jour pour drush v2 15/04/09 : mise à jour complète, 24/01/09 : ajout d'instructions pour drush, 16/01/09 : précisé commandes de backup, enlevé la suppression du répertoire "sites" avant l'upgrade, ajouté les chown et cd, modifié quelques options, ajouté le point 1
Utilisation de Drush
Drush est un utilitaire qui simplifie l'installation et la mise à jour des modules pour Drupal.
► Les droits de l'arborescence sont réglés sur le user www-data, groupe www-data, donc si un autre utilisateur veut utiliser Drush, il doit impérativement lancer :
sudo su - www-data
Mise à jour des modules avec Drush
- Sauvegarder la base de données : http://www.npa2009.org/admin/content/backup_migrate - laisser les options pré-sélectionnées par défaut, la sauvegarde va se faire dans /var/backups/drupal/db
- Aller sur la page "mises à jour" de Drupal et cliquer sur le lien permettant de vérifier les nouvelles versions (équivalent à la commande drush pm-refresh)
- Sur cette page "mises à jour", utiliser le lien "notes de version" en face de chaque module à mettre à jour, pour prendre connaissance des nouveautés
- Mettre le site hors ligne : http://www.npa2009.org/admin/settings/site-maintenance
- Utiliser la commande : drush pm-update nom_du_module Attention : il faut bien préciser le nom du module, sinon drush va faire un update complet de tous les modules, et il y en a souvent qu'on ne veut pas mettre à jour, pour des raisons diverses.
- En principe, drush fait les mises à jour de la base de données automatiquement, si c'est nécessaire. Sinon, il faut utiliser la commande drush updatedb.Une autre possibilité de le faire manuellement est via la page http://www.npa2009.org/update.php mais pour cela, il faut soit être passé sur le compte "admin" avec le module masquerade, soit modifier le fichier settings.php pour passer la variable $update_free_access à TRUE (et la repasser la valeur à FALSE après la manip).
- Vérifier qu'il n'y a pas d'impact sur le site
- Remettre le site en ligne : http://www.npa2009.org/admin/settings/site-maintenance
► Bon à savoir : avant de remplacer l'ancienne version des modules, Drush les déplace dans /var/backups/drupal/drush
► Pour plus d'infos sur Drush :
- voir le résultat de la commande "drush help"
- http://drush.ws/
- http://drupal.org/project/issues/drush
Installation d'un module avec Drush
Non testé sous drush v4, mais ça devrait être : drush dl nom_du_module ; drush enable nom_du_module
NB : Il faut utiliser le nom court du module, par exemple "og" pour Organic Groups. On retrouve ce nom dans l'URL du projet sur le site Drupal : http://drupal.org/projec…og, dans le nom du fichier tar d'installation : og-6.x-2.0-rc1.tar.gz, et dans l'arborescence (une fois installé) : /var/www/npa2009.org/sites/default/modules/og
Cas particulier : mise à jour de FCKeditor
Pour FCKeditor, il vaut mieux tout faire à la main qu'utiliser Drush. Il faut suivre les instructions données dans la section "Upgrading instructions" du fichier README.txt.
Certaines étapes peuvent être sautées car on n'a pas de fichier de conf personnalisé pour le "file browser" ni pour le "spellchecker". En résumé, il faut :
- garder dans un coin une copie de l'ancienne version, et supprimer complètement le répertoire /var/www/npa2009.org/sites/default/modules/fckeditor
- déposer la nouvelle version du module, ainsi que la nouvelle version de FCKeditor lui-même dans le sous-répertoire correspondant
- comparer l'ancien fichier fckeditor.config.js avec le nouveau, et les fusionner pour garder les modifs qu'on avait faites mais prendre aussi en compte les nouveautés de la dernière version
- récupérer un certain nombre de fichiers dans les plugins : plugins/linktomenu/lang/fr.js plugins/linktonode/lang/fr.js plugins/drupalpagebreak/lang/fr.js plugins/drupalbreak/lang/fr.js plugins/pasteplainnowrap et les 2 fichiers qu'il contient
Toujours se référer au fichier README.txt car c'est plus détaillé que ça, et la procédure pourrait être amené à changer suivant les version !
Mise à jour de Drush lui-même
- Prendre la dernière version sur : http://drupal.org/project/drush
- Renommer l'ancien répertoire /usr/local/drush en drush.old
- Installer le nouveau
- Remettre en place l'ancien fichier de conf et l'adapter si besoin
- Vérifier que tout fonctionne
- Vérifier si les commandes ont changé, et si il faut mettre à jour la doc
Procédure manuelle ATTENTION : ceci n'est pas forcément à jour...
- Il est préférable de se "masquarader" sous le compte "admin" avant de commencer la procédure (ça permet de ne pas avoir à modifier un paramètre plus loin dans la procédure)
- Mettre le site hors ligne : http://www.npa2009.org/admin/settings/site-maintenance.
- Sauvegarder l'ensemble du site, docroot et base de données :
- Base : http://www.npa2009.org/admin/content/backup_migrate - vérifier que "destination" est sur "NPA" et cliquer sur "backup database" - le backup se retrouve alors dans le docroot qu'on va sauvegarder juste après
- Docroot (+base) : en SSH sudo /root/backup_www_npa2009.org.sh
- Mettre à jour les fichiers :
- Pour mettre à jour le core de Drupal, voici un ensemble de commandes à exécuter : cd /var/www/npa2009.org wget http://ftp.drupal.org/fi… tar -xzf drupal-6.17.tar.gz rm drupal-6.17.tar.gz sudo chown -R likwid:www-data drupal-6.17 sudo rm drupal-6.17/.htaccess drupal-6.17/robots.txt [on a des versions modifiées de ces fichiers]sudo cp -a drupal-6.17/* . rm -rf drupal-6.17
- Pour mémoire, procédure de mise à jour manuelle des modules (uniquement en cas de souci avec drush) : cd sites/default/modules rm -r views ATTENTION ! wget http://ftp.drupal.org/fi… tar -xvf views-6.x-2.2.tar.gz rm views-6.x-2.2.tar.gz sudo chown -R www-data:www-data views Attention ! Certains modules, comme FCKEditor, nécessitent l'ajout manuel de certains fichiers ! A priori, c'est le seul module dans ce cas pour le moment. Il faut copier le dossier "fckeditor" qui est à l'intérieur du dossier "sites/default/modules/fckeditor" (oui, oui ! Donc "sites/default/modules/fckeditor/fckeditor" !), faire la manip de copie du module, puis remettre le dossier à l'intérieur. De même pour fckeditor.config.js et le dossier "sites/default/modules/fckeditor/plugins".
- Actuellement les droits sont 575 sur le core et 775 sur le dossier sites et ses enfants. Le fichier sites/default/settings.php est en 555.
- Exécuter update.php : http://www.npa2009.org/update.php. Il faut soit avoir le compte admin du site, soit modifier le fichier settings.php et changer la valeur $update_free_access à TRUE. Le plus simple pour être connecté en "admin" est d'utiliser Masquerade.
- Prier bien fort pour que tout se passe bien. En cas de problème, il faudra remettre la sauvegarde.
- Il faut faire un tour général ! Vérifier les vues, les blocs, le formulaire de création de contenu...
- Repasser la valeur $update_free_access à FALSE si elle a été changée.
- Remettre le site en ligne : http://www.npa2009.org/admin/settings/site-maintenance