2019-02-21 18:40:53 +01:00
|
|
|
---
|
|
|
|
title: HowtoOpenBSD/httpd
|
|
|
|
categories:
|
|
|
|
...
|
2019-02-18 20:15:21 +01:00
|
|
|
|
2019-02-21 18:40:53 +01:00
|
|
|
* Manpage httpd <https://man.openbsd.org/httpd.8>
|
|
|
|
* Manpage httpd.conf <https://man.openbsd.org/httpd.conf.5>
|
2019-02-18 20:15:21 +01:00
|
|
|
|
2019-02-21 18:40:53 +01:00
|
|
|
_httpd(8)_ est le démon http présent dans le système de base sous _OpenBSD_. Léger et intuitif, il sera suffisant pour les cas les plus simples.
|
2019-02-18 20:15:21 +01:00
|
|
|
|
2019-02-21 18:40:53 +01:00
|
|
|
## Utilisation de base
|
2019-02-18 20:15:21 +01:00
|
|
|
|
|
|
|
Vérifier la configuration :
|
|
|
|
|
|
|
|
~~~
|
2019-02-18 21:02:24 +01:00
|
|
|
# httpd -n
|
2019-02-18 20:15:21 +01:00
|
|
|
~~~
|
2019-02-21 18:40:53 +01:00
|
|
|
> *Note* : on peut spécifier un fichier de configuration alternatif en utilisant l'argument "-f"
|
2019-02-18 20:15:21 +01:00
|
|
|
|
2019-02-18 21:02:24 +01:00
|
|
|
Lancer en mode debug :
|
2019-02-18 20:15:21 +01:00
|
|
|
|
|
|
|
~~~
|
2019-02-18 21:02:24 +01:00
|
|
|
# httpd -dvvv
|
2019-02-18 20:15:21 +01:00
|
|
|
~~~
|
|
|
|
|
2019-02-18 21:02:24 +01:00
|
|
|
Lancer le démon avec rcctl(8):
|
2019-02-18 20:15:21 +01:00
|
|
|
|
|
|
|
~~~
|
2019-02-18 21:02:24 +01:00
|
|
|
# rcctl enable httpd
|
|
|
|
# rcctl start httpd
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Stopper le démon :
|
|
|
|
|
|
|
|
~~~
|
|
|
|
# rcctl stop httpd
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Pour définir des arguments au démarrage du démon, on peut les
|
2019-02-21 18:40:53 +01:00
|
|
|
rajouter a rc.conf(8).
|
|
|
|
|
2019-02-21 18:43:31 +01:00
|
|
|
## Configuration simple
|
|
|
|
|
|
|
|
Exemple d'une configuration minimale :
|
|
|
|
|
|
|
|
~~~
|
|
|
|
server "default" {
|
|
|
|
listen on * port 80
|
|
|
|
root "/htdocs"
|
|
|
|
}
|
|
|
|
~~~
|
|
|
|
|
|
|
|
> *Note* : le serveur chroot(8) dans /var/www par défaut
|
|
|
|
|
2019-02-21 18:40:53 +01:00
|
|
|
## Configuration avancée
|
|
|
|
|
|
|
|
Voici une configuration pour servir un site Wordpress en HTTP/HTTPS :
|
|
|
|
|
|
|
|
~~~
|
|
|
|
types { include "/usr/share/misc/mime.types" }
|
|
|
|
|
|
|
|
server "example.com" {
|
|
|
|
listen on * port 80
|
|
|
|
alias "www.example.com"
|
|
|
|
block return 302 "https://$SERVER_NAME$REQUEST_URI"
|
|
|
|
}
|
|
|
|
|
|
|
|
server "example.com" {
|
|
|
|
listen on * tls port 443
|
|
|
|
alias "www.example.com"
|
|
|
|
root "/example/www/"
|
|
|
|
directory index index.php
|
|
|
|
|
|
|
|
location "/.*" { block }
|
|
|
|
location "/upload/*.php" { block }
|
|
|
|
location "/files/*.php" { block }
|
|
|
|
|
|
|
|
location "/*.php*" {
|
|
|
|
fastcgi socket "/run/php-fpm-7.2.sock"
|
|
|
|
}
|
|
|
|
|
|
|
|
tls {
|
|
|
|
certificate "/etc/ssl/example.crt"
|
|
|
|
key "/etc/ssl/private/example.key"
|
|
|
|
}
|
|
|
|
|
|
|
|
log access "example.com.log"
|
|
|
|
log style combined
|
|
|
|
}
|
|
|
|
|
|
|
|
~~~
|