Configuration Apache avec PHP-FPM et TLS
Source du tutoriel: https://arstechnica.com/information-technology/2020/05/apache-101-0-wordpress-in-15-minutes/
Configuration pour le tutoriel :
- 1 Vm Debian 10
- 1 go de RAM
- 20 go de disque dur
Installation de apache et de php-fpm avec les extension php communément utilisé dans les applications avec php (Wordpress,Joomla, Bookstack, GLPI etc...)
apt install apache2 php-fpm
apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-mysql php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl
Le saviez-vous ?
En installant apache2 et php-fpm cela n'installe pas libapache2-mod-php
On peut le vérifier via cette commande ci dessous
apt policy libapache2-mod-php
libapache2-mod-php:
Installé : (aucun)
Candidat : 2:7.3+69
Table de version :
2:7.3+69 500
500 http://deb.debian.org/debian buster/main amd64 Packages
Activation de l'utilisation de PHP-FMP par Apache
a2enmod proxy_fcgi
a2enconf php7.3-fpm.conf
systemctl restart apache2
# Activations des modules apache pour HTTPS
a2enmod ssl
a2enmod rewrite
a2enmod headers
a2enmod socache_shmcb
Ne pas oublier !
Les modification de la configuration de php se font dans /etc/php/7.3/fpm/php.ini
Relancer le service une fois les modifications effectués !
service php7.3-fpm restart
Voici un exemple de fichier de configuration apache avec PHP et HTTPS générique
<VirtualHost *:80>
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
# enable HTTP/2, if available
Protocols h2 http/1.1
ServerName apache.site.application.fr
ServerAlias www.apache.site.application.fr
ServerAdmin webmaster@site.fr
DocumentRoot /var/www/Application
Options ExecCGI FollowSymLinks
AllowOverride AuthConfig Limit FileInfo Options Indexes
Order allow,deny
allow from all
# Réglages SSL
SSLEngine on
SSLCertificateFile /path/to/signed_cert_and_intermediate_certsetc/ssl/private/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /path/to/private_keyetc/ssl/private/ssl-cert-snakeoil.key
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# Configuration Protocoles
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"