GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Drupal avec Apache et Lets Encrypt SSL sur Debian 11

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.


Debian
  1. Comment installer et configurer Drupal avec Apache sur Debian 9

  2. Comment installer Tiki Wiki avec Apache et permet de chiffrer SSL sur Debian 10

  3. Comment installer Automad CMS avec Apache et Lets encrypt sur Debian 10

  4. Comment installer ElkArte Forum avec Apache et Lets Encrypt sur Debian 10

  5. Comment installer WonderCMS avec Apache et Lets Encrypt SSL sur CentOS 8

Comment installer SuiteCRM avec Apache et Lets Encrypt SSL gratuit sur Debian 11

Comment installer InvoicePlane avec Apache et Free Lets Encrypt SSL Certificate sur Debian 11

Comment installer Lighttpd avec PHP, MariaDB et Lets Encrypt SSL sur Debian 10

Comment installer Wekan Kanban avec Nginx et Lets Encrypt SSL sur Debian 10

Comment installer WordPress avec Apache et Let's Encrypt SSL sur Debian 11

Comment installer Drupal avec Nginx et Let's Encrypt SSL sur Debian 11