Ceci est une ancienne révision du document !
Table des matières
Drupal 10 sous Virtualmin-Apache-Debian 12
Cas d'utilisation
Je souhaite installer un site web motorisé par Drupal 10 sur un système Debian 12. Le serveur est administré par Virtualmin et utilise Apache pour serveur web. Le site est implanté dans un serveur ou sous-serveur, au sens de Virtualmin.
Configuration initiale : Debian 12 Virtualmin GPL Apache fournit par les dépôts Debian 12 Multiples version de PHP
La capacité du serveur à fournir des services web administrés par Virtualmin a été validée, au préalable.
Particularités de Drupal 10
Drupal 10 peut être installé manuellement1) comme une application web quelconque. C'est jouable pour un test mais vivement déconseillé dès qu'il s'agit d'assurer la sécurité et la disponibilité d'un site web opérationnel.
Cette fiche décrit les adaptations nécessaires permettant d'installer, maintenir et exploiter un site Drupal 10, en suivant les procédures standard recommandées par Drupal.
Composer
Source : Download Composer.
J'ai choisi d'installer composer localement2). Dans le cas d'utilisation considéré, composer est installé dans l'espace de l'utilisatrice propriétaire du serveur3) Virtualmin ayant vocation à héberger le site sous Drupal.
J'installe suivant mes habitudes sous Debian4) :
récupération de composer…
~$ cd tmp ~/tmp$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ~/tmp$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" ~/tmp$ php composer-setup.php ~/tmp$ php -r "unlink('composer-setup.php');"
mise en place et configuration…
~/tmp$ cd ~$ mkdir .local ~$ mkdir .local/bin ~$ touch .bash_profile ~$ nano .bash_profile insertion de : if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH:~/.local/bin export PATH unset USERNAME ~$ mv tmp/composer.phar .local/bin/composer ~$ source ~/.bash_profile ~$ composer --version
Installation d'un site test
~$ composer create-project drupal/recommended-project public_html
Racine du site web
- la racine du projet, au sens de composer
- la racine du site web, au sens usuel, c'est-à-dire du serveur web5).
La documentation utilisera souvent le seul terme “racine”. Il revient à la lectrice de l'interpréter comme l'une ou l'autre, suivant le contexte6).
Dans l'arborescence standard de Virtualmin, la racine du site web est censée être le répertoire public_html situé dans le répertoire principal du serveur ou sous-serveur.
Par soucis de régularité et de lisibilité des arborescences gérées par Virtualmin, le répertoire ~/public_html a été utilisé comme cible de l'installation via composer. Cela fait de public_html la racine du projet, au sens de composer. Suivant cette procédure, la racine du site web se trouve alors dans le sous-répertoire “web” (~/public_html/web) créé lors de l'installation7).
La configuration standard8) du serveur virtuel Apache mise en place par Virtualmin doit donc être adaptée en conséquence :
Virtualmin > my_server > Web Configuration > Website Options > Website documents sub-directory = public_html/web
Drush
Sources :
- [Drush - Install](https://www.drush.org/12.x/install/)
- [Drupal Compatibility](https://www.drush.org/12.x/install/#drupal-compatibility)
Chaque site/projet Drupal est donc muni de sa propre version indépendante de drush.
Chargement et installation
~$ cd public_html/ ~/public_html$ composer require --dev drush/drush ~/public_html$ ./vendor/bin/drush --version Drush Commandline Tool 12.4.3.0
Configuration de l'environnement
Le but est de pouvoir lancer la commande “drush” depuis la racine du projet, sans devoir indiquer le chemin.
~$ cd ~$ nano .bash_profile ajout du chemin relatif "./vendor/bin" à la ligne PATH : PATH=$PATH:~/.local/bin:./vendor/bin ~$ source .bash_profile drush peut désormais être appelé depuis la racine du projet ~$ cd public_html/ ~/public_html$ drush --version Drush Commandline Tool 12.4.3.0 ~/public_html$ drush pm-list --status=enabled …
À ce stade, drush est opérationnel sur site installé précédemment.