Servidor Web básico usando OpenBSD e httpd


Introdução

O OpenBSD vem com um webserver proprio chamado httpd. O httpd é um webserver bem básico que suporta FastCGI e TLS.
Para este projeto, irei utilizar o OpenBSD 7.0 e como hardware um antigo IBM ThinkPad R50 (Pentium M, 510mb RAM, 2003). Este post foi escrito neste ThinkPad.

O maior problema deste servidor é a falta de compressão gzip, o que causa arquivos mais pesados, que por consequencia causam uma velocidade levemente reduzida na hora de acessar as paginas.

Configuração

O arquivo de configuração do httpd fica localizado em /etc/examples/. Você deverá copia-lo como root:
cp /etc/examples/httpd.conf /etc
Ou, você pode criar um novo arquivo de configuração e faze-lo parecido com isso.

O Servidor httpd está "enraizado" em /var/www/, então, seu documento deverá ficar deste diretório ou em algum lugar dentro dele.

Agora, vamos criar a raíz do documento:
mkdir -p /var/www/htdocs/www.example.com
Checamos a configuração com: # httpd -n. e ativamos o daemon para depois iniciar-mos ele:
rcctl enable httpd
rcctl start httpd


Agora, você pode adicionar uma pagina chamada index.html dentro de /var/www/htdocs/www.example.com/index.html

Testando

Agora é só colocar o IP do seu servidor na barra de URL do seu navegador. Se quiser também poderá configurar o DNS e SSL.

Dica

Caso queira varios servidores virtuais acessáveis somente via SSL, você pode redirecionar o trafego de HTTP para HTTPS com o seguinte snippet:
server "secure-redirect" {
listen on egress port 80 block return 301 "https://$HTTP_HOST$REQUEST_URI"
}