Installation réalisée sur une machine de développement sous Ubuntu 22.04.
Sources:
L'installation de PHP entraîne l'installation de Apache :
sudo apt install php
Installation de Composer :
sudo apt install curl curl -s https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
Les outils et extensions PHP suivantes :
sudo apt install zip unzip sudo apt install php-mbstring php-xml php-gd php-curl php-zip
Vérifier que le module rewrite est activé :
sudo apache2ctl -M
Sinon l'activer :
sudo a2enmod rewrite sudo systemctl restart apache2
Ne pas utiliser Composer en tant que root !
D'abord installer dans notre dossier $HOME en tant qu'utilisateur restreint, ensuite on le déplace vers /var/www
Créer le projet dans /home/marc/drupal9 :
cd /home/marc composer create-project drupal/recommended-project drupal9
Si des extensions PHP manquent, composer s'arrête et liste les extensions à installer.Redémarrer ensuite la commande composer jusqu'à ce que tout soit installé sans erreur.
Déplacer le dossier vers /var/www/drupal9 :
sudo mv /home/marc/drupal9/ /var/www
Changer le propriétaire et les droits du dossier (modifiable par le groupe) :
sudo chown -R www-data:www-data /var/www/drupal9/ sudo chmod -R 775 /var/www/drupal9/
Pour que l'utilisateur marc puisse écrire dans le dossier, il faut l'ajouter au groupe www-data si ce n'est pas encore fait :
sudo usermod -aG www-data marc su - marc id -nG
Créer un fichier /etc/apache2/sites-available/drupal9.localhost.conf
Le DocumentRoot doit pointer vers le sous-dossier /web
<VirtualHost *:80> ServerName drupal9.localhost ServerAdmin marc@localhost DocumentRoot /var/www/drupal9/web <Directory /var/www/drupal9/web> Options Indexes FollowSymLinks Multiviews AllowOverride all Require all denied Require all granted Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/drupal9.localhost/error.log CustomLog ${APACHE_LOG_DIR}/drupal9.localhost/access.log combined </VirtualHost>
Tester et activer le nouveau site :
sudo a2ensite drupal9.localhost.conf sudo apachectl configtest sudo systemctl reload apache2
Accéder à l'adresse http://drupal9.localhost pour suivre les étapes d'installation.
Créer une base de données et un utilisateur ayant tous les droits sur cette base de données.
mariadb -u admin -p
Créer la base de données :
MariaDB [(none)]> create database DATABASE_NAME;
Créer un utilisateur ayant tous les droits sur cette base de données :
MariaDB [(none)]> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD';
Appliquer les privilèges :
MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit
Une fois l'installation terminée, Drupal informe que les droits d'écriture devraient être supprimés sur les éléments suivants :
Mais il ne faut le faire qu'une fois que toute l'installation est terminée
cd /var/www/drupal9/web sudo chmod 0555 ./sites/default sudo chmod 0444 ./sites/default/settings.php