Instalación de Composer y Drush en Ubuntu 22.04 y recuperación de una instalación de Drupal
En esta entrada veremos cómo realizar la instalación de Composer el gestor de dependencias de PHP dentro de la distribución Ubuntu 22.04 Jammy
Instalación de Composer
De cara a instalar Composer necesitaremos instalar unas dependencias de paquetes de unzip y el php-cli:
sudo apt update sudo apt install -y unzip php-cli
Con el cliente de PHP instalado ya podemos realizar la descarga de Composer desde su web:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
El siguiente paso será realizar la ejecución del instalador que acabamos de descargar:
php composer-setup.php php -r "unlink('composer-setup.php');"
Entonces deberemos copiar el fichero a su destino:
sudo mv composer.phar /usr/local/bin/composer
Con esto ya deberíamos ejecutar el comando composer desde cualquier sitio porque el /usr/local/bin está ya incluido en el path.
Instalación de Drush
Con el Composer ya descargado, instalado y presente en el PATH ya podemos realizar la instalación de Drush donde nosotros queramos.
Empezaremos por instalar las dependencias de paquetes debian:
sudo apt install -y php-dom
Como veremos instalará el paquete php8.1-xml para instalar la extensión que necesitamos
Por otro lado ya podremos instalar Drush en la carpeta del proyecto:
composer require drush/drush:9.*
En este caso estaremos instalando la versión 9 de drush dentro de la carpeta vendor/bin que deberíamos añadir dentro del path, por ejemplo con:
export PATH=$PATH:/pathcompletoproyecto/vendor/bin
Si añades esa misma línea al final del fichero .bashrc y luego lo cargas con:
source .bashrc
Ya deberías tener el comando drush disponible desde cualquier parte de tu ordenador. Comprueba que puedes ejecutar el comando correctamente y que no te da fallos.
Resolución de problemas
En el caso de que no hayas podido ejecutar correctamente drush podría ser por varios factores pero el principal es el hecho de que la versión de php o de Drupal no estén soportadas por esa versión de Drush.
Por ejemplo con php 8.1 en esta Ubuntu tuvimos que instalar la versión 9 porque no funcionaban ni las versiones 7 ni 8 de Drush.
Por ejemplo la versión 9 no es compatible con Drupal 7.
Comprueba la compatibilidad en esta URL: https://www.drush.org/latest/install/
Si ves que la cosa se complica mucho, usa un contenedor docker php para ejecutar estos comandos sobre una versión de PHP que funcione sobre Debian Buster por ejemplo:
Acceso al Drupal
Otro de los problemas es el de acceder al Drupal que nos han pasado. Una vez que ya tenemos el entorno funcionando deberemos disponer de un usuario, una contraseña y una ruta de acceso para loguearnos en el típico formulario de login.
Para ello disponemos de diferentes estrategias que veremos más adelante
Acceso al Formulario de login
Normalmente el formulario de login debería estar disponible a través de la URL: http://localhost/user/login
Entonces nos aparecerá el formulario de login y podremos acceder a él sin problemas, que qué pasa si no tenemos usuario?
Si por lo que sea el formulario no se presenta es posible que tengas que realizar alguna modificación extra en la plantilla o deshabilitar algún módulo.
Crear un usuario nuevo con Drush
En el caso de que no nos hayan facilitado el usuario para acceder siempre podríamos crear un usuario con el comando user-create o user:create:
drush user-create miusuario --password=mipass
Para después otorgarle permisos de administrador:
drush user-add-role administrator miusuario
Con estos datos ya deberíamo tener acceso para que nuetro usuario pueda loguearse y acceder como administrador
Cambio de contraseña del administrador
Otra de las opciones si tenemos acceso a la bbdd de Drupal es ir a la tabla users y cambiar el HASH de la password asignada al usuario administardor, por ejemplo calculada con:
Comments