Cómo instalar Drupal 7 utilizando Composer

     Aunque hoy en día no está recomendado comenzar ningún proyecto, utilizando Drupal 7, ya que no existe soporte dentro de la página oficial del CMS, todavía existe un gran número de proyectos activos, alrededor del mundo, que en su momento apostaron por esta versión y que todavía no se han planteado, la actualización del mismo a las nuevas versiones de Drupal, por diferentes razones.

     Por ello, he decidido realizar una pequeña serie de videos, en los que explicaré algunos recursos básicos, para trabajar con Drupal 7, en el caso de que te haya tocado trabajar en uno y necesites hacer ajustes y cambios, previos a una posible migración hacia Drupal 8, 9 o superior. 

     Cómo instalar Drupal 7 utilizando Composer

           Paso 1 - Instalar y/o configurar tu servidor de desarrollo

               Lo primero que deberías saber sobre Drupal, es que para que funcione en tu ordenador, deberás instalar y/o configurar un entorno de desarrollo, que incluya Apache, Mysql y Php, además de configurar el Virtual Host y el dominio con el que podrás acceder para realizar la instalación y posteriores pruebas con Drupal 7.

               Actualmente tienes varias formas disponibles de instalar un Servidor con estas características en tu ordenador, te dejo los artículos donde explico, con su video y documentación paso a paso, para que puedas realizar la que consideres más adaptada a tus necesidades y experiencia:

          Paso 2 - Descargar e instalar Composer

               No voy a profundizar en este tema, ya que está explicado en el artículo que escribí hace varios meses Descarga de Drupal 8 utilizando Composer. La idea es utilizar este Gestor de paquetes, para asegurarte de que se descargará una estructura compatible con versiones posteriores de tu proyecto, además de los módulos de los cuales dependen algunos como "Views" o "Pathauto", que en Drupal 7, al igual que otros muchos módulos contribuidos, se debían descargar por separado, provocando varios dolores de cabeza debido a fallos, difíciles de averiguar sobre todo si estabas empezando a conocerlo.

          Paso 3 - Descarga del esqueleto de Drupal 7      

              Ahora que ya tienes configurado tu entorno de desarrollo, y el dominio o nombre de tu web para poder trabajar con Drupal, podremos realizar la descarga del esqueleto, que te servirá como base para el proyecto.

             Toma en cuenta, que al utilizar Composer, puede que tengas que realizar ajustes en el Virtual Host, para que apunte a la carpeta correcta. Para iniciar la descarga de tu Proyecto, abre tu consola y ubícate en la carpeta pública del servidor, si haz elegido Xampp, será htdocs y si haz optado por LAMP o Docker, será /var/www.

             A continuación, escribe el siguiente código y modifica el nombre de tu proyecto, por el que hayas decidido para tu instalación:

composer create-project drupal-composer/drupal-project:7.x-dev some-dir --no-interaction

          Una vez terminada la descarga, vamos a descargar al menos, lo que considero módulos imprescindibles en cualquier instalación de Drupal, para facilitarnos el desarrollo de cualquier proyecto:

          Views,    Pathauto,    Token,    Chaos Tool Suite,    Devel,    Entity reference,    Field Group,    Display Suite

          Originalmente, en Drupal 7, la instalación de módulos contribuidos podía realizarse copiando el enlace desde la página oficial, tal y como puede hacerse todavía hoy en día para otras versiones de Drupal, o también descargando el archivo comprimido y una vez descomprimido, colocarlo dentro de la carpeta ubicada en "sites/all/modules", para activarlo desde la interfaz de usuario, accediendo a la url "/modules".

          Como en nuestro caso, utilizaremos Composer para descargar los módulos, es posible que no tengamos que preocuparnos por las dependencias y que los módulos sean alojados en otra carpeta ubicada dentro de la nueva carpeta publica, creada por Composer llamada "web".

          Para descargar los módulos, nos colocaremos en la carpeta raiz del proyecto y a continuación, tendremos que ejecutar el siguiente comando, añadiendo al final, depues de "drupal/" el nombre del módulo que vamos a descargar, en el ejemplo está añadida una versión específica, al final del nombre del módulo, para descargar, en este caso, el módulo devel:

composer require drupal/devel:~1.0

        Al descargar los módulos utilizando Composer, podremos comprobar que la ubicación contribuidos ha cambiado, y que además se ha creado una carpeta propia con el nombre Contrib, donde se guardarán cada uno de los módulos descargados, mientras que los módulos del núcleo de Drupal 7, permanecerán guardados en otra carpeta separada, ubicado justo debajo de la carpeta pública del proyecto, llamada "web"

modulos - www.drupaladicto.org Formacion especializada en drupal y symfony

modulos - www.drupaladicto.org Formacion especializada en drupal y symfony

modulos - www.drupaladicto.org Formacion especializada en drupal y symfony

Paso 4 - Creación de Base de datos

     Aunque tengamos un Super usuario (ROOT) con el cuál podremos realizar, todas las operaciones en nuestro servidor de base de datos, es muy recomendable limitar los accesos a la base de datos específica en cada proyecto. Por esta razón, a continuación vamos a crear un usuario y una base de datos específica para nuestro proyecto.

          Primero nos vamos a loguear como Super usuario y una vez dentro, ejecutaremos cada una de las líneas siguientes, en las que primero crearemos la base de datos, luego el usuario con sus datos de acceso, a continuación le daremos todos los permisos, específicos para la tabla en concreto y por último el reseteo de la tabla de permisos:

sudo mysql;
create database drupaldb;
create user [email protected] identified by '[email protected]';
grant all privileges on drupaldb.* to [email protected] identified by '[email protected]';
flush privileges;
exit

     Si queremos ver el listado de las bases de datos que tenemos creadas al momento, entraremos a MySql y luego ejecutamos el siguiente comando:

SHOW DATBASES;

     Para borrar una base de datos (Cuidado porque se perderá toda la información), ejecutaremos:

DROP DATBASE mi_bd_para_borrar;

     Para ver el listado de usuarios creados, ejecutaremos el siguiente comando:

SELECT User FROM mysql.user;

     Para borrar un usuario específico:

DROP USER 'usuario'@'localhost';

     Paso 5 - Configuración del Virtual Host

          Ahora que ya tenemos descargado el esqueleto del proyecto y los módulos que vamos a emplear una vez comencemos con la instalación, necesitaremos configurar el dominio en el Virtual Host, para poder acceder a la web a través del navegador y comenzar con el proceso.

          En mi caso, he optado por el uso de LAMP con el WSL2 en Windows 10, pero tu puedes seleccionar la opción que prefieras.

          He creado el archivo llamado drupal7.localhost.conf, ubicado dentro de la carpeta del servidor Apache, en "/ect/apache2/sites-available", y dentro he colocado la siguiente estructura, definiendo todos los datos relacionados con el dominio que voy a utilizar para mi proyecto, la ubicación de los archivos y los permisos para los cambios que se efectuarán durante la instalación y su funcionamiento.

          Puedes copiar el siguiente código y sustituir los datos por los de tu proyecto:

<VirtualHost *:80>

  # virtual host configuration for Drupal

  ServerAdmin [email protected]
  DocumentRoot /var/www/drupal7/web
  ServerName drupal7.localhost
  ServerAlias www.drupal7.localhost

  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>

  <Directory /var/www/drupal7/web>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/drupal7_error.log
  LogLevel warn
  CustomLog ${APACHE_LOG_DIR}/drupal7_access.log combined

</VirtualHost>

         Al tratarse de Linux, una vez guardados los cambios del archivo de configuración, tendremos que ejecutar el comando a2ensite para activarlo:

 

        Y a continuación reiniciar nuestro servidor para que ejecute los cambios.

 

        Ahora, si abrimos nuestro navegador y escribimos el dominio que hemos activado, deberíamos ver la pantalla del instalador de Drupal, listo para comenzar con el proceso.