Drupal es un CMS (polivalente, modular, gratuito) y con amplias posibilidades de personalización. Te permite publicar archivos, imágenes, artículos y crear y gestionar todo tipo de contenidos, cómo sondeos, encuestas en foros, etc.
También es una de las plataformas más flexibles, perfecta para usuarios avanzados. Con ella se pueden crear proyectos complejos, generar mucho tráfico, procesar datos y desarrollar funcionalidades especiales.
En esta guía, te describo cómo instalar Drupal en un Cliente de Ubuntu 22.04.1 (también es válido para servidores Ubuntu 22.04.1). En este caso utilizaré Apache2 ya que es la configuración recomendada por el equipo de Drupal.
Para instalar Drupal 9 tendras que descargar e instalar los siguientes paquetes:
1. Instalar Apache2 + PHP
Hay que instalar Apache2 y PHP, para eso se tiene que ejecutar el siguiente comando:
sudo apt install apache2 php php-{cli,fpm,json,common,mysql,zip,gd,intl,mbstring,curl,xml,pear,tidy,soap,bcmath,xmlrpc} libapache2-mod-php
Ahora hay que asignarle una fecha horaria y un límite de memoria. Para eso tendrás que entrar al archivo de php.ini y definirlos (la fecha horaria y el límite de memoria quedan a su elección):
sudo nano /etc/php/*/apache2/php.ini
“nano es un comando que sirve para abrir archivos”
memory_limit = 1024M
date.timezone = Europe/Madrid
2. Descarga de Drupal 9
2.1. Para la descarga de Drupal 9 hay que ejecutar el siguiente comando:
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
2.2. Luego extrae el archivo en la ruta especificada, en este comando y luego poder eliminarlo:
sudo tar xvf drupal.tar.gz -C /var/www/html
rm -f drupal.tar.gz
Para que todo funcione hay que ir a la siguiente ruta:
cd /var/www/html
Y utilizar este comando para mover los archivos de la carpeta anterior a la nueva llamada drupal.
sudo mv drupal-9.4.8 drupal
2.3. Hay que establecer la propiedad del directorio de Drupal para el usuario y el grupo de Apache.
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
3. Configurar Apache
3.1. Para configurar apache, hay que deshabilitar el sitio predeterminado en Ubuntu (este paso es opcional):
sudo a2dissite 000-default.conf
sudo rm /var/www/html/index.html
sudo systemctl restart apache2
3.2 Hay que crear una nueva configuración de Apache para el sitio web de Drupal. Para ello ejecutare el siguiente comando y escribiré dentro del archivo el siguiente texto:
sudo nano /etc/apache2/sites-available/drupal.conf
3.3. Ahora tendrás que confirmar que esté bien escrita esta configuración:
sudo apachectl -t
3.4. Para acabar con Apache habilitamos el sitio web.
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo sudo a2enmod php7.4
sudo a2enmod rewrite
sudo a2ensite drupal.conf
sudo systemctl restart apache2
4. Instalar MYSQL
4.1. Utilizare MYSQL como servidor de bases de datos. Para instalarlo, utiliza el siguiente comando.
sudo apt install mysql-server
4.2. Ahora hay que ejecutar los siguientes comandos para que funcione (“Advertencia: la contraseña debe de contener más cosas aparte de números si no la rechazara”):
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by ‘yourpassword’'';
4.3. Y ahora puedes instalar el servicio (te saldran los siguientes mensajes, que hay decir que si a todos):
sudo mysql_secure_installation
4.4. Para poder configurar la base datos que entrar en mysql:
mysql -uroot -p
4.5. Ahora hay que crear un nuevo usuario para eso ejecutare el siguiente comando:
CREATE USER 'username'@'localhost' IDENTIFIED BY '1A3F8&r26nd';
CREATE DATABASE drupal;
GRANT ALL PRIVILEGES ON *.* TO 'itdo'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Y salimos:
Ahora utilizando el siguiente comando comprobare si funciona:
systemctl status mysql.service
5. Instalar Configuración de Web en Ubuntu 22.04.1
Conclusión
Puede que Drupal no sea tan popular como Wordpress, pero Drupal sigue siendo uno de los sistemas de gestión de contenidos más completos para los grandes portales empresariales. Ya que puede integrarse fácilmente con otras soluciones comerciales. Drupal es muy versátil, tiene muchas funciones especiales, te permite crear proyectos complejos y en general muchas posibilidades de personalización.