How to install drush on LAMP 16.04?

Posted October 15, 2016 10.5k views
DrupalUbuntu 16.04

I have tried to install drush via Composer on a LAMP 16.04, but I keep getting this error (and a couple more), when I try ‘drush status’:

PHP Fatal error: Uncaught ReflectionException: Class DOMDocument does not exist in /home/USER/.composer/vendor/consolidation/output-formatters/src/Transformations/DomToArraySimplifier.php:24

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

OK, I’ve figured it out:

In order to get the installation of Composer, and subsequently Drush, to work, zip and unzip extensions needs to be installed:

$ apt-get update
$ apt-get install zip unzip

Then it’s pretty plain sailing installing Composer. Make sure you have installed proper version of Curl first:

$ apt-get install curl php7-cli git

$ curl -sS | sudo php – –install-dir=/usr/local/bin –filename=composer

And Drush:

$ composer global require drush/drush

Then use Composer to create your project. If you run into permission issues, then:

  1. Add “www” group and add your user to this group:
    $ sudo groupadd www
    $ sudo usermod -a -G www [user]

  2. logout/login

  3. Set ownership and write permissions:
    $ sudo chown -R root:www /var/www
    $ sudo chmod 2775 /var/www
    $ find /var/www -type d -exec sudo chmod 2775 {} +
    $ find /var/www -type f -exec sudo chmod 0664 {} +

Also note, you cannot run Composer on the smallest server config. It’s fairly memory hungry, so min. 1GB is recommended.