Cómo instalar Drupal en Ubuntu 20.04 LTS

En esta entrada veremos cómo instalar Drupal 9 en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que disfrutes de la última versión de este popular CMS, Drupal 9, para crear y servir contenido web desde tu servidor o VPS Ubuntu.

Antes de instalar Drupal en Ubuntu 20.04 LTS

Si estás interesado en seguir los pasos de esta guía de instalación de Drupal 9 en Ubuntu 20.04 LTS sería recomendable partir de los siguientes requerimientos mínimos:

  • Una máquina Ubuntu 20.04 LTS Focal Fossa actualizada.
  • Un entorno o pila tipo LAMP (servicio web con PHP y bases de datos).
  • Acceso a consola con un usuario con permisos de sudo.
  • Conexión a Internet.

¿No dispones aún del entorno necesario? Entonces es probable que te interese nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 LTS e incluso la guía de instalación de PostgreSQL en Ubuntu 20.04 LTS.

Por otro lado, de las posibles formas de integrar Drupal 9 en el servicio hemos elegido hacerlo como parte del sitio web por defecto, aunque los cambios para que funcione como el sitio principal o un servidor virtual independiente son sencillos. También es muy importante trabajar sobre HTTPS, pero por simplicidad de la guía hemos usado HTTP. Tienes información adicional sobre estos aspectos en nuestra guía de instalación del servidor web Apache en Ubuntu 20.04 LTS.

Cómo descargar Drupal para Ubuntu 20.04 LTS

Vamos a descargar Drupal 9 para Ubuntu 20.04 LTS desde la sección de descargas del sitio oficial, ya que no existen paquetes en los repositorios de la distribución.

como descargar drupal 9 para opensuse leap 15.1

Encontraremos la última versión disponible de Drupal en paquetes con fomatos .zip y .tar.gz, siendo el paquete .tar.gz el que descargamos, en este caso desde consola mediante el comando wget:

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

Cómo instalar Drupal en Ubuntu 20.04 LTS

Para poder instalar Drupal 9 en Ubuntu 20.04 LTS es necesario realizar una serie de tareas en el sistema, de modo que posteriormente el instalador web corra sin problemas. A continuación detallamos todos los pasos necesarios.

Archivos de Drupal

Extraemos el paquete que acabamos de descargar directamente en la ruta que nos interesa para la integración con el servicio web:

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

Como el nombre del nuevo subdirectorio creado contiene el número de versión en su nombre, puede ser buena idea crear un enlace simbólico sin números:

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

Sustituye en el comando anterior 9.X.X por la versión que has descargado (la tecla tabulador ayudará con el autocompletado).

Como Drupal 9 necesita escribir en su propio directorio de instalación, cambiaremos la propiedad del mismo y de su contenido al usuario con el que corre el servicio web en Ubuntu 20.04:

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

Servicio web

Drupal 9 está muy orientado al uso de Apache como servicio web, puesto que entre otras cosas puede hacer uso de algunos módulos que no están activados por defecto. Activamos dichos módulos de Apache:

~$ sudo a2enmod expires headers rewrite

El uso de estos módulos se realiza a través de archivos .htaccess, que no son interpretados por defecto, ajuste que añadiremos al archivo de configuración que crearemos para hacer la aplicación navegable a través de un alias:

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

Por tanto el contenido quedaría así:

Alias /drupal /var/www/drupal

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

Guardamos los cambios y activamos la configuración:

~$ sudo a2ensite drupal.conf

Y reiniciamos el servicio web para aplicar todos estos ajustes:

~$ sudo systemctl restart apache2

Base de datos

Drupal 9 se apoya sobre el servicio de bases de datos existente en la máquina Ubuntu 20.04 LTS, admitiéndose varios motores de los que veremos los dos más populares. Veremos cómo crear las bases de datos y usuarios que necesita la aplicación.

MariaDB/MySQL

Conectamos al servicio con el cliente mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base de datos:

> create database drupal9 charset utf8mb4 collate utf8mb4_unicode_ci;

Si usamos MariaDB o MySQL 5 creamos el usuario de forma trivial:

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

En caso de tratarse de MySQL 8 es importante asegurarse de usar el plugin de conexión adecuado:

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

Concedemos los privilegios al usuario sobre la base:

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

Y cerramos la conexión:

> exit

PostgreSQL

Creamos un rol con contraseña para Drupal 9:

~$ sudo -u postgres createuser -P drupal9

Y creamos la base asociándola al rol anterior:

~$ sudo -u postgres createdb drupal9 -O drupal9

PHP

Drupal 9 necesita la disponibilidad de ciertas extensiones en Ubuntu 20.04 LTS que obtendremos desde los repositorios de la distribución. Por ello, actualizamos las listas de paquetes:

~$ sudo apt update

E instalamos las extensiones:

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

Se necesitará también la extensión que corresponda al motor de bases de datos sobre el que corra Drupal 9, siendo en el caso de MariaDB/MySQL:

~$ sudo apt install -y php-mysql

Y en el de PostgreSQL:

~$ sudo apt install -y php-pgsql

Terminada la instalación hay que recargar la configuración del servicio web:

~$ sudo systemctl reload apache2

Instalador web

Para acceder al instalador web de Drupal 9 en Ubuntu 20.04 LTS utilizaremos la URL de acceso a la aplicación según la forma de integrarla en el servicio web, en este caso añadiendo el alias a la dirección IP o nombre DNS del servidor.

Por ejemplo, la máquina Ubuntu 20.04 que hemos usado para elaborar este artículo es accesible en el subdominio ubuntu2004.local.lan, y hemos configurado el alias /drupal, por lo que usamos http://ubuntu2004.local.lan/drupal como URL:

como instalar drupal en ubuntu 20.04 lts focal fossa

En la página inicial del instalador web elegiremos el idioma de la instalación.

A continuación seleccionamos el perfil de instalación que necesitamos:

instalar drupal en ubuntu 20.04 lts focal fossa

Habitualmente el perfil recomendado es el estándar, aunque si sabes lo que quieres puedes elegir otro.

El siguiente paso es la comprobación de requisitos para la instalación, destacándose aquellos que no se cumplen, pero si has seguido los pasos anteriores deben cumplirse todos, y el instalador saltará directamente a la configuración de la conexión al servicio de bases de datos:

instalacion de drupal 9 en ubuntu 20.04 lts focal fossa

Si hay más de un servicio disponible elegiremos el que hemos preparado, introduciendo los datos de conexión tal como los creamos anteriormente.

Comienza el proceso de instalación:

instalador de drupal 9 en ubuntu 20.04 lts focal fossa

Tras la inicialización de la base de datos, instalación de módulos, traducciones, etc. se pedirá la información básica de identificación del nuevo sitio web y los datos del usuario administrador:

instalando drupal 9 en ubuntu 20.04 lts focal fossa

La instalación ultimará la actualización de traducciones y finalmente presentará el nuevo sitio Drupal 9 con sesión iniciada automáticamente para el usuario administrador:

drupal 9 en ubuntu 20.04 lts focal fossa

Ya está todo listo para empezar a crear contenido web en tu servidor Ubuntu 20.04 y desplegarlo con Drupal 9.

Post-instalación de Drupal 9 en Ubuntu 20.04 LTS

Si la instalación de Drupal que estás llevando a cabo sobre tu sistema Ubuntu 20.04 LTS está destinada a servir contenido en Internet entonces es muy importante de cara a la seguridad de tu sitio protegerlo contra ataques de tipo «HTTP Host Header«. Para ello editaremos el archivo de configuración de Drupal settings.php:

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

Buscaremos la configuración de la variable trusted_host_patterns:

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

Este bloque de configuración está desactivado por completo en forma de comentarios, así que realizaremos la configuración fuera de dicho bloque. Añadimos a la variable sólo aquellos dominios a los que Drupal debe responder.

En nuestro ejemplo hemos trabajado con un servidor Ubuntu 20.04 LTS accesible en el dominio ubuntu2004.local.lan, por lo que lo configuraremos debidamente:

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

Es importante respetar las convenciones que muestran los comentarios, iniciando el dominio con el carácter ‘^‘, terminándolo con ‘$‘, y sustituyendo los puntos por ‘\.’.

Si el sitio Drupal debe ser accesible en más de un dominio, para configuraciones multi-sitio, podemos añadir más dominios dentro del bloque de configuración.

Una vez guardado el archivo, los cambios hacen efecto de inmediato.

Conclusión

Ahora que sabes cómo instalar Drupal 9 en Ubuntu 20.04 LTS Focal Fossa ya puedes empezar a crear y servir contenido web gracias a las características de este famoso CMS.

En caso de dudas, preguntas, alguna sugerencia de mejora de este artículo, si crees que necesita ser actualizado o quieres notificar algún error, puedes dejar un comentario. El SPAM no es bien recibido (el filtro lo elimina automáticamente).

¡Apoya comoinstalar.me!

¿Ya tienes listo para trabajar este CMS gracias a nuestra guía de instalación de Drupal 9 en Ubuntu 20.04 LTS? Si es así y te apetece expresar tu agradecimiento colaborando con el mantenimiento de este sitio y la creación de más guías y tutoriales, puedes hacerlo invitándonos a un café:

 

O dejando desde 1 $ de propina en PayPal:

¡Gracias!

Valora esta entrada

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

Deja un comentario

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.

ACEPTAR
Aviso de cookies