Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
drupal9:installation_avec_composer_ubuntu_22.04 [2022/08/01 09:20] marclebrun [Sécuriser le fichier Settings] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Installation de Drupal 9 avec Composer sous Ubuntu 22.04 ====== | ||
- | |||
- | Installation réalisée sur une machine de développement sous Ubuntu 22.04. | ||
- | |||
- | Sources: | ||
- | * [[https://www.youtube.com/watch?v=depHuH_TO5c]] | ||
- | |||
- | ===== Apache et PHP ===== | ||
- | |||
- | L'installation de **PHP** entraîne l'installation de **Apache** : | ||
- | |||
- | <code bash> | ||
- | sudo apt install php | ||
- | </code> | ||
- | |||
- | Installation de **Composer** : | ||
- | |||
- | <code bash> | ||
- | sudo apt install curl | ||
- | curl -s https://getcomposer.org/installer | php | ||
- | sudo mv composer.phar /usr/local/bin/composer | ||
- | </code> | ||
- | |||
- | Les outils et extensions PHP suivantes : | ||
- | |||
- | <code bash> | ||
- | sudo apt install zip unzip | ||
- | sudo apt install php-mbstring php-xml php-gd php-curl php-zip | ||
- | </code> | ||
- | |||
- | Vérifier que le module **rewrite** est activé : | ||
- | |||
- | <code bash> | ||
- | sudo apache2ctl -M | ||
- | </code> | ||
- | |||
- | Sinon l'activer : | ||
- | |||
- | <code bash> | ||
- | sudo a2enmod rewrite | ||
- | sudo systemctl restart apache2 | ||
- | </code> | ||
- | |||
- | ===== MariaDB ===== | ||
- | |||
- | Voir [[mysql:installation_mariadb_ubuntu_2204|]] | ||
- | |||
- | ===== Création du projet ===== | ||
- | |||
- | 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 : | ||
- | |||
- | <code bash> | ||
- | sudo usermod -aG www-data marc | ||
- | su - marc | ||
- | id -nG | ||
- | </code> | ||
- | |||
- | Créer un dossier **/var/www/drupal9** et mettre **www-data** comme propriétaire. | ||
- | |||
- | <code bash> | ||
- | cd /var/www | ||
- | sudo mkdir drupal9 | ||
- | sudo chown www-data:www-data drupal9/ | ||
- | </code> | ||
- | |||
- | Donner les droits d'écriture au groupe : | ||
- | |||
- | <code bash> | ||
- | sudo chmod g+w drupal9/ | ||
- | </code> | ||
- | |||
- | **Ne pas utiliser Composer en tant que root !** | ||
- | |||
- | <code bash> | ||
- | cd /var/www/drupal9/ | ||
- | composer create-project drupal/recommended-project | ||
- | </code> | ||
- | |||
- | L'installation se fera dans le dossier **/var/www/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. | ||
- | |||
- | ===== Virtual Host ===== | ||
- | |||
- | Créer un fichier **/etc/apache2/sites-available/drupal9.localhost.conf** | ||
- | |||
- | :!: Le **DocumentRoot** doit pointer vers le sous-dossier **/web** :!: | ||
- | |||
- | <code apache drupal9.localhost.conf> | ||
- | <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> | ||
- | </code> | ||
- | |||
- | Tester et activer le nouveau site : | ||
- | |||
- | <code bash> | ||
- | sudo a2ensite drupal9.localhost.conf | ||
- | sudo apachectl configtest | ||
- | sudo systemctl reload apache2 | ||
- | </code> | ||
- | |||
- | Accéder à l'adresse [[http://drupal9.localhost]] pour suivre les étapes d'installation. | ||
- | |||
- | ===== Dossier 'config' ===== | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/drupal9test | ||
- | sudo mkdir config | ||
- | sudo chown www-data:www-data config/ | ||
- | </code> | ||
- | |||
- | ===== Base de données ===== | ||
- | |||
- | Voir la page [[mysql:installation_mariadb_ubuntu_2204]] pour la création d'un utilisateur et de sa base de données dédiée. | ||
- | |||
- | ===== Sécuriser le fichier Settings ===== | ||
- | |||
- | **Une fois l'installation terminée**, Drupal informe que les droits d'écriture | ||
- | devraient être supprimés sur les éléments suivants : | ||
- | |||
- | * Le dossier **sites/default** | ||
- | * le fichier **sites/default/settings.php** | ||
- | |||
- | Mais il ne faut le faire qu'une fois que **toute** l'installation est terminée :-) | ||
- | |||
- | <code bash> | ||
- | cd /var/www/drupal9/web | ||
- | sudo chmod 0555 ./sites/default | ||
- | sudo chmod 0444 ./sites/default/settings.php | ||
- | </code> | ||