Astuces pour httpd
man
Je ne peux m'empêcher de vous inciter à lire le man httpd.conf
. On y
trouve tout ce qui est écrit ici, et plus encore.
Journaux
Vous pouvez choisir un fichier spécifique où seront enregistrés les
logs dans la section de chaque site. Ils sont par
défaut enregistrés dans le dossier /var/www/logs
.
log access "nom_du_site.log"
Pour désactiver les logs, écrivez no log
.
Accès restreint par mot de passe
Pour protéger l'accès à un site ou une partie du site par un mot de
passe, utilisez la commande htpasswd
pour créer un fichier d'accès :
# htpasswd /var/www/secret.htpw login
Remplacez login par le nom d'utilisateur que vous souhaiterez utiliser, puis définissez un mot de passe solide. Recommencez à chaque fois que vous voulez ajouter un nouvel utilisateur.
Modifiez les permissions sur ce fichier :
# chown www /var/www/secret.htpw
# chmod 400 /var/www/secret.htpw
Enfin, dans la configuration de httpd, pour protéger l'accès au
sous-dossier /dossier_protege/*
:
location "/dossier_protege/*" {
authenticate "Acces restreint" with "/secret.htpw"
}
Remarquez que l'emplacement du fichier secret.htpw
est relatif au
chroot de httpd, on fait comme si /var/www
était /
.
Pour protéger un site complet, indiquez :
location "/*"
Ou alors, mettez l'instruction “authenticate” au tout début de la configuration sans jamais préciser de “location”.
Index des fichiers
Afin de lister automatiquement dans le navigateur les fichiers présents
dans un dossier, ajoutez dans le fichier /etc/httpd.conf
:
location "/dossier/*" {
directory auto index
}
Inclusions de fichiers de configuration
Si vous avez plusieurs sites, ça peut vite être le bazar de tout
configurer dans le fichier /etc/httpd.conf
. Il vous est possible de
découper la configuration dans plusieurs fichiers avec l'instruction
include
:
include "/etc/httpd/site1.conf"
include "/etc/httpd/site2.conf"
TLS
Pour accélérer les futures négociations TLS si vous servez votre site en https, vous pouvez ajouter ces quelques options :
hsts preload
tls {
certificate "/etc/ssl/chezmoi.tld-fullchain.pem"
key "/etc/ssl/private/chezmoi.tld.key"
ticket lifetime default
}