2.3 KiB
categories | title |
---|---|
web CMS | Howto Drupal |
- Documentation : https://www.drupal.org/documentation
Drupal est un CMS libre écrit en PHP.
Pré-requis
- Un serveur web (Apache/Nginx/...)
- PHP 5.5+
- Une base de donnée (MySQL/Mariadb 5.5+, PostgreSQL 9.1+)
Pour plus de détails, voir la documentation de Drupal
Apache
Drupal est livré avec des fichiers .htaccess
qui utilisent un nombre variés de directives.
La configuration Apache doit donc contenir au minimum :
AllowOverride AuthConfig Limit FileInfo Indexes Options=Indexes,MultiViews,ExecCGI,Includes
PHP
Certains ajustements sont nécessaires
Web ( FPM / libapache2-mod-php )
TODO?
CLI
C'est surtout pour composer
et drush
qui nécessitent :
- (composer) Le non blocage de la fonction
putenv()
- (composer) Autoriser l'ouverture d'url (allow_url_fopen
- (drush) Aucune fonction désactivée (ie: disable_functions vide) sinon drush refuse de fonctionner....
Installation
Il existe plusieurs méthodes pour installer Drupal. Mais la méthode d'amorcer un nouveau site/projet avec composer.
Ainsi, une installation par défaut va se faire avec la commande suivante va créer une nouvelle installation et récupérer toutes les dépendances avec composer.
$ composer create-project drupal-composer/drupal-project:8.x-dev foo_project --stability dev --no-interaction
Optimisation
- Drupal 7 : https://www.drupal.org/docs/7/managing-site-performance-and-scalability/optimizing-drupal-to-load-faster-server-mysql
- Drupal 8 : https://www.valuebound.com/resources/blog/a-beginners-guide-to-performance-optimization-drupal-8
watchdog
Désactiver le logging non nécessaire en prod... surtout dans la base de données : https://www.karelbemelmans.com/2015/05/drupal-watchdog-logging-dblog-vs-syslog/
Sécurité
CVE-2018-7600 // SA-CORE-2018-002
Règle mod_security de protection (théorique)
SecRule ARGS_GET_NAMES|ARGS_POST_NAMES|REQUEST_COOKIES_NAMES "^#" "t:none,log,deny,msg:'CVE-2018-7600/Drupal-SA-CORE-2018-002 -- Deny # in (cookie|query|post) names',id:300000001"