Drush es un shell de línea de comandos y se puede utilizar como interfaz de scripting para Drupal. Drush proporciona una serie de funciones que le permiten ejecutar varios comandos y código para interactuar con temas, módulos y perfiles. ¡Incluso puedes usar Drush para descargar e instalar Drupal!

Los usuarios también pueden encontrar Drush útil para realizar ciertas tareas administrativas, que es más eficiente que usar el panel de control de Drupal en su navegador web. Con este servicio puede ejecutar un update.php, ejecutar migraciones de bases de datos y consultas SQL.

Este tutorial lo guiará a través del proceso de instalación de Drush para Drupal en CentOS 7. Se asume que conoce los conceptos básicos del uso de Linux, aloja sus sitios web en un VPS personal y comprende cómo usar el Shell.

En este caso, su sitio web debería ejecutarse en la cuenta raíz. Si no es así, deberá incluir el texto “sudo” cuando ejecute sus comandos para disfrutar de los privilegios de usar una cuenta de root.

Nota especial: Hosting mas Baratotiene varios servicios de alojamiento Drupal especializados que tienen excelentes precios, características y soporte para los usuarios de Drupal.

Paso 1: instala Drush

Comience descargando e instalando el software de comando Drush. Esto se puede hacer de varias formas, como se describe a continuación.

Utilice el administrador de paquetes.

Si está usando Linux, puede instalar Drush usando el administrador de paquetes que es parte del sistema operativo. El administrador de paquetes del sistema operativo también se puede utilizar para instalar una versión anterior de este software.

Para CentOS, ejecute el siguiente comando:

$ sudo yum install drush

Usando Composer

También puedes usar Composer para instalar Drush. Ejecute el siguiente comando:

$ composer global require drush/drush:6.*

Debe asegurarse de que el directorio binario de su compositor esté incluido en la ruta de su sistema:

$ sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc

Instalación manual

Drush también se puede descargar manualmente e instalar en su sistema. Sin embargo, primero debe instalar Composer antes de instalar Drush. Ejecute el siguiente comando para iniciar el proceso:

# Cree un directorio bin para su cuenta de usuario y agréguelo a la ruta del sistema

$ mkdir $HOME/bin
echo "PATH=$HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

# Descargue y extraiga el software Drush

wget -O $HOME/bin/drush.zip https://github.com/drush-ops/drush/archive/master.zip
unzip -d $HOME/bin $HOME/bin/drush.zip

# Instale las dependencias de Drush con Composer (asumiendo que `composer` está en la RUTA del sistema)

cd $HOME/bin/drush-master
composer install

# Crea un enlace simbólico

ln -s $HOME/bin/drush-master/drush $HOME/bin/drush

Paso 2: inicie Drush

Una vez que haya descargado e instalado con éxito el software Drush en su sistema, abra su consola o aplicación de terminal e ingrese drush luego presione la tecla “Enter”. Debería tener una salida como esta:

Execute a drush command. Run `drush help [command]` to view command-specific help.  Run `drush topic` to read even more documentation.
Global options (see `drush topic core-global-options` for the full list):
 -d, --debug                               Display even more information, including internal messages.                                                 
 -h, --help                                This help system.                                                                                           
 -n, --no                                  Assume 'no' as answer to all prompts.                                                                       
 -r <path>, --root=<path>                  Drupal root directory to use (default: current directory).                                                  
 -s, --simulate                            Simulate all relevant actions (don't actually change the system).                                           
 -l <http://example.com:8888>,             URI of the drupal site to use (only needed in multisite environments or when running on an alternate port). 
 --uri=<http://example.com:8888>                                                                                                                       
 -v, --verbose                             Display extra information about the command.                                                                
 -y, --yes                                 Assume 'yes' as answer to all prompts.
Core drush commands: (core)
 archive-dump (ard,    Backup your code, files, and database into a single file.                                                                                    
 archive-backup, arb)                                                                                                                                               
 archive-restore       Expand a site archive into a Drupal web site.                                                                                                
 (arr)                                                                                                                                                              
 cache-clear (cc)      Clear a specific cache, or all drupal caches.                                                                                                
 cache-get (cg)        Fetch a cached object and display it.                                                                                                        
 cache-set (cs)        Cache an object expressed in JSON or var_export() format.                                                                                    
 core-config (conf,    Edit drushrc, site alias, and Drupal settings.php files.                                                                                     
 config)                                                                                                                                                            
 core-cron (cron)      Run all cron hooks in all active modules for specified site.                                                                                 
 core-execute (exec,   Execute a shell command. Usually used with a site alias.                                                                                     
 execute)                                                                                                                                                           
 core-quick-drupal     Download, install, serve and login to Drupal with minimal configuration and dependencies.                                                    
 (qd)                                                                                                                                                               
 core-requirements     Provides information about things that may be wrong in your Drupal installation, if any.                                                     
 (status-report, rq)                                                                                                                                                
 core-rsync (rsync)    Rsync the Drupal tree to/from another server using ssh.                                                                                      
 core-status (status,  Provides a birds-eye view of the current Drupal installation, if any.                                                                        
 st)                                                                                                                                                                
 core-topic (topic)    Read detailed documentation on a given topic.                                                                                                
 drupal-directory      Return path to a given module/theme directory.                                                                                               
 (dd)                                                                                                                                                               
 help                  Print this help message. See `drush help help` for more options.                                                                             
 image-flush           Flush all derived images for a given style.                                                                                                  
 php-eval (eval, ev)   Evaluate arbitrary php code after bootstrapping Drupal (if available).                                                                       
 php-script (scr)      Run php script(s).                                                                                                                           
 queue-list            Returns a list of all defined queues                                                                                                         
 queue-run             Run a specific queue by name                                                                                                                 
 search-index          Index the remaining search items without wiping the index.                                                                                   
 search-reindex        Force the search index to be rebuilt.                                                                                                        
 search-status         Show how many items remain to be indexed out of the total.                                                                                   
 shell-alias (sha)     Print all known shell alias records.                                                                                                         
 site-alias (sa)       Print site alias records for all known site aliases and local sites.                                                                         
 site-install (si)     Install Drupal along with modules/themes/configuration using the specified install profile.                                                  
 site-set (use)        Set a site alias to work on that will persist for the current session.                                                                       
 site-ssh (ssh)        Connect to a Drupal site's server via SSH for an interactive session or to run a shell command                                               
 test-clean            Clean temporary tables and files.                                                                                                            
 test-run              Run tests. Note that you must use the --uri option.                                                                                          
 updatedb (updb)       Apply any database updates required (as with running update.php).                                                                            
 updatedb-status       List any pending database updates.                                                                                                           
 (updbst)                                                                                                                                                           
 usage-send (usend)    Send anonymous Drush usage information to statistics logging site.  Usage statistics contain the Drush command name and the Drush option     
                       names, but no arguments or option values.                                                                                                    
 usage-show (ushow)    Show Drush usage information that has been logged but not sent.  Usage statistics contain the Drush command name and the Drush option names, 
                       but no arguments or option values.                                                                                                           
 variable-delete       Delete a variable.                                                                                                                           
 (vdel)                                                                                                                                                             
 variable-get (vget)   Get a list of some or all site variables and values.                                                                                         
 variable-set (vset)   Set a variable.                                                                                                                              
 version               Show drush version.                                                                                                                          
 watchdog-delete       Delete watchdog messages.                                                                                                                    
 (wd-del, wd-delete)                                                                                                                                                
 watchdog-list         Show available message types and severity levels. A prompt will ask for a choice to show watchdog messages.                                  
 (wd-list)                                                                                                                                                          
 watchdog-show         Show watchdog messages.                                                                                                                      
 (wd-show, ws)
Runserver commands: (runserver)
 runserver (rs)        Runs a lightweight built in http server for development.
Field commands: (field)
 field-clone           Clone a field and all its instances.                         
 field-create          Create fields and instances. Returns urls for field editing. 
 field-delete          Delete a field and its instances.                            
 field-info            View information about fields, field_types, and widgets.     
 field-update          Return URL for field editing web page.
Project manager commands: (pm)
 pm-disable (dis)      Disable one or more extensions (modules or themes).                                                                
 pm-download (dl)      Download projects from drupal.org or other sources.                                                                
 pm-enable (en)        Enable one or more extensions (modules or themes).                                                                 
 pm-info (pmi)         Show detailed info for one or more extensions (modules or themes).                                                 
 pm-list (pml)         Show a list of available extensions (modules and themes).                                                          
 pm-refresh (rf)       Refresh update status information.                                                                                 
 pm-releasenotes       Print release notes for given projects.                                                                            
 (rln)                                                                                                                                    
 pm-releases (rl)      Print release information for given projects.                                                                      
 pm-uninstall          Uninstall one or more modules.                                                                                     
 pm-update (up)        Update Drupal core and contrib projects and apply any pending database updates (Same as pm-updatecode + updatedb). 
 pm-updatecode (upc)   Update Drupal core and contrib projects to latest recommended releases.                                            
 pm-updatestatus       Show a report of available minor updates to Drupal core and contrib projects.                                      
 (ups)
Role commands: (role)
 role-add-perm (rap)   Grant a specified permission to a role.                                                                                                      
 role-create (rcrt)    Create a new role.                                                                                                                           
 role-delete (rdel)    Delete a role.                                                                                                                               
 role-list (rls)       Display a list of all roles defined on the system.  If a role name is provided as an argument, then all of the permissions of that role will 
                       be listed.  If a permission name is provided as an option, then all of the roles that have been granted that permission will be listed.      
 role-remove-perm      Remove a specified permission from a role.                                                                                                   
 (rmp)
SQL commands: (sql)
 sql-cli (sqlc)        Open a SQL command-line interface using Drupal's credentials.            
 sql-connect           A string for connecting to the DB.                                       
 sql-create            Create a database.                                                       
 sql-drop              Drop all tables in a given database.                                     
 sql-dump              Exports the Drupal DB as SQL using mysqldump or equivalent.              
 sql-query (sqlq)      Execute a query against the site database.                               
 sql-sync              Copy and import source database to target database. Transfers via rsync.
User commands: (user)
 user-add-role (urol)  Add a role to the specified user accounts.                                    
 user-block (ublk)     Block the specified user(s).                                                  
 user-cancel (ucan)    Cancel a user account with the specified name.                                
 user-create (ucrt)    Create a user account with the specified name.                                
 user-information      Print information about the specified user(s).                                
 (uinf)                                                                                              
 user-login (uli)      Display a one time login link for the given user account (defaults to uid 1). 
 user-password (upwd)  (Re)Set the password for the user account with the specified name.            
 user-remove-role      Remove a role from the specified user accounts.                               
 (urrol)                                                                                             
 user-unblock (uublk)  Unblock the specified user(s).
Other commands: (make,sar)
 make                  Turns a makefile into a working Drupal codebase.  
 make-generate         Generate a makefile from the current Drupal site. 
 (generate-makefile)                                                     
 search-and-replace    Replace strings in text fields in all content.    
 (sar)

Conclusión

A partir de la salida anterior, queda claro que Drush se puede instalar de varias formas diferentes. Ahora puede repetir convenientemente el mismo proceso para su sistema e instalar Drush para Drupal en un servidor CentOS 7. ¡Intentalo!