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:

https://www.useotools.com/es/drupal-password-hash-generator

Comments

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies