Cómo instalar Drupal en Ubuntu 18.04 LTS

En este artículo veremos cómo instalar Drupal 9 en Ubuntu 18.04 LTS Bionic Beaver paso a paso, de modo que en unos minutos tendrás instalado este espectacular CMS en tu servidor o VPS Ubuntu sin esfuerzo.

Antes de instalar Drupal en Ubuntu 18.04

Para completar con éxito esta guía de instalación de Drupal 9 en Ubuntu 18.04 LTS debes satisfacer los siguientes requerimientos básicos antes de continuar:

  • Una máquina Ubuntu 18.04 actualizada.
  • Entorno o pila tipo LAMP (servidor web con PHP 7.3 ó superior y bases de datos).
  • Acceso a línea de comandos con un usuario con permisos de sudo.
  • Conexión a Internet.

Si aún no dispones del entorno, puedes consultar la guía de instalación LAMP en Ubuntu 18.04 LTS.

Puedes instalar Drupal dentro del servicio web de Ubuntu 18.04 como la página por defecto del servidor, como parte de la página por defecto o en un servidor virtual independiente. Por simplicidad, en este tutorial instalaremos Drupal como parte de la página web por defecto del sistema.

Además es importante usar el protocolo seguro HTTPS.

Cómo descargar Drupal para Ubuntu 18.04

Ya que no existen paquetes en la distribución, tendremos que descargar Drupal para Ubuntu 18.04 LTS desde su sitio oficial:

como descargar drupal 9 para ubuntu 18.04 lts bionic beaver

Visitaremos la sección de descargas donde encontraremos enlaces para el paquete de la última versión disponible de Drupal tanto en formato .zip como en formato .tar.gz:

descargar drupal para ubuntu 18.04 lts bionic beaver

Puedes realizar la descarga desde el navegador o, como haremos en este tutorial, copiar el enlace del paquete .tar.gz y descargarlo desde consola con el comando wget:

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

Cómo instalar Drupal en Ubuntu 18.04

Para instalar Drupal en Ubuntu 18.04 LTS debemos realizar una serie de preparativos y tareas previas que harán que la instalación transcurra sin sobresaltos ni problemas.

Preparación de los archivos de Drupal

Descomprimimos el paquete en la ubicación que hayamos decidido, con respecto al servicio web:

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

Creamos un enlace para obviar el número de versión, o renombramos (ten en cuenta el nombre del directorio que se ha creado en el comando siguiente):

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

Drupal necesita escribir en su propio directorio de instalación, así que cambiamos la propiedad del directorio y su contenido al usuario con el que corre el servidor web (www-data en el caso de Apache):

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

Preparación de MariaDB/MySQL

Drupal se apoya sobre una base de datos, como muchos otros CMS y aplicaciones web complejas, por lo que crearemos el soporte necesario en el servicio que tengamos instalado en Ubuntu 18.04. En esta guía veremos cómo preparar los dos motores de baes de datos más usados en Drupal y Ubuntu 18.04 LTS.

MariaDB/MySQL

Abrimos el cliente de consola mysql con nuestro usuario administrador:

~$ mysql -u root -p

Creamos la nueva base de datos para Drupal:

> create database drupal_db character set utf8mb4 collate utf8mb4_unicode_ci;

Si usas MySQL 8 con el plugin por defecto caching_sha2_password usa esta sentencia para crear el usuario:

> create user drupal_user@localhost identified with mysql_native_password by 'XXXXXXXX'

En cualquier otro caso, como MariaDB o MySQL 5, crea el usuario con esta otra sentencia:

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

Ahora concedemos los permisos al usuario sobre la base:

> grant all privileges on drupal_db.* to drupal_user@localhost;

Y cerramos el cliente mysql:

> exit

PostgreSQL

Creamos el nuevo rol con contraseña para Drupal:

~$ sudo -u postgres createuser -P drupal

Y creamos la base de datos asociada a dicho rol:

~$ sudo -u postgres createdb drupal -O drupal

Preparación de PHP

Drupal requiere que nuestro sistema Ubuntu 18.04 LTS tenga instaladas una serie de extensiones de PHP, como pueden ser gd, mbstring y xml:. Tenemos que especificar nuestra versión de PHP en el nombre de los paquetes; por ejemplo, en el caso de usar la versión 7.4:

~$ sudo apt install -y php7.4-apcu php7.4-gd php7.4-mbstring php7.4-uploadprogress php7.4-xml

En el caso de usar otra versión habrá que cambiar el prefijo php7.4- por lo que corresponda en el comando anterior.

La extensión uploadprogress no está disponible para la versión 8.0.

Es fundamental tener instalada la extensión que conecte con el servicio de bases de datos que usará Drupal (se aplica lo ya mencionado con respecto a los nombres de las extensiones).

Para MariaDB/MySQL:

~$ sudo apt install -y php7.4-mysql

Y para PostgreSQL:

~$ sudo apt install -y php7.4-pgsql

Al terminar la instalación es necesario recargar la configuración del servicio web:

~$ sudo systemctl reload apache2

Preparación de Apache

Drupal puede trabajar con varios módulos de Apache como Expire, Headers y Rewrite de Apache, así que los activaremos:

~$ sudo a2enmod expires headers rewrite

En la ubicación que hemos elegido para este ejemplo, Apache ignora los archivos .htaccess. Crearemos una configuración personalizada para el sitio Drupal en un archivo aparte:

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

Con este contenido:

Alias /drupal /var/www/drupal

<Directory /var/www/drupal>
        Require all granted
        AllowOverride All
</Directory>

Si estás configurando un servidor virtual, incluye el bloque Directory anterior (con la ruta correspondiente) en el archivo de configuración del servidor virtual.

Pero en este ejemplo, activaremos la nueva configuración:

~$ sudo a2enconf drupal

Al terminar, hay que reiniciar Apache:

~$ sudo systemctl restart apache2

Instalador web

Desde el navegador introducimos la URL de nuestro sitio Drupal según la configuración que hayamos elegido. En este ejemplo, al ser parte de la página por defecto de Ubuntu 18.04, siendo el nombre de la máquina ubuntu64.local.lan, la URL http://ubuntu64.local.lan/drupal/ sería la que usaríamos:

como instalar drupal en ubuntu 18.04 lts bionic beaver

En la primera página elegiremos el idioma de modo que al continuar se descargará el paquete de idioma correspondiente.

A continuación tendremos que elegir un perfil de instalación (estándar, mínimo o demostración):

instalar drupal en ubuntu 18.04 lts bionic beaver

En este tutorial seleccionamos la opción habitual, el perfil estándar.

La siguiente sección en teoría es una verificación de requisitos donde se mostrarían los que no cumple nuestro sistema Ubuntu 18.04, pero si has seguido los pasos previos, el instalador se la saltará al estar todo correcto.

Pasamos directamente a la configuración de la base de datos:

instalación de drupal en ubuntu 18.04 lts bionic beaver

Elegiremos el motor de bases de datos que hayamos preparado para Drupal (si hay más de uno), e introduciremos los datos de conexión al servicio de bases de datos tal como los creamos anteriormente. Las opciones avanzadas no es necesario modificarlas normalmente, ya que el servidor de bases de datos suele estar instalado en la misma máquina que Drupal.

Por fin comenzará el proceso de instalación de Drupal:

instalador de drupal en ubuntu 18.04 lts bionic beaver

Al terminar la instalacion hay que configurar los aspectos generales del sitio, así como crear el usuario administrador:

drupal para ubuntu 18.04 lts bionic beaver

Terminará la configuración del sitio y accederemos directamente a la página principal con la sesión iniciada, por lo que directamente podremos ponernos a trabajar y administrar este fantástico CMS:

drupal en ubuntu 18.04 lts bionic beaver

Pero antes conviene realizar un último ajuste de seguridad editando el archivo de configuración de Drupal:

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

Buscamos la sección de la configuración «Trusted host configuration«:

...
/**
 * Trusted host configuration.
 *
 * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host
 * header spoofing.
...

En los comentarios de esta sección se explica mediante un ejemplo cómo configurar el dominio con el que se accede a nuestro sitio Drupal en el servidor Ubuntu 18.04:

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

Justo a continuación del bloque comentado podemos añadir nuestro dominio (en el ejemplo de este tutorial sería ubuntu64.local.lan) siguiendo el ejemplo mostrado:

...
 * will allow the site to run off of all variants of example.com and
 * example.org, with all subdomains included.
 */
$settings['trusted_host_patterns'] = [
        '^ubuntu64\.local\.lan$',
];
...

Bastará con guardar los cambios del archivo para que la configuración entre en funcionamiento.

Conclusión

Ahora ya sabes cómo instalar Drupal 9 en Ubuntu 18.04 LTS Bionic Beaver de un tirón, sin tropiezos ni obstáculos. En apenas unos instantes tendrás tu servidor o VPS Ubuntu listo para servir contenido y crear comunidad gracias a Drupal.

Si tienes alguna duda o pregunta, sugerencia, notificación, etc. un comentario sería lo apropiado.

¡Apoya este sitio!

¿Has llegado hasta aquí con éxito gracias a nuestra guía de instalación de Drupal 9 en Ubuntu 18.04 LTS? Si es así y quieres agradecérnoslo, la más mínima aportación ayuda mucho al mantenimiento de este sitio y preparación de más guías y tutoriales de Drupal y Ubuntu 18.04, y puedes hacerlo dejando 1 $ de propina en PayPal:

O, si te sientes especialmente agradecido, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

3 comentarios en «Cómo instalar Drupal en Ubuntu 18.04 LTS»

  1. ¡Hola! Increíble tutorial, soy un estudiante de la Universidad Autónoma de Madrid y tengo un par de dudas, a ver si puedes ayudarme.

    Una vez creado tu primer proyecto con Drupal, aparte de borrar todo lo que has creado para volver a empezar, que más se puede hacer para empezar un nuevo proyecto (me pierdo con temas de dominios, yo de momento solo trabajo con mi IP local).

    La otra, me he estado informando y parece que los proyectos de Drupal 9 instalados con Composer están a la orden del día. Quería saber en qué punto o paso habría que instalar Drupal y usar el comando para crear el proyecto. Intuyo que la instalación en cualquier momento y que la creación del proyecto sería al principio, en vez de descomprimir y dar permisos.

    Sinceramente estaría super agradecido de saber tus opiniones.

    Responder
    • Hola, Guillermo. En cuanto a tener más de un sitio Drupal en el mismo sistema, el método más fácil es descomprimir el paquete en otra carpeta (con un nombre distinto al inicial), actualizar permisos, configurar la ruta para Apache y durante la instalación web, en la sección de la base de datos, especificar un prefijo único para las tablas que correspondan al nuevo sitio. Esto lo puedes repetir una y otra vez. Técnicamente es una barbaridad y para sitios en producción lo ideal es utilizar las características de multisitio de Drupal, pero para pruebas o si no se tiene mucho tiempo, el método anterior funciona.

      En cuanto a instalar Drupal con Composer no funciona como describes. Directamente se crea un nuevo proyecto de Composer que conectará al repositorio en Github (para el que debes usar las credenciales de tu cuenta en dicho sitio). Efectivamente, se usa mucho Composer, pero para principiantes y gente que no está tan al día seguimos usando el método old school siempre que es posible.

      Responder

Deja un comentario

Ads Blocker Image Powered by Code Help Pro

¡Detectado un bloqueador de publicidad!

Hemos detectado que está usando extensiones para bloquear anuncios prublicitarios. Por favor, ayúdenos desactivando dicho bloqueador para este sitio web. ¡Gracias!