Updated by Linode
Written by Linode
Drush is a command line tool for creating, administrating, and modifying Drupal websites. Command line tools, like Drush, add functionality through additional command packages. Once installed, Drush is as easy to use as any of the basic Linux commands. The name comes from combining the words Drupal and shell. Drush is designed only for Drupal and cannot be used with other content management systems.
Both new and experienced Drupal users can benefit from learning Drush. Users that have worked with a command line interface before have an advantage, but Drush is an excellent application for beginners, too.
Before You Begin
Before installing Drush, ensure that the following prerequisites have been met:
- Create a new Linode by following our Getting Started guide. Complete the steps for setting your Linode’s hostname and timezone.
- Follow our Securing Your Server guide to create a standard user account, harden SSH access, remove unnecessary network services and create firewall rules for your Linode.
- Install and configure a LAMP stack on Debian 10
Make sure that your system is up to date, using:
sudo apt-get update && sudo apt-get upgrade
NoteThis guide is written for a non-root user. Commands that require elevated privileges are prefixed with
sudo. If you’re not familiar with the
sudocommand, you can check our Users and Groups guide.
Install Git & Composer
The developers of Drush recommend installing Drush using Composer, a PHP dependency manager. Since the Drush project is hosted on GitHub and controlled with Git, you will also need to install Git. In this section, you will install both dependencies.
sudo apt-get install git
curl -sS https://getcomposer.org/installer | php
Move the composer.phar file to
/usr/local/bin/, so that it can be accessed from any directory:
sudo mv composer.phar /usr/local/bin/composer
Composer has a few PHP dependencies it needs in order to run. Install them on your Debian system:
sudo apt install php-dom, php-zip, unzip, php-gd, php-mbstring
Install Drush Globally
Composer is designed to install PHP dependencies on a per-project basis. The steps below will install a global Drush for all projects. If you want to install Drush for a specific system user, skip to the Install Drush for a Limited User Account section.
Create a symbolic link between Composer’s local bin directory,
/usr/local/bin/composer, and the system’s bin directory,
sudo ln -s /usr/local/bin/composer /usr/bin/composer
Use Git to download – or clone – the GitHub Drush project into a new directory,
sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush
Update the ownership of your new Drush directory to be your limited user account:
sudo chown example_user:example_user -R /usr/local/src/drush
Change the working directory to your new Drush directory:
Use Git to checkout the version of Drush that you wish to use. View the GitHub project’s releases page to view all available versions.
For a different release, replace the version number,
10.2.2, in the following command:
sudo git checkout 10.2.2
Create a symbolic link between the Drush directory in
/usr/bin, so that the Drush command can be called from any directory:
sudo ln -s /usr/local/src/drush/drush /usr/bin/drush
Now, run the Composer install command:
Drush has now been installed for all users on your Linode. To verify the installation, check Drush’s version number.
You should see a similar output:
Drush Commandline Tool 10.2.2
Install Drush for a Limited User Account
You may want to install Drush for only certain system users, for example, the site admin or the Apache webserver. This option may be optimal for a shared-hosting environment. Also, this allows individual users to install different versions of Drush and even install separate versions specific to a single project. Ensure you run the commands from the limited user account’s home directory. Before you complete this section, ensure you have completed the steps in the Install Git & Composer section of the guide.
Install Drush using Composer:
composer require drush/drush
This will install Drush in your
Using the text editor of your choice, edit the user’s
.bashrcfile to add the
vendordirectory to your path:
sourcecommand on the
.bashrcfile to enable the changes:
Check to see that Drush was installed successfully:
NoteYou can install the Drush Launcher, a utility to be able to call Drush globally. This program listens on your
$PATHand hands control to a site-local Drush that is in the
Drush has dozens of commands with hundreds of options. Drush can interface with MySQL, Drupal, Git, and more. Below are a few examples of some useful Drush commands to get you started. Refer to the Drush Commands documentation for more details.
To get started with Drush, run it without any following commands to list the help manual:
View more detailed documentation for a specific command by typing
drush helpand then the command, for example:
drush help site-install
List many of the specs for your server and website with:
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
This guide is published under a CC BY-ND 4.0 license.