Cómo instalar Drupal 9 en Ubuntu 20.04

Cómo instalar Drupal 9 en Ubuntu 20.04

En este artículo, explicaremos cómo instalar Drupal 9 en Ubuntu 20.04. El tutorial lo guiará para instalar y configurar Nginx como servidor web, PHP, MariaDB como base de datos.

Drupal es un sistema de gestión de contenido gratuito y de código abierto. Con sólidas herramientas de administración de contenido, sofisticadas API para publicación multicanal y un historial de innovación continua, Drupal está listo para convertirse en el centro de su presencia digital.

Instale Drupal 9 en Ubuntu 20.04

Requisito previo:

  • Un servidor dedicado Ubuntu 20.04 o KVM VPS.
  • Acceso al servidor con usuario root.

1. Mantenga el servidor actualizado:

# apt update -y

# apt upgrade -y

2. Instale Nginx

# apt install nginx -y

Inicie y habilite nginx.service usando el siguiente comando:

# systemctl start nginx && systemctl enable nginx

En caso de que haya habilitado el firewall UFW y las solicitudes de bloqueo del firewall del servidor web apache, abra un puerto en el firewall.

# ufw allow 80/tcp

# ufw allow 443/tcp

# ufw reload

Ahora, verifiquemos la instalación de Apache. Abra el navegador y pruebe la página predeterminada.

http://[SERVER IP]

3. Instale MariaDB

Necesitamos importar la clave pública utilizada por el sistema de administración de paquetes. Podemos importarlo usando el siguiente comando:

# apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

Agregar repositorio

# add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.nodesdirect.com/mariadb/repo/10.5/ubuntu focal main'

Una vez que se importa la clave y se agrega el repositorio, puede instalar MariaDB 10.5 desde el repositorio de MariaDB con:

# apt update -y

# apt install mariadb-server -y

Inicie y habilite mariadb.service usando el siguiente comando:

# systemctl start mariadb && systemctl enable mariadb

Inicie sesión en mysql y cree una base de datos y un usuario.

# mysql

Si ha establecido una contraseña de root:

# mysql -u root -p

Primero, podemos crear una base de datos separada que Drupal pueda controlar.

Podemos crear la base de datos para Drupal escribiendo:

mysql> CREATE DATABASE drupal DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Puedes reemplazar y llamar a drupal como quieras.

Ahora, cree un usuario y otorgue el permiso de la base de datos que hemos creado antes.

mysql> GRANT ALL ON drupal.* TO 'drupaluser’@’localhost' IDENTIFIED BY 'password';

Reemplace drupaluser a su nombre de usuario y establezca una contraseña con una contraseña segura .

Para reflejar el cambio, ejecute el siguiente comando:

mysql> FLUSH PRIVILEGES;

Una vez hecho todo, SALGA de mysql.

4. Instale PHP y configure

# apt install php-fpm php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Verifique la instalación de PHP:

# php -v

Abra el archivo php.ini y busque el parámetro que establece cgi.fix_pathinfo . Descomentaremos eliminando el punto y coma (;) y lo estableceremos en 0.

# vi /etc/php/7.4/fpm/php.ini

cgi.fix_pathinfo=0

Una vez que lo haya hecho, guarde y salga.

A continuación, reinicie el servicio php-fpm:

# systemctl restart php7.4-fpm

Configure el bloque del servidor Nginx para usar el procesador PHP. Aquí estamos usando el bloque de servidor predeterminado. Si lo desea, puede crear un nuevo bloque de servidor.

# vi /etc/nginx/sites-available/default

  • Aquí necesitamos agregar una directiva de índice index.php para permitir que se sirvan archivos PHP cuando se solicita un directorio.
  • Modifique la directiva server_name. Reemplace localhost con su nombre de dominio FQDN o dirección IP pública.
  • Agregue una directiva try_files para asegurarse de que Nginx no pase solicitudes incorrectas a nuestro procesador PHP.

El bloque del servidor debería verse así:

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;

index index.html index.htm index.nginx-debian.html index.php;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

Reemplace server_domain_name_or_IP por la IP de su servidor o el nombre del sitio web.

Pruebe el archivo de configuración.

# nginx -t

Si no hay errores, reinicie Nginx para realizar los cambios necesarios.

# systemctl restart nginx

5. Descarga Drupal

Ahora, podemos descargar la última versión de Drupal desde aquí. Utilice el directorio / tmp para descargar y extraer Drupal.

# cd /tmp

# wget https://ftp.drupal.org/files/projects/drupal-9.1.4.zip

Extraiga el archivo comprimido para crear la estructura de directorios de Drupal:

# unzip drupal-*.zip

# cd drupal-9.1.4

Mueva todos los archivos a nuestro directorio raíz usando el siguiente comando:

# mv * /var/www/html

A continuación, cambie el  nombre del archivo de configuración default.settings.php a settings.php .

# cd /var/www/html/sites/default

# cp default.settings.php settings.php

6. Accede a Drupal

Finalmente, navegue hasta el navegador e ingrese su nombre de dominio o dirección IP del servidor. Vaya con el asistente de inicio. Una vez que se completa la configuración, puede acceder al panel de control de Drupal.

Cómo instalar Drupal 9 en Ubuntu 20.04

La instalación se ha completado con éxito.

En este tutorial hemos visto cómo instalar Drupal 9 en Ubuntu 20.04.