Cómo instalar Drupal CMS con Apache y Let’s Encrypt SSL gratis en Ubuntu 24.04

Drupal es un popular sistema de gestión de contenidos escrito en PHP. Lo utilizan al menos el 14% de los 10.000 sitios web más importantes de Internet, de industrias empresariales globales, gobiernos, educación y sitios de instituciones. Drupal proporciona un sistema de alta escalabilidad integrado con aplicaciones digitales y puede utilizarse para crear multisitios para diferentes organizaciones con soporte multilingüe.

Esta guía te mostrará cómo instalar Drupal en un servidor Ubuntu 24.04. Instalaremos Drupal con la pila LAMP (Linux, Apache, MariaDB y PHP) y aseguraremos Drupal con HTTPS de Letsencrypt.

Requisitos previos

Antes de empezar, asegúrate de que tienes

  • Un servidor Ubuntu 24.04
  • Un usuario no root con privilegios de administrador
  • Un nombre de dominio apuntando a la dirección IP del servidor

Instalación de dependencias

Drupal es un CMS basado en MySQL/MariaDB y PHP. Para instalarlo, debes asegurarte de que tanto MySQL/MariaDB como PHP están instalados en tu sistema. Para el servidor web, puedes utilizar Apache o Nginx.

En esta sección, instalarás las dependencias para Drupal. Esto incluye la pila LAMP (Linux, Apache, MariaDB y PHP) y Composer.

En primer lugar, actualiza el índice de paquetes de Ubuntu con el siguiente comando.

sudo apt update

actualizar repo

Ahora instala las dependencias LAMP Stack (Linux, Apache, MariaDB y PHP) y Composer en tu sistema Ubuntu con esto:

sudo apt install apache2 mariadb-server composer php php-apcu php-dev libapache2-mod-php libcurl4-openssl-dev php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-uploadprogress php-soap php-bcmath php-xmlrpc

Introduce Y para confirmar la instalación.

instalar dependencias

Tras la instalación, comprueba el estado de Apache y MariaDB, y luego comprueba las versiones de PHP y Composer.

Comprueba el servicio de Apache con el siguiente comando. Así te asegurarás de que Apache se está ejecutando y está habilitado en tu servidor.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Un out enabled indica que el servidor web Apache se iniciará al arrancar. Y el activo(running) muestra que Apache se está ejecutando.

comprobar apache

Ahora comprueba el estado del servicio MariaDB con lo siguiente:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Al igual que Apache, verás una salida habilitada y el estado «active(running)», lo que confirma que MariaDB se iniciará al arrancar y el estado es en ejecución.

comprobar mariadb

Por último, comprueba las versiones de PHP y Composer con el siguiente comando. En este momento, el repositorio por defecto de Ubuntu 24.04 proporciona PHP 8.3 y Composer 2.7.1.

sudo php -v
sudo -u www-data composer -v

comprobar compositor

Configurar PHP

Después de instalar las dependencias, necesitas configurar PHP para Drupal. Necesitas editar el archivo predeterminado ‘php.ini’ y cambiar algunas configuraciones predeterminadas según sea necesario para Drupal.

Abre la configuración de php.ini con el siguiente comando del editor nano.

sudo nano /etc/php/8.3/apache2/php.ini

Cambia la configuración por defecto con lo siguiente y asegúrate de ajustar las opciones memory_limit y date.timezone con los entornos de tu servidor.

memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam

Cuando hayas terminado, guarda y sal del archivo.

Ahora reinicia el servidor web Apache para aplicar la nueva configuración PHP.

sudo systemctl restart apache2

Configurar el servidor MariaDB

Ahora que ya has configurado PHP, vamos a configurar el servidor MariaDB asegurándolo mediante la utilidad ‘mariadb-secure-installation’ y a crear una nueva base de datos y un nuevo usuario para Drupal.

Asegura la instalación de tu servidor MariaDB con el siguiente comando. Este comando te preguntará sobre las configuraciones del servidor MariaDB.

sudo mariadb-secure-installation

Ahora introduce Y para aplicar los cambios a MariaDB, o escribe n para rechazarlo:

  • La instalación por defecto de MariaDB viene sin contraseña, pulsa ENTER cuando se te pida la contraseña.
    Ahora introduce Y para configurar la contraseña raíz de MariaDB. A continuación, escribe la nueva contraseña para MariaDB y repite la contraseña.
    Introduce Y para eliminar el usuario anónimo de tu instalación de MariaDB.
    Introduce Y de nuevo cuando se te pida para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
    Introduce Y para eliminar la prueba de base de datos por defecto de tu MariaDB.
    Por último, introduce Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Cuando el servidor MariaDB esté protegido, deberás crear una nueva base de datos y un nuevo usuario para Drupal. Esto puede hacerse utilizando el comando cliente ‘mariadb’.

Accede al servidor MariaDB con lo siguiente – Introduce tu contraseña de root de MariaDB cuando te lo pida.

sudo mariadb -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para Drupal. En este ejemplo, crearás un nuevo usuario‘drupal‘, base de datos‘drupaldb‘, con la contraseña‘DrupalSecurePassword‘. Asegúrate de cambiar la información con tus datos.

CREATE DATABASE drupaldb;
CREATE USER drupal@localhost IDENTIFIED BY 'DrupalSecurePassword';
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

crear base de datos

Ahora ejecuta la siguiente consulta para verificar el usuario ‘drupal‘. Asegúrate de que el usuario ‘drupal‘ puede acceder a la base de datos‘drupaldb‘.

SHOW GRANTS FOR drupal@localhost;

La siguiente salida indica que el usuario «drupal» puede acceder a la base de datos«drupaldb«.

mostrar privilegios

Por último, escribe quit para salir del servidor MariaDB.

Descargar el código fuente de Drupal

En este paso, descargarás el código fuente de Drupal y configurarás el directorio raíz de la web con la propiedad y el permiso adecuados. En este ejemplo, descargarás e instalarás la última versión de Drupal.

Ve al directorio /var/www y descarga el código fuente de Drupal utilizando el siguiente comando wget.

cd /var/www/
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Cuando finalice la descarga, extrae el código fuente de Drupal y cambia el nombre del directorio extraído a «drupal». Con esto, el /var/www/drupal se convertirá en tu directorio raíz web o raíz de documentos para la instalación de Drupal.

tar -xvf drupal.tar.gz
mv drupal-* /var/www/drupal

Ahora ejecuta el siguiente comando para cambiar la propiedad de /var/www/drupal al usuario www-data y el permiso a 755.

sudo chown -R www-data:www-data /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/

Configurar el host virtual Apache

Después de descargar Drupal, debes crear el host virtual Apache para tu instalación. Para ello, asegúrate de haber preparado tu nombre de dominio para la instalación de Drupal.

En primer lugar, ejecuta el siguiente comando para habilitar los módulos de Apache‘ssl‘ y‘rewrite‘.

sudo a2enmod ssl rewrite

activar reescritura y módulo ssl

Ahora crea una nueva configuración de host virtual Apache con el siguiente comando.

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

Copia y pega la configuración de abajo, y asegúrate de cambiar la opción ServerName con el nombre de dominio de tu instalación de Drupal.

<VirtualHost *:80>
ServerName hwdomain.io
ServerAdmin [email protected]
DocumentRoot /var/www/drupal

# Add security
php_flag register_globals off

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>

<Directory /var/www/drupal>
Options FollowSymlinks
#Allow .htaccess
AllowOverride All
Require all granted
<IfModule security2_module>
SecRuleEngine Off
# or disable only problematic rules
</IfModule>
</Directory>

<Directory /var/www/drupal/>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>

</VirtualHost>

Cuando hayas terminado, guarda y sal del archivo.

Ahora ejecuta el siguiente comando para activar el archivo de host virtual ‘drupal.conf’ y, a continuación, comprueba tu sintaxis de Apache. Si la sintaxis de Apache es correcta, deberías obtener el mensaje«La sintaxis es correcta«.

sudo a2ensite drupal.conf
sudo apachectl configtest

Por último, reinicia Apache con lo siguiente para aplicar tu nueva configuración de host virtual. Con esto, tu Drupal debería ser accesible.

sudo systemctl restart apache2

configuración vhost

Asegurar Drupal con HTTPS

Para asegurar Drupal con HTTPS, puedes utilizar certificados SSL gratuitos de Letsencrypt. Si estás instalando en el dominio público, sigue este paso para habilitar HTTPS en tu instalación de Drupal. Si utilizas el nombre de dominio local, puedes utilizar certificados SSL autofirmados.

Instala Certbot y el plugin Certbot Apache con lo siguiente – Escribe Y para confirmar la instalación.

sudo apt install certbot python3-certbot-apache

Una vez completada la instalación, ejecuta el siguiente comando certbot para generar certificados SSL/TLS para tu instalación de Drupal. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d hwdomain.io

Cuando termine, tus certificados SSL/TLS deberían generarse en el directorio /etc/letsencrypt/live/example.com y tu instalación de Drupal debería estar automáticamente protegida con HTTPS.

Instalar Drupal

Visita tu dominio Drupal, como https://hwdomain.io desde tu navegador web preferido. Si la instalación se realiza correctamente, debería aparecer el asistente de instalación de Drupal.

Selecciona el idioma predeterminado para Drupal y, a continuación, haz clic en Guardar y continuar.

idioma por defecto

Selecciona el perfil de instalación de Drupal que prefieras y haz clic en Guardar y continuar. Para principiantes, utiliza el perfil Estándar o Demo. Si tienes experiencia con Drupal, puedes seleccionar el perfil Mínimo.

seleccionar perfil

Ahora, asegúrate de que has pasado la comprobación del entorno de Drupal, que garantiza que tu servidor está preparado para la instalación de Drupal.

Si está listo, se te redirigirá a la configuración de la base de datos para Drupal. Introduce los datos de tu servidor MariaDB, el nombre de la base de datos, el nombre de usuario y la contraseña, y haz clic en Guardar y continuar.

configuración de la base de datos

La instalación de Drupal debería comenzar:

Instalación de Drupal

Una vez completada la instalación de Drupal, debes configurar tu sitio Drupal. Introduce el Nombre del sitio, la dirección de correo electrónico, el nombre de usuario del administrador, la contraseña, el país por defecto y la zona horaria.

Haz clic en Guardar y continuar para confirmar.

configuración del sitio

Ahora, si la instalación se ha realizado correctamente, deberías recibir el mensaje«¡Enhorabuena, has instalado Drupal!«.

instalación completa

A continuación, haz clic en el menú Gestionar > Configuración para acceder al panel de administración de Drupal. Verás lo siguiente:

configuración

Conclusión

¡Enhorabuena! Has completado la instalación de Drupal CMS en el servidor Ubuntu 24.04. Tienes Drupal funcionando con la pila LAMP (Linux, Apache, MariaDB y PHP) y protegido con HTTPS de Letsencrypt. Ahora puedes gestionar tu sitio Drupal instalando temas o añadiendo extensiones.

También te podría gustar...