Quelle est la bonne façon de modifier /etc/Apache2/sites-enabled
lorsqu'il y a example.com.conf
et example.com-le-ssl.conf
?
Devrais-je éditer les deux fichiers en changeant quelque chose? Ou un seul, puis forcer d'une manière ou d'une autre certbot-auto
à le réparer?
Je ne sais pas quelle est la bonne réponse à votre question, mais je vous suggérerais la simplification suivante:
1. Forcer tous les utilisateurs à utiliser HTTPS. La définition de HTTP VirtualHost devrait ressembler à ceci:
<VirtualHost *:80>
ServerName example.com
# Redirect Requests to HTTPS
Redirect permanent "/" "https://example.com/"
ErrorLog ${Apache_LOG_DIR}/example.com.error.log
CustomLog ${Apache_LOG_DIR}/example.com.access.log combined
</VirtualHost>
De cette manière, vous ne devrez gérer que la configuration de HTTPS VirtualHost.
2. Dès que vous générez "Encryptons" les fichiers de certificat ssl, décrivez-les manuellement dans la définition du HTTP S VirtualHost:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName example.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
ErrorLog ${Apache_LOG_DIR}/example.com.error.log
CustomLog ${Apache_LOG_DIR}/example.com.access.log combined
DocumentRoot /var/www/html
<Directory /var/www/html>
# etc...
</Directory>
# etc...
</VirtualHost>
</IfModule>
3. Insérez les définitions des deux VirtualHosts dans un seul fichier de configuration:
<VirtualHost *:80>
# etc...
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
# etc...
</VirtualHost>
</IfModule>
Ce fichier pourrait être /etc/Apache2/sites-available/example.com.conf
.
4. N'oubliez pas de a2dissite
hôtes virtuels inutiles (respectivement a2ensite
ceux qui sont nécessaires) et redémarrez Apache.
5. Modifiez la crontab de la racine et ajoutez un travail qui tentera de renouveler les certificats, chaque semaine par exemple. Tapez Sudo crontab -e
et ajoutez cette ligne en bas:
0 3 * * 0 /usr/bin/letsencrypt renew >> /var/log/letsencrypt-renew.week-$(date +%W).log 2>&1
C'est ça.