Drupal est un système de gestion de contenu gratuit et open-source basé sur la pile LAMP. Drupal possède d'excellentes fonctionnalités standard qui vous permettent de créer des sites Web et des blogs puissants. Il est livré avec de nombreux thèmes, plugins et widgets qui vous aident à créer un site Web sans aucune connaissance en programmation. Il offre de nombreuses fonctionnalités telles que la prise en charge multi-sites, la prise en charge multilingue, le système de commentaires, le flux RSS, l'enregistrement des utilisateurs, etc.
Dans cet article, nous allons vous montrer comment installer Drupal CMS avec Apache et Let's Encrypt SSL sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer la pile LAMP
Drupal est basé sur la pile LAMP. La pile LAMP doit donc être installée sur votre serveur. S'il n'est pas installé, vous pouvez l'installer en exécutant la commande suivante :
apt-get install apache2 mariadb-server mariadb-client php libapache2-mod-php 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-soap php-bcmath php-xmlrpc -y
Une fois la pile LAMP installée, modifiez le fichier php.ini et modifiez certains paramètres par défaut :
nano /etc/php/7.4/apache2/php.ini
Modifiez les lignes suivantes :
memory_limit = 256M upload_max_filesize = 32M max_execution_time = 300 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier lorsque vous avez terminé.
Créer une base de données Drupal
Drupal utilise une MariaDB comme backend de base de données. Vous devrez donc créer une base de données et un utilisateur pour Drupal.
Tout d'abord, connectez-vous à MariaDB avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur à l'aide de la commande suivante :
MariaDB [(none)]> CREATE DATABASE drupaldb;
MariaDB [(none)]> CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";
Ensuite, accordez tous les privilèges à la base de données Drupal à l'aide de la commande suivante :
MariaDB [(none)]> GRANT ALL ON drupaldb.* TO 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";
Ensuite, videz les privilèges et quittez MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Télécharger Drupal
Tout d'abord, rendez-vous sur le site Web de Drupal, choisissez la dernière version de Drupal et téléchargez-la avec la commande suivante :
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
Une fois le Drupal téléchargé, extrayez le fichier téléchargé avec la commande suivante :
tar -xvf drupal.tar.gz
Ensuite, déplacez le répertoire extrait vers le répertoire racine par défaut d'Apache :
mv drupal-* /var/www/html/drupal
Ensuite, modifiez la propriété et l'autorisation du répertoire Drupal à l'aide de la commande suivante :
chown -R www-data:www-data /var/www/html/drupal/
chmod -R 755 /var/www/html/drupal/
Créer un hôte virtuel Apache pour Drupal
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour héberger Drupal. Vous pouvez le créer à l'aide de la commande suivante :
nano /etc/apache2/sites-available/drupal.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/drupal/ ServerName drupal.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/drupal/> Options FollowSymlinks AllowOverride All Require all granted </Directory> <Directory /var/www/html/> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </Directory> </VirtualHost>
Enregistrez et fermez le fichier puis activez l'hôte virtuel Drupal et le module de réécriture Apache avec la commande suivante :
a2ensite drupal.conf
a2enmod rewrite
Ensuite, redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Pour vérifier l'état d'Apache, exécutez la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-09-18 14:59:40 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 19698 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 19703 (apache2) Tasks: 6 (limit: 2341) Memory: 15.3M CPU: 78ms CGroup: /system.slice/apache2.service ??19703 /usr/sbin/apache2 -k start ??19704 /usr/sbin/apache2 -k start ??19705 /usr/sbin/apache2 -k start ??19706 /usr/sbin/apache2 -k start ??19707 /usr/sbin/apache2 -k start ??19708 /usr/sbin/apache2 -k start
À ce stade, le serveur Web Apache est configuré pour servir Drupal. Vous pouvez maintenant passer à l'étape suivante.
Accéder au site Drupal
Maintenant, ouvrez votre navigateur Web et accédez à Drupal en utilisant l'URL http://drupal.example.com . Vous serez redirigé vers la page suivante :
Choisissez la langue anglaise et cliquez sur Enregistrer et continuer bouton, vous devriez voir l'image suivante :
Sélectionnez un profil d'installation et cliquez sur Enregistrer et continuer bouton. Vous devriez voir la page suivante :
Dans la page de configuration de la base de données, fournissez tous les détails de la base de données requis, tels que le nom de la base de données, le nom d'utilisateur et le mot de passe de la base de données, l'hôte de la base de données, puis cliquez sur Enregistrer et continuer bouton, vous devriez voir l'image suivante :
Dans la page de configuration du site Drupal, indiquez le nom de votre site, le nom d'utilisateur et le mot de passe de l'administrateur, puis cliquez sur Enregistrer et continuer bouton pour lancer l'installation de Drupal. Une fois Drupal installé, vous devriez voir le tableau de bord Drupal dans l'image suivante :
Activer la prise en charge de Let's Encrypt SSL sur le site Drupal
C'est toujours une bonne idée de sécuriser votre site Web avec Let's Encrypt SSL. Tout d'abord, vous devrez installer le client Certbot pour installer et gérer le SSL. Par défaut, le package Certbot est inclus dans le référentiel par défaut de Debian 11, vous pouvez donc l'installer avec la commande suivante :
apt-get install python3-certbot-apache -y
Une fois le Certbot installé, exécutez la commande suivante pour sécuriser votre site Web avec Let's Encrypt SSL :
certbot --apache -d drupal.example.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for drupal.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/drupal-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/drupal-le-ssl.conf Enabling available site: /etc/apache2/sites-available/drupal-le-ssl.conf
Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS comme indiqué ci-dessous :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour installer le SSL Let's Encrypt pour votre site Web :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/drupal.conf to ssl vhost in /etc/apache2/sites-available/drupal-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://drupal.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=drupal.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/drupal.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/drupal.example.com/privkey.pem Your cert will expire on 2021-04-20. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Conclusion
C'est tout pour le moment. Vous avez installé avec succès Drupal avec Let's Encrypt SSL sur Debian 11. Vous pouvez maintenant commencer à créer votre propre blog ou site Web sans aucune connaissance en programmation. N'hésitez pas à me demander si vous avez des questions.