Mémo Apache
- Apache
- Installation / désinstallation
```sh
- Installation
sudo apt install apache2
- Déinstallation
sudo apt remove apache2
- Déinstallation avec suppression des fichiers de configuration
sudo apt purge apache2 ```
- Commandes de configuration
- Activer un module
Les modules disponibles se trouvent dans le répertoire `/etc/apache2/mods-available/`.
```sh a2enmod <module>
- Exemple
a2enmod ssl ```
- Activer une configuraton
Les configurations disponibles se trouvent dans le répertoire `/etc/apache2/conf-available/`.
```sh a2enconf <config>
- Exemple
a2enconf php7.0-fpm ```
- Activer un site
Les sites disponibles se trouvent dans le répertoire `/etc/apache2/sites-available/`.
```sh a2ensite <site>
- Exemple
a2ensite default-ssl.conf ```
- Vérifier la validité de la configuration
```sh apachectl configtest ```
- Démarrer Apache
```sh systemctl start apache2 ```
- Stopper Apache
```sh systemctl stop apache2 ```
- Redémarrer Apache
```sh systemctl restart apache2 ```
- Recharger Apache
```sh systemctl reload apache2 ```
- Fichiers de configuration
- Exemple de VirtualHost basique avec HTTPS activé
```xml <VirtualHost *:80>
ServerName www.exemple.org ServerAlias exemple.fr web.exemple.org ServerAdmin admin@exemple.fr
DocumentRoot /var/www/exemple.org
<Directory /var/www/exemple.org> AllowOverride All Require all granted </Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName www.exemple.org ServerAlias exemple.fr web.exemple.org ServerAdmin admin@exemple.fr
DocumentRoot /var/www/exemple.org
<Directory /var/www/exemple.org> AllowOverride All Require all granted </Directory>
SSLEngine on SSLCertificateKeyFile /etc/ssl/private/exemple.org_priv_key.pem SSLCertificateFile /etc/ssl/certs/exemple.org_cert.pem
</VirtualHost> ```
- Sécuriser davantage la configuration
[Mozilla](https://www.mozilla.org/fr/) fournit un générateur de configuration TLS qui permet d'avoir facilement une sécurité convenable. Il faut savoir que plus vous durcissez la configuration TLS de vos sites, plus ceux-ci deviennent inaccessibles aux vieux clients. En fonction de votre contexte et votre modèle de menace, il va vous falloir trouver le bon compris entre sécurité renforcée et accessbilité.
<https://mozilla.github.io/server-side-tls/ssl-config-generator/>
Si vous voulez durcir vos configurations TLS au maximum, [BetterCrypto](https://bettercrypto.org/) fournit un papier indiquant les paramètres à mettre en place pour différents services (Apache, NGINX, Postfix, Dovecot, etc.).
<https://bettercrypto.org/static/applied-crypto-hardening.pdf>
Si vous voulez tester la robustesse de votre configuration TLS, vous pouvez utiliser l'outil de de [testssl.sh](https://testssl.sh/).