Révision de Installer Drush pour administrer Drupal en ligne de commande du 15 Décembre, 2009 - 14:40

Les révisions vous permettent de faire le suivi des différences entre les différentes versions de votre contenu, et de rétablir les versions plus anciennes.

Créer un site Drupal ca peut aller vite, mais à la longue c'est toujours la même chose. On se connecte sur Drupal.org pour télecharger les sources de Drupal et les modules un par un, ce qui prend un temps fou. On peut encore se créer une installation toute prête mais encore faut-il maintenir à jour les modules.

Il existe une autre solution, utiliser Drush. Ce n'est pas une révolution, car cela fait maintenant un petit moment déjà que Drush est disponible mais j'avoue n'avoir jamais eu le temps de m'y plonger.

Drush n'est pas un module pour Drupal, c'est un outil à installer sur votre serveur qui va vous permettre d'administrer vos sites en ligne de commandes.

Parmi les possibilités qu'offre Drush vous allez pouvoir via une simple ligne de commande installer Drupal, activer ou désactiver des modules ou encore télécharger des thèmes.

Depuis quelques temps je l'utilise professionnellement chez mon client, et c'est vraiment un gain de temps. J'ai donc pris un peu de temps chez moi pour comprendre sont fonctionnement.

Pour la suite de la présentation de Drush je vous montrerai comment l'installer sous linux, j'ai auparavant essayé de l'installer sous windows mais en vain.

Pré-requis

Comme je viens de l'évoquer, être sous Linux avec apache2, php 5.2 d'installé.

Pour fonctionner Drush a besoin de la librairie CLI de php (CLI pour interface de ligne de commande en français).

Vous pouvez installer ce paquet via cette commande :
$ sudo apt-get install php5-cli

Installation

Télécharger Drush et dézipper le à l'endroit ou vous voulez. Moi j'ai choisi de le placer dans le répertoire /opt qui est utilisé pour les applications supplémentaires au système. Ainsi pour moi /path/to/drush/ équivaut à /opt

Placez vous dans le répertoire de votre choix
$ cd /path/to/drush/

Téléchargez drush
$ sudo wget http://ftp.drupal.org/files/projects/drush-All-Versions-2.1.tar.gz

Décompressez l'archive
$ sudo tar -xzf drush-All-Versions-2.1.tar.gz

Rendons maintenant le répertoire exécutable
$ sudo chmod u+x /path/to/drush/drush

Maintenant nous allons créer un lien symbolique vers drush.
$ sudo ln -s /path/to/drush/drush /usr/bin/drush

img : commande drush install

Drush est maintenant installé et prêt à l'emploi. Pour l'essayer tapez simplement drush et vous devriez voir la liste des commandes drush disponibles.
$ sudo drush

Utiliser Drush

Placez vous dans le répertoire où sont vos sites par exemple /var/www.

Nous allons maintenant installer Drupal avec la commande Drush download ou dl

$ sudo drush dl drupal

Drupal a été téléchargé et déployé à l'endroit ou vous êtes.

Placez vous dans votre installation de Drupal pour copier le fichier settings.php.

$ sudo cp sites/default/default.settings.php sites/default/settings.php
$ sudo chmod 666 settings.php

Il ne vous reste plus qu'à effectuer votre installation.

Une fois celle-ci terminée, rendez-vous dans le répertoire sites/all dans lequel nous allons déployer des modules et installer un nouveau thème. Pas besoin de créer les répertoires modules ou thèmes, drush va le faire pour vous.

$ sudo drush dl cck views devel

Nous venons de télécharger cck, views et le module devel. Pour vérifier vous pouvez aller sur l'administration de vos modules.

Cela marche aussi pour les thèmes
$ sudo drush dl basic

Par défaut un module téléchargé n'est pas activé alors voici comment faire
$ sudo drush enable views

Vous trouverez la liste complète des commandes de drush ici

Conclusion

Drush est un vrai gain de temps pour réaliser vos sites, plus de connexion sur drupal.org, plus de recherche dans la liste des modules. En contrepartie il vous faut connaître le nom des modules que vous voulez installer.
Je vous conseille vivement d'installer Drush et de jouer avec.

Source :
Projet drush

Commentaires

Salut,

J'ai relu la page de doc (ça m'a pris comme ça) et j'ai une remarque.
Je pense qu'il est inutile et déconseillé de mettre dans la doc de passer par sudo pour utiliser drush.

J'explique :
Les personnes qui vont utiliser drush n'ont pas forcément les droits d'utilisation de sudo (accès root quand même...). Certe cette commande est justifiée pour l'installation de drush (même s'il est possible de s'en passer en l'installant ailleurs et en passant par une configuration de .bashrc et alias plutôt que de faire un lien) et obligatoire pour l'installation de php5-cli, mais intuile pour l'utilisation de drush.
Les droits concernant l'utilisation de drush seront ensuite limités par les droits de l'utilisateurs sur les fichiers du site drupal.

Même raisonnement pour la manipulation de fichiers drupal, il est conseillé de le faire via un utilisateur qui à les droits apache plutôt qu'avec les accès root.

Autre sujet, il serait bon je pense de conseiller de modifier le php.ini de php5-cli afin d'augmenter la limite mémoire, très vite insuffisante. Cela permettra aux néophytes de ne pas être confronté au problème de limitation de mémoire.

Je l'utilise principalement pour mettre à jour mes modules. Et comme j'utilise une installation mutualisée je procède ainsi :

$ drush update --uri="http://www.monsiteweb.com"

De même pour activer un module

$ drush enable monmodule --uri="http://www.monsiteweb.com"

Et pour mettre à jour Drupal, presque pas besoin de drush

drush dl drupal
rm -rf drupal-6./robots.txt
rm -rf drupal-6.
/.htaccess
rm -rf drupal-6./sites
cp -r drupal-6.
/* ./
rm -rf drupal-6.*

Je travaille également sur plusieurs sites, mais devoir toujours taper --uri="http://monsite.com" est vite pénible et une perte de temps.

J'utilise 2 solutions:
- Soit je travaille directement dans le répertoire du site auquel je veux ajouter les modifications, dans ce cas là drush installe les modules au bon endroit
- Soit je paramètre des alias pour les sites en question.
alias dMonsite='drush --uri="http://monsite.com"'