Comment installer Drupal 9 sur Ubuntu 20.04

Comment installer Drupal 9 sur Ubuntu 20.04

Dans cet article, nous expliquerons comment installer Drupal 9 sur Ubuntu 20.04. Le tutoriel vous guidera pour installer et configurer Nginx en tant que serveur Web, PHP, MariaDB en tant que base de données.

Drupal est un système de gestion de contenu gratuit et open source. Avec des outils de gestion de contenu robustes, des API sophistiquées pour la publication multicanal et un historique d'innovation continue, Drupal est prêt à devenir la plaque tournante de votre présence numérique.

Installer Drupal 9 sur Ubuntu 20.04

Prérequis:

  • Un serveur dédié Ubuntu 20.04 ou KVM VPS .
  • Accès au serveur avec l'utilisateur root.

1. Maintenez le serveur à jour :

# apt update -y

# apt upgrade -y

2. Installez Nginx

# apt install nginx -y

Démarrez et activez nginx.service à l'aide de la commande suivante :

# systemctl start nginx && systemctl enable nginx

Si vous avez activé le pare-feu UFW et les demandes de blocage du pare-feu du serveur Web Apache, ouvrez un port dans le pare-feu.

# ufw allow 80/tcp

# ufw allow 443/tcp

# ufw reload

Maintenant, vérifions l'installation d'Apache. Ouvrez le navigateur et testez la page par défaut.

http://[SERVER IP]

3. Installez MariaDB

Nous devons importer la clé publique utilisée par le système de gestion des packages. Nous pouvons l'importer en utilisant la commande suivante :

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

Ajouter un référentiel

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

Une fois la clé importée et le référentiel ajouté, vous pouvez installer MariaDB 10.5 à partir du référentiel MariaDB avec :

# apt update -y

# apt install mariadb-server -y

Démarrez et activez mariadb.service à l' aide de la commande suivante :

# systemctl start mariadb && systemctl enable mariadb

Connectez-vous à mysql et créez une base de données et un utilisateur.

# mysql

Si vous avez défini un mot de passe root :

# mysql -u root -p

Premièrement, nous pouvons créer une base de données distincte que Drupal peut contrôler.

Nous pouvons créer la base de données pour Drupal en tapant :

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

Vous pouvez remplacer et appeler Drupal comme bon vous semble.

Maintenant, créez un utilisateur et accordez la permission de la base de données que nous avons créée plus tôt.

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

Remplacez drupaluser par votre nom d'utilisateur et définissez un mot de passe avec un mot de passe fort.

Pour refléter le changement, exécutez la commande suivante :

mysql> FLUSH PRIVILEGES;

Une fois tout fait, QUITTER le mysql.

4. Installez PHP et configurez

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

Vérifiez l'installation de PHP :

# php -v

Ouvrez le fichier php.ini et recherchez le paramètre qui définit cgi.fix_pathinfo . Nous serons décommentés en supprimant le point-virgule (;) et mis à 0.

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

cgi.fix_pathinfo=0

Une fois que vous avez terminé, enregistrez et quittez.

Ensuite, redémarrez le service php-fpm :

# systemctl restart php7.4-fpm

Configurez le bloc de serveur Nginx pour utiliser le processeur PHP. Ici, nous utilisons le bloc de serveur par défaut. Si vous le souhaitez, vous pouvez créer un nouveau bloc de serveur.

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

  • Ici, nous devons ajouter une directive d'indexation index.php pour permettre aux fichiers PHP d'être servis lorsqu'un répertoire est demandé.
  • Modifiez la directive server_name. Remplacez localhost par votre nom de domaine FQDN ou votre adresse IP publique.
  • Ajoutez une directive try_files pour vous assurer que Nginx ne transmet pas de mauvaises requêtes à notre processeur PHP.

Le bloc serveur devrait ressembler à :

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;
}

}

Remplacez server_domain_name_or_IP par l'adresse IP de votre serveur ou le nom de votre site Web.

Testez le fichier de configuration.

# nginx -t

S'il n'y a pas d'erreurs, redémarrez Nginx pour apporter les modifications nécessaires.

# systemctl restart nginx

5. Télécharger Drupal

Maintenant, nous pouvons télécharger la dernière version de Drupal à partir d'ici. Utilisez le répertoire /tmp pour télécharger et extraire Drupal.

# cd /tmp

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

Extrayez le fichier compressé pour créer la structure de répertoire Drupal :

# unzip drupal-*.zip

# cd drupal-9.1.4

Déplacez tous les fichiers dans notre répertoire racine à l'aide de la commande suivante :

# mv * /var/www/html

Ensuite, remplacez le  nom du fichier de configuration default.settings.php par settings.php .

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

# cp default.settings.php settings.php

6. Accéder à Drupal

Enfin, accédez au navigateur et entrez votre nom de domaine ou l'adresse IP du serveur. Allez avec l'assistant de démarrage. Une fois la configuration terminée, vous pouvez accéder au panneau de configuration Drupal.

Comment installer Drupal 9 sur Ubuntu 20.04

L'installation s'est terminée avec succès.

Dans ce tutoriel, nous avons vu comment installer Drupal 9 sur Ubuntu 20.04.