Instalar Drush en Ubuntu

Logo de Drush

En está ocasión te voy a mostrar la manera de poder instalar y utilizar Drush para Ubuntu, Debian, Mint, etc.

De hecho, te voy a mostrar tres formas de hacerlo, pero primero, te cuento un poco de lo que es y lo que hace Drush.

Drush es un shell command line, (es el shell de Drupal) o hablando más claro, es un shell para ingresar comandos.

Las ventajas son varias, pero sobre todo es el tiempo que nos ahorra.

Por poner un ejemplo.

Piensa que quieres instalar un digamos Views, lo que solemos hacer es ir a la página de Drupal, descargarnos el módulos, ir a nuestro sitio, ir al apartado módulos, seleccionar el archivo, subirlo y luego instalarlo.

Claro que ahora en Drupal 7 también podemos instalar el módulo desde la páginas de módulos, pero en Linux necesitas tener una conexión cifrada para ello.

Esto es a rasgos generales como solemos hacerlo, ahora bien, como lo hacemos con Drush?

Simplemente ponemos en la terminal:

sudo drush dl views

Increíble no?. Y como la habilitamos?

sudo drush en views

Si después de esto prefieres seguir haciéndolo manual, seguro que cobras por hora.

A tener en cuenta

Los pasos que voy a mostrar a continuación son para el sistema Debian, Ubuntu, Mint, etc, no lo he probado con otros.

El servidor que tengo es Apache2 con PHP5 y el directorio root del mismo es /var/www/

Si tienes creado un Virtual Host, tendrás que adaptarlo a tu caso (te lo explicó al final de la página, clic aquí).

Drush también funciona con Mac y con Windows, pero en este ejemplo es para Ubuntu.

La página del proyecto es: http://www.drush.org/ y para Drupal, puedes ver la página: http://drupal.org/project/drush.

Tres métodos de instalar Drush en Ubuntu:

Yo voy a seguir el paso B y el C, ya que es mucho más fácil.

1) Instalar Drush, método B

Inicia una consola, Accesorios -> Terminal o como prefieras y digita:

sudo apt-get install drush

Esto es todo, ya lo tienes instalado.

2) Hacerlo ejecutable.

Para poder correrlo, sin sudo, necesitamos hacerlo ejecutable, para ello en consola digita:

sudo chmod u+x /usr/bin/drush

3) Probar Drush

Para ver si está funcionado, voy a ir al directorio root de mi servidor

En consola:

cd /var/www

Yo tengo instalado Drupal 7 en un directorio que se llama seven, así que hago:

cd seven

O puedes hacer todo de una, ingresando:

cd /var/www/seven

Recuerda cambiar por la ruta que corresponda en tu caso.

Ahora dígito en la consola:

drush status

Viendo el estado del sitio con Drush

Puedes ver toda la información que me entrega, la versión, el nombre del usuario, el nombre de la base de datos, la versión de Drush, etc.

Si en tu caso te muestra el siguiente error:

"PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini"

Lo solucionas haciendo:

sudo nano /etc/php5/conf.d/mcrypt.ini

Y cambias el # del principio por un pto. y coma, com en la imagen.

Arreglando el error en Drush

Reiniciamos Apache:

sudo /etc/init.d/apache2 restart

Comandos útiles para Drush en Linux:

Puedes ver una gran variedad de comandos en la página del proyecto: http://drupal.org/node/477684, pero aquí te voy a mostrar algunos.

A) Descargar un tema o un módulo con Drush:

sudo drush dl views

B) Habilitar un módulo y/o tema:

sudo drush en boost

Habilitar un módulo con Drush

Luego dígito (y) seguido de enter, te muestra una confirmación:

Confirmación de la activación del módulo

C) Ver la ayuda:

drush help

D) Ejecutar cron:

drush cron

E) Descargar varios módulos:

drush dl views devel zen

F) Ver todos los módulos y temas que tengo en mi sitio:

drush sm

Ver todos los temas y módulos con Drush

G) Descargar una versión en particular de un tema y/o módulo

Drush por defecto siempre descarga la versión más estable del módulo o del tema, si tu quieres una en particular digamos del módulo Panels, puedes hacer:

drush pm-releases panels

Descargar una versión en particular con Drush

Luego haces

drush dl panels-7.x-3.0-alpha3

H) Desactivar un módulo con Drush:

drush dis boost

Desactivar un módulo con Drush

Presiona (y) seguido de enter y el mismo queda desactivado, en caso contrario (n).

I) Actualizar Drupal:

drush up

J) Actualizar la base de datos:

drush updb

K) Actualizar el core de Drupal:

drush upc

L) Actualizar la cache:

drush cache-clear

Limpiar la cache con Drush

Método C, instalar Drush por Consola en Ubuntu, el mejor

En la terminal ingresa:

sudo pear channel-discover pear.drush.org

Instalar drush por consola con channel-discover

Si hasta aquí esta todo bien, puedes seguir con:

sudo pear install drush/drush

Instalar Drupal vía Pear

Hacerlo ejecutable.

Para poder correrlo, sin sudo, necesitamos hacerlo ejecutable, para ello en consola digita:

sudo chmod u+x /usr/bin/drush

Si por algún motivo te da algún problema con el canal, puedes hacer lo siguiente.

sudo pear upgrade –force Console_Getopt

sudo pear upgrade –force pear

sudo pear upgrade-all

De momento, al día de hoy con este método se descarga la versión 4.5.0, pero tu puedes especificar una distinta digitando:

sudo perar install drush/drush-4.6.0

O también

sudo pear install drush/drush-5.0.0

Si tienes un VirtualHost

Para terminar decir que todo esto funciona si tu sitio lo tienes en el directorio principal, osea en /var/www
si tu lo tienes dentro de una carpeta, por ejemplo tu sitio está en un directorio llamado drupal7, dentro de /var/www/
lo que tienes que hacer luego de instalar Drush tanto con el método B como con el C, es hacer:

cd /var/www/drupal7

Y luego estando en esta ruta, ejecutar los comandos.

Solución a algunos errores durante la instalación de Drush en Ubuntu

Error 1:

PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0

Solución: Editamos el archivo ming.ini y quitamos el # del comienzo.

Error 2:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/

Solución: Editamos el archivo llamado sqlite.ini

sudo nano /etc/php5/conf.d/sqlite.ini

y comento la line que dice

extension=sqlite.so con un ;

quedando así:

;extension=sqlite.ini.so

Calificar: 
0

Comentarios

Imagen de pepon_76

Bravo Charly, eres un Crack, me he estado peleando un buen rato con este tema, una vez aquí todo resuelto, que bueno esto de Drush, Saludos, amigo...!!
Imagen de yespinosa

Hola, tengo instalado Ubuntu 11.10 y me he instalado drush del repositorio, cuando ejecuto drush status dentro de mi directorio del sitio /www/sitio/ me salen las siguientes lineas y seguido me sale lo que deberia salir normalmente. PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/sqlite.so' - /usr/lib/php5/20090626+lfs/sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0 Al principio de instalado recuerdo que esas lineas no me salian, que puede ser?
Imagen de yespinosa

Muy buen videotutorial
Imagen de yespinosa

Solucione el error PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0 cambiando el símbolo # por ; como decias y ese ya no me sale, pero sigue saliendo el otro, entre en el directorio /usr/lib/php5/20090626+lfs/ y me doy cuenta que no tengo sqlite.so pero en /etc/php5/cli/conf.d/ si tengo el sqlite.ini Que debo hacaer sudo pecl install sqlite downloading SQLite-1.0.3.tgz ... Starting to download SQLite-1.0.3.tgz (371,189 bytes) ....done: 371,189 bytes 50 source files, building running: phpize Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module If the command failed with 'phpize: not found' then you need to install php5-dev packageYou can do it by running 'apt-get install php5-dev' as a root userERROR: `phpize' failed removi php5-dev y lo volvi a instalar y me sale esto sudo apt-get install php5-dev -f Leyendo listas de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes NUEVOS: php5-dev 0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados. Se necesita descargar 0 B/417 kB de archivos. Se utilizarán 3285 kB de espacio de disco adicional después de esta operación. Seleccionando el paquete php5-dev previamente no seleccionado. (Leyendo la base de datos ... 215604 ficheros o directorios instalados actualmente.) Desempaquetando php5-dev (de .../php5-dev_5.3.6-13ubuntu3.7_i386.deb) ... Procesando disparadores para man-db ... Configurando php5-dev (5.3.6-13ubuntu3.7) ... update-alternatives: utilizando /usr/bin/php-config5 para proveer /usr/bin/php-config (php-config) en modo automático. update-alternatives: utilizando /usr/bin/phpize5 para proveer /usr/bin/phpize (phpize) en modo automático. Vuelvo a ejecutar sudo pecl install sqlite y me sigue diciendo sudo pecl install sqlite downloading SQLite-1.0.3.tgz ... Starting to download SQLite-1.0.3.tgz (371,189 bytes) ....done: 371,189 bytes 50 source files, building running: phpize Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module If the command failed with 'phpize: not found' then you need to install php5-dev packageYou can do it by running 'apt-get install php5-dev' as a root userERROR: `phpize' failed
Imagen de yespinosa

Me respondo a mi mismo, leyendo bien el apunte no me percate de que el error era mencionado y aunque para mi no fue en el mismo fichero lo modifique en el que me dio error a mi cambiando el # por ; como se menciona, el problema me surge ahora con el otro error que en el directorio de las extensiones no tengo sqlite.so si tengo uno que dice pdo_sqlite.so y otro que dice sqlite3.so Trate de instalarlo con: sudo pecl install sqlite downloading SQLite-1.0.3.tgz ... Starting to download SQLite-1.0.3.tgz (371,189 bytes) ....done: 371,189 bytes 50 source files, building running: phpize Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module If the command failed with 'phpize: not found' then you need to install php5-dev packageYou can do it by running 'apt-get install php5-dev' as a root userERROR: `phpize' failed Y ahi tengo otro problema, yo tengo instalado php5-dev, lo purgue y lo volví a instalar y me sale esto: Se instalarán los siguientes paquetes NUEVOS: php5-dev 0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados. Se necesita descargar 0 B/417 kB de archivos. Se utilizarán 3285 kB de espacio de disco adicional después de esta operación. Seleccionando el paquete php5-dev previamente no seleccionado. (Leyendo la base de datos ... 215604 ficheros o directorios instalados actualmente.) Desempaquetando php5-dev (de .../php5-dev_5.3.6-13ubuntu3.7_i386.deb) ... Procesando disparadores para man-db ... Configurando php5-dev (5.3.6-13ubuntu3.7) ... update-alternatives: utilizando /usr/bin/php-config5 para proveer /usr/bin/php-config (php-config) en modo automático. update-alternatives: utilizando /usr/bin/phpize5 para proveer /usr/bin/phpize (phpize) en modo automático. No se que hacer para tener sqlite.so Gracias por leerme
Imagen de yespinosa

Disculpen por los comentarios tan extensos, es que los queria documentar bien. Tengo instalado PHP 5.3.6-13ubuntu3.7 El drush que viene en el repositorio de Ubuntu oneiric es el 4.4, en estos momentos que escribo este comentario purgue drush de mi sistema y estoy instalando por el método C espero tener buenos resultados, los mantendré al tanto. Muchas gracias
Imagen de charly

Hola yespinosa, acabó de colocar al final del artículo 2 posibles soluciones. Salu2
Imagen de yespinosa

Bueno, al fin logro completar todos los pasos de la instalación de drush por el método C de acá de estos apuntes: cuando ejecuto drush status dentro de mi directorio del sitio esto es lo que obtengo, na na, no lo pondré jejeej, gracias charly, estoy bajando algunos de tus vídeos del canal al cual estoy suscrito, no se si tienes alguno de creación de temas o subtemas, muchas gracias la verdad que tus vídeos hacen que uno aprenda y mas, que a uno le interese seguir estudiando y profundizando en este maravilloso cms. Gracias a todos, de aquí en adelante trataré de resumir un poco la cantidad de líneas que escribo en los comentarios.

gracias por el tutorial, mi problema es que no tengo el archivo /etc/php5/cli/conf.d/mcrypt.ini en mi servidor ¿que puedo hacer, garcias?
Imagen de charly

intenta con sudo apt-get install php5-mcrypt

Me sale este error: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mcrypt.so' - /usr/lib/php5/20090626+lfs/mcrypt.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Warning: Directive 'safe_mode' is deprecated in PHP 5.3 and greater in Unknown on line 0 PHP safe mode is activated. Drush requires that safe mode is [error] disabled. Drush could not execute. [error]

Premium

Landing Page con Bootstrap

Landing Page con Bootstrap y Gulp

En Youtube

Suscríbete a mi canal

Suscríbete a las noticias

* requerido

Inicio de sesión

Recursos