installation Drupal 9 avec Composer
Inclure dans drupal.fr

Drupal est un CMS puissant permettant la création d’un large panel de sites. En effet, il permet de répondre à de multiples besoins, tout en s’adaptant à l’envergure du projet web. Néanmoins, plus vous souhaitez mettre en place un site volumineux, plus il est important d’organiser son espace de travail correctement, surtout si vous êtes plusieurs à travailler dessus. Ainsi, afin de mettre en place un processus de développement le plus professionnel possible, notre agence web vous recommande d’installer Drupal avec composer. Cela vous permettra d’avoir le contrôle sur le versionning de la base de données et des extensions contrib de Drupal.

Avant que notre expert Drupal vous présente son tutoriel, quelques pré-requis sont nécessaires : 

Installer Composer  

Premièrement il faut mettre à jour le package manager : 

sudo apt update

Puis il faut installer les packages nécessaires à l’installation et au bon fonctionnement de composer :

sudo apt install php-cli php-mbstring git

Maintenant que les packages sont à jour et installés nous pouvons passer à l’installation de composer.

sudo apt-get install composer

Vérifions que composer soit bien installé en lançant la commande.

composer

Vous devriez arriver sur cette interface là :

rss

Une fois composer installé et fonctionnel nous pouvons maintenant créer notre site Drupal.

Création projet Drupal 

Installer un site Drupal n’a jamais été aussi simple qu’avec Composer. En effet, il vous suffit de taper la commande suivante pour installer Drupal dans sa dernière version stable :

composer create-project drupal/recommended-project my-project

Vous pouvez également choisir une version précise de Drupal en ajoutant son numéro de version comme suit :

composer create-project drupal/recommended-project:9.1.6 my-project

Etant donné que nous allons mettre en place un serveur Apache par la suite pour accéder à notre site, nous vous recommandons d’installer votre site dans le répertoire /var/www.

Une fois l’installation terminée, vous devriez voir votre nouveau projet apparaître dans votre dossier /var/www/. Passons en revue les quelques dossiers incontournables de votre site :

  • Le dossier my-project/web. C’est le dossier le plus important. Il correspond à la racine de votre site. C’est ici que tous les fichiers accessibles directement depuis votre serveur web seront stockés. Il est à noter que c’est vers ce dossier qu’Apache devra pointer pour que votre site soit accessible.
  • Le dossier my-project/web/modules. C’est ici que vos modules seront installés. Depuis ce dossier, vous pourrez également créer de nouveaux modules 100% customisés pour modifier le comportement de votre site. Si vous ne l’avez pas déjà lu, nous vous recommandons de lire l’article d’ITSS pour créer un module avec Drupal 8.
  • Le dossier my-project/web/themes. Dans ce dossier, vous retrouverez tous les thèmes et personnalisations visuelles de votre site. Vous pourrez également développer un thème Drupal directement depuis ce dossier.
  • Le fichier my-project/web/sites/default/settings.php. C’est le point central de votre site. C’est dans ce fichier que vous trouverez toute la configuration de votre site. Il est important de garder ce fichier secret et de ne jamais le partager, en particulier sur Git.

Votre projet Drupal est maintenant créé, vous connaissez les différents fichiers et dossiers de votre projet. Il ne vous reste plus qu’à configurer Apache pour pouvoir accéder à votre site.

Configuration Apache 

Afin de configurer Apache rendez-vous au chemin suivant :

cd /etc/apache2/

Dans le fichier ports.conf, ouvrez un nouveau port. Ici nous allons ouvrir le port 8080 en ajoutant une ligne en fin de fichier.

Listen 80
Listen 8080

Maintenant que notre machine autorise les entrées sur le ports 8080, nous pouvons configurer un nouvel hôte virtuel Apache pointant vers le dossier /var/www/my-project/web. Il vous suffit d’ajouter les lignes suivantes au fichier /sites-available/000-default.conf :

 <VirtualHost *:8080>
    DocumentRoot /var/www/my-project/web

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    
    <Directory /var/www/my-project/web>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
 </VirtualHost>

Avant de redémarrer votre serveur Apache, il est fortement conseillé de donner les droits à Apache pour modifier les fichiers de notre site. Pour se faire, rendez-vous dans le dossier /var/www et tapez la commande suivante :

sudo chown www-data:www-data -R my-project

De plus, il ne faut pas oublier d’ajouter son propre utilisateur au groupe www-data, auquel cas, il ne sera pas possible de modifier les fichiers. Pour se faire, tapez la commande suivante :

sudo adduser $USER www-data

Une fois les droits changés pour votre site, il vous suffit maintenant de redémarrer Apache pour que votre serveur prenne en compte les modifications. Lancez la commande suivante :

sudo service apache2 restart

Votre site est maintenant accessible à l’adresse http://localhost:8080

Configuration project Drupal 

Une fois l’installation de Composer terminée, la configuration d’Apache faite, il est maintenant temps d’installer votre site Drupal. Ouvrez un navigateur et rendez-vous à l'adresse http://localhost:8080/ .

Sur cette page vous trouverez le service d’installation de votre site. Vous devrez alors suivre les différentes étapes pour configurer votre site correctement.

Choix de la langue 

rss

Dans cette première étape, à vous de choisir la langue de votre site.

Choisissez la langue et cliquez sur “save and continue”.

Choix du profil d'installation 

rss

Cette étape permet de choisir quel type de site vous souhaitez installer.

Le profil dit “minimal” permet d’installer un site drupal sans les fonctionnalités de base de Drupal, ça sera à vous d’installer manuellement tous vos modules. Dans notre cas, il est nécessaire de choisir le profil “standard” afin d’installer un projet Drupal ayant le plus de fonctionnalités de base.

Vérification des pré-requis 

Cette étape est une vérification effectuée par l’installation Drupal. Si aucun problème n’est détecté vous serez automatiquement renvoyé à l’étape suivante. Si vous rencontrez une erreur, rendez-vous à la section “Erreurs fréquemment rencontrées” en bas de l’article.

Configuration de la base de données 

Maintenant nous allons créer une base de données destinée à votre nouveau site via mysql en ligne de commande. Cette base de données permettra de stocker toutes les tables et données relatives à votre site.

Pour créer votre base de données, il faudra commencer par vous connecter à mysql grâce à la commande suivante :

mysql -u nom_utilisateur -p

Si vous avez correctement installé mysql, le nom_utilisateur peut être soit root soit le nom d’utilisateur de votre choix qu’il faudra créer au préalable.

Une fois connecté à mysql, lancez la commande suivante pour créer une nouvelle base de données pour votre site Drupal :

CREATE DATABASE myProject;

Une fois la création de votre base de données sur mysql terminée avec succès, vous pouvez retourner sur la page de configuration de votre site Drupal.

rss

Ici il faut renseigner les informations sur la base de données et le nom d'utilisateur utilisé lors de la création de votre base de données via mysql. Si vous avez suivi le tutoriel, mettez myProject comme nom de base de données.

Une barre de chargement apparaît signifiant que la connexion à la base de données a eu lieu sans difficulté. Pendant ce temps de chargement vous pouvez remarquer que la base de données qui était vide a été remplie avec de nombreuses tables.

Configuration des informations sur le site 

rss

Si vous rencontrez ce message cela signifie qu’il est fortement conseillé de rétablir les droits et permissions qui ont été changés. Les droits d’écriture étaient nécessaires pendant l’installation mais il est très dangereux pour un site en ligne de laisser cette configuration car quiconque pourrait modifier ces données. Pour rétablir les autorisations sur ces deux éléments, entrez ces deux lignes de commandes dans le dossier /var/www/my-project/web/ :

chmod 555 sites/default
chmod 444 site/default/settings.php

Une fois cette étape effectuée nous pouvons passer à la suite.

A présent remplissez les champs suivant selon vos besoins. Veillez cependant à bien retenir les informations que vous saisissez car elles serviront de login pour accéder à votre site par la suite.

Après cette dernière étape finie, vous arrivez enfin sur la page d’accueil de votre site Drupal, connectez-vous pour avoir accès au back office et pour pouvoir commencer à développer votre site.

Erreurs fréquemment rencontrées 

Si lors de cet article vous avez rencontré des erreurs, vous pouvez consulter la liste ci-dessous des erreurs fréquemment rencontrées lors de l’installation de Drupal.

Lors de l’étape n°1, dans le cas où une erreur de ce type survient :

rss

Cette erreur signifie qu’il manque le répertoire files et translations, il vous suffit de créer ces deux répertoires à la racine du projet (/var/www/my-project/web/) dans votre terminal avec les commandes suivantes :

mkdir sites/default/files
mkdir sites/default/files/translations

Une fois créé il faut donner la permission d’écriture aux répertoires avec la commande suivante :

chmod -R 775 sites/default/files
chown www-data:www-data -R /var/www/my-project

Retournez sur la page d’installation de votre site puis cliquez sur “try again” en bas de la page pour prendre en compte les modifications apportées.

En passant à l’étape n°3, pendant la vérification vous pouvez retrouver des erreurs de ce type :

rss

Il est possible que le fichier settings.php n'ait pas été créé dans le répertoire “sites/default”.

Vous devez alors faire une copie du fichier default.settings.php se trouvant dans le répertoire “default” et de renommer la copie en settings.php grâce à la ligne de commande suivante :

cp sites/default/default.settings.php sites/default/settings.php

Puis il faut donner le droit d’écriture à ce fichier grâce aux lignes de commande suivantes :

chmod 775 sites/default
chmod 775 sites/default/settings.php

Si vous avez besoin d’aide pour installer Drupal, n’hésitez pas à nous contacter via le formulaire de contact ou à nous laisser un commentaire. Nos experts Drupal se feront un plaisir de vous répondre dans les meilleurs délais. 

Commentaire

Profile picture for user AIT MADI DEV
Florent
jeu 02/09/2021 - 15:59
Bonjour, je viens de suivre votre tuto pour installer Drupal avec Composer. Déja un grand merci pour le apt-get install composer (que j'ai découvert à travers votre article).
Le pb, que je rencontre se situe à ce stade au niveau des permissions. Comme il est préconisé de ne pas utiliser Composer en root, je travaille avec mon user Flo (groupe sudo).
Lorsque je lance Composer, j'ai des problèmes d'écritures (impossible de créer le dossier,....). Normal, puisque var/www sous Debian est la propriété de Root. Bref impossible d'installer quoi que ce soit. si vous avez l'amabililté de m'éclairer, cette installation est-elle faite avec l'utilisateur root ? Merci.

Ajouter un commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.