Cómo instalar Drupal en Debian 10 Buster

Cómo instalar Drupal en Debian 10 Buster

En este artículo veremos cómo instalar Drupal en Debian 10 Buster paso a paso, de forma que en unos minutos podrás mostrar tu nuevo sitio web y comunidad sobre tu servidor o VPS Debian gracias a este popular CMS.

Antes de instalar Drupal en Debian 10 Buster

Si tienes interés en completar esta guía de instalación en Drupal en Debian 10 Buster, debes partir de la siguiente base:

  • Un sistema Debian 10 Buster actualizado.
  • Una pila o entorno tipo LAMP (servidor web con PHP y servicio de bases de datos).
  • Acceso a línea de comandos con un usuario con privilegios de sudo o el mismo root.
  • Conexión a Internet.

En caso de que tu sistema no disponga del entorno necesario, consulta nuestra guía de instalación LAMP en Debian 10 Buster.

Puedes instalar Drupal en Debian 10 Buster como el sitio web principal del sistema, como parte del sitio web principal o como un servidor virtual independiente. Por simplicidad, en este tutorial instalaremos Drupal como parte del sitio web principal de Debian 10 Buster.

Cómo descargar Drupal para Debian 10 Buster

Tenemos que descargar Drupal para Debian 10 Buster desde su página oficial, ya que no existen paquetes en la distribución:

como descargar drupal para debian 10 buster

Encontraremos los paquetes de la última versión de Drupal en la sección de descargas del sitio oficial:

descargar drupal para debian 10 buster

Se ofrece Drupal en forma de paquete comprimido tanto en versión .zip como .tar.gz.

En este tutorial copiaremos el enlace del paquete .tar.gz y descargaremos a través de consola con el comando wget:

~$ wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Cómo instalar Drupal en Debian 10 Buster

Para instalar Drupal en Debian 10 Buster hay que completar una serie de trabajos previos en el sistema, que veremos a continuación.

Archivos de Drupal

Descomprimiremos el paquete de Drupal que acabamos de descargar en la ubicación que hayamos decidido según la configuración del sitio web:

~$ sudo tar xf drupal.tar.gz -C /var/www/html/

Conviene crear un enlace simbólico sobre el directorio de Drupal para tener un nombre sin números de versión (sustituye el número de versión como corresponda en el siguiente comando):

~$ sudo ln -s /var/www/html/drupal-9.X.X/ /var/www/html/drupal

Drupal necesita poder escribir en su propio directorio de instalación, para lo que otorgamos la propiedad del directorio y su contenido al servidor web:

~$ sudo chown -R www-data:www-data /var/www/html/drupal/

PHP

Drupal requiere la instalación en Debian 10 Buster de algunas extensiones de PHP, como gd, mbstring y xml:

~$ sudo apt install -y php-apcu php-gd php-mbstring php-uploadprogress php-xml

También nos aseguraremos de que esté disponible la extensión que permita la conexión al sistema de bases de datos que vayamos a usar.

Por ejemplo, para MariaDB/MySQL:

~$ sudo apt install -y php-mysql

O para PostgreSQL:

~$ sudo apt install -y php-pgsql

Aplicamos la nueva configuración recargando la configuración del servidor web o del servicio PHP, según corresponda:

~$ sudo systemctl reload apache2

Base de datos

Debemos crear una base de datos para Drupal en el servicio de bases de datos que tengamos en Debian 10, vamos a ver cómo hacerlo en los dos motores más usados en Debian 10.

MariaDB/MySQL

Usaremos el cliente de consola mysql para crear la base de datos y el usuario que la manejará:

~$ mysql -u root -p

Creamos la mencionada base de datos:

> create database drupal character set utf8mb4 collate utf8mb4_unicode_ci;

En MariaDB y MySQL 5 creamos el usuario sin más:

> create user drupal@localhost identified by 'XXXXXXXX';

En MySQL 8 es importante especificar el plugin de autenticación del nuevo usuario:

> create user drupal@localhost identified with mysql_native_password by 'XXXXXXXX';

Concedemos al usuario los permisos sobre la base de datos:

> grant all privileges on drupal.* to drupal@localhost;

Finalizado el trabajo, salimos del cliente:

> exit

PostgreSQL

Creamos un nuevo rol con contraseña:

~$ sudo -u postgres createuser -P drupal

Y creamos la base de datos asociada a este rol:

~$ sudo -u postgres createdb drupal -O drupal

Eso sería todo.

Servidor web Apache

Drupal puede hacer uso del sistema de reescritura de URLs, basado en el módulo Rewrite de Apache, que no está activado por defecto en Debian 10.

Activamos el módulo Rewrite y otros que puede usar Drupal:

~$ sudo a2enmod expires headers rewrite

Y creamos una configuración para Drupal que permita el uso de archivos .htaccess que configuren el módulo Rewrite:

~$ sudo nano /etc/apache2/conf-available/drupal.conf

El contenido de este archivo es un bloque Directory para el directorio de Drupal en el que una directiva AllowOverride permitirá el uso de los archivos .htaccess:

<Directory /var/www/html/drupal>
        AllowOverride all
</Directory>

Activamos la nueva configuración:

~$ sudo a2enconf drupal

Y reiniciamos el servidor web para aplicar todos estos cambios:

~$ sudo systemctl restart apache2

Instalador web

Para terminar la instalación de Drupal en Debian 10 Buster es necesario lanzar el instalador web desde un navegador. Usaremos la URL que corresponda al sitio web.

En este ejemplo, la máquina Debian 10 es accesible en el dominio debian10.local.lan, por lo que añadimos la ruta /drupal, quedando la URL http://debian10.local.lan/drupal para acceder al sitio:

como instalar drupal en debian 10 buster

Tras elegir el idioma en el que queremos Drupal, se descargará el paquete de idioma correspondiente y pasaremos a la selección del perfil de instalación:

instalar drupal en debian 10 buster

Seleccionado el perfil, en la siguiente página debería mostrarse una comprobación de requisitos que la máquina Debian 10 debería satisfacer para Drupal, pero si has seguido los pasos anteriores el sistema los cumplirá y el instalador saltará directamente a la siguiente sección.

Llega el momento de introducir los datos de conexión a la base de datos:

instalacion de drupal en debian 10 buster

Elegimos el tipo de motor de base de datos (si el sistema posee más de uno), e introducimos base, usuario y contraseña tal como los creamos anteriormente y continuamos.

Empezará el proceso de instalación:

instalador de drupal en debian 10 buster

Terminada la instalación llega el momento de configurar la identidad del sitio y crear el usuario administrador:

instalando drupal en debian 10 buster

Al guardar los cambios y continuar se iniciará automáticamente sesión con el administrador y se mostrará la página principal de Drupal:

drupal en debian 10 buster

¡Listo! Ya puedes empezar a personalizar el sitio, crear contenidos, etc.

Post-instalación

Si se trata de un sitio de Internet es muy recomendable reforzar la seguridad ante ataques del tipo «HTTP Host Header«, para lo que configuraremos los dominios a los que responderá exclusivamente Drupal. Editaremos el archivo settings.php:

~$ sudo nano /var/www/html/drupal/sites/default/settings.php

Y buscaremos la variable trusted_horn_patterns:

...
/**
 * Trusted host configuration.
...
 * $settings['trusted_host_patterns'] = [
 *   '^www\.example\.com$',
 * ];
...
 */
...

Un bloque de comentarios explica cómo añadir uno o varios dominios, si la máquina Debian 10 es accesible en más de uno. En este caso, fuera del bloque de comentarios, añadiremos la configuración para el dominio debian10.local.lan:

...
$settings['trusted_host_patterns'] = [
        '^debian10\.local\.lan$',
];
...

Si hubiese más dominios que configurar, se añadirían en líneas adicionales dentro del bloque.

Guardados los cambios harán efecto de inmediato.

Conclusión

Así de fácil es instalar Drupal en Debian 10 Buster, sólo hay que tener en cuenta los pasos previos necesarios y en unos minutos tu servidor o VPS estará listo para servir contenidos y crear comunidad mediante este popular CMS.

Si tienes dudas o preguntas, alguna sugerencia, etc. puedes dejar un comentario.

Y si con esta guía de instalación de Drupal en Debian 10 Buster has montado su sitio web en tu servidor o VPS Debian, ¡puedes invitarme a un café:

 

O dejar 1 $ de propina desde PayPal

¡Gracias!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, promedio: 5,00 de 5)
Cargando…

Deja una respuesta