Améliorer la configuration initiale de PHP sur Debian
Par Pierre-Yves Landuré
—
Dernière modification
16/08/2018 12:57
La configuration initiale de PHP proposée par Debian est très bien réalisée. Cet article présente quelques ajustements l'améliorant encore.
Ce guide est testé sur:
- Debian 7.0 Wheezy
- Debian 8.0 Jessie
- Debian 9.0 Stretch
- Ubuntu 13.10 Saucy Salamander
- Ubuntu 16.04 Xenial Xerus
- Ubuntu 17.10 Artful Aardvark
Prérequis
Ce guide nécessite:
- une installation fonctionnelle de PHP, telle que décrite par Installer PHP-FPM sur Debian.
- php-tools, l'outil de configuration simplifiée de PHP.
Configuration
Détectez le proxy de commande (command ou sudo):
cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'
Durcissez la sécurité du serveur:
${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='security-hardened' \
--mod-settings='; Harden PHP5 security
; Disable PHP exposureexpose_php = Off
;Dangerous : disable system functions. This can break some administration softwares.
;disable_functions = symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd'
Configurez l'UTF-8 comme codage de caractères par défaut pour l'extension mbstring (intégrée de base dans la version PHP5 fournie par Debian):
${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='mbstring-config' \
--mod-settings='; Set mbstring defaults to UTF-8
mbstring.language=UTF-8
mbstring.internal_encoding=UTF-8
mbstring.http_input=UTF-8
mbstring.http_output=UTF-8
mbstring.detect_order=auto'
Configurez la zone horaire de PHP:
${cmdProxy} php-tools --add-mod --mod-priority=50 --mod-name='timezone' \
--mod-settings="; PHP settings for strtotime ; priority=50
date.timezone = \"$(command cat /etc/timezone)\""
Rechargez la configuration:
${cmdProxy} php-tools --reload
Remerciements
- Merci à Alsacréations (fr) pour Installation d'Apache et PHP (fr).