Como criar um servidor web simples com darkhttpd

Como criar um servidor web simples com darkhttpd
Uma fotografia de uma tela de computador exibindo código HTML.

Darkhttpd é um daemon de servidor web leve e binário único para Linux. Ele fornece uma maneira simples de “zero config” para implementar sites o mais rápido possível no seu servidor. Aqui, mostramos como instalar o darkhttpd no Ubuntu Linux, como ele se compara a servidores web populares e o guiamos pelo processo de criação do seu primeiro site.

Darkhttpd vs Apache vs Nginx

Darkhttpd não é o único servidor web que você pode instalar na sua máquina Linux. Há Apache, Nginx, Caddy, Lighttpd e muitos outros. Nesta seção, vamos comparar darkhttpd com Apache e Nginx e ver como ele se sai.

Em relação à facilidade de uso, o darkhttpd supera o Apache e o Nginx de cara. O Darkhttpd foca em manter tudo em um único programa. Isso significa que você pode compartilhar seu site sem se preocupar com sua configuração e com o serviço init do seu sistema.

Um terminal mostrando a saída de ajuda do darkhttpd.

Em termos de segurança, o darkhttpd usa um chroot para seus arquivos. Ele também tem timeouts automáticos para conexões ociosas e registro básico. Isso é muito diferente do Apache e do Nginx. Ambos têm filtros poderosos de limitação de taxa e opções para ajustar os cabeçalhos HTTP em seus sites.

A simplicidade do Darkhttpd também se presta inflexível às demandas personalizadas do usuário. Os desenvolvedores do programa o projetaram como uma maneira rápida de servir conteúdo estático da web. Isso significa que, comparado ao Apache e ao Nginx, o darkhttpd não pode executar scripts CGI ou atuar como um proxy reverso para seus aplicativos.

Um terminal mostrando um exemplo de configuração de proxy reverso para Nginx.
Categoria httpd escuro Apache Nginx
Fácil de usar Não requer configuração adicional para hospedar sites. Requer configuração específica do sistema e do site para funcionar. Requer configuração específica do site para funcionar.
Segurança geral Vem com recursos básicos de chroot e registro. Vem com limitadores de taxa e cabeçalhos HTTP focados em segurança. Vem com limitadores de taxa e cabeçalhos HTTP focados em segurança.
Suporte SSL Não há suporte SSL integrado. Vem com “mod_ssl” para suporte SSL. Vem com suporte SSL integrado.
Flexibilidade de aplicação Só pode funcionar com conteúdo web estático. Pode trabalhar com conteúdo web estático e dinâmico. Pode funcionar como servidor web, balanceador de carga e proxy reverso.

Preparando seu sistema para darkhttpd

O primeiro passo para criar um site com darkhttpd no Ubuntu Linux é obter as dependências do Docker e do Docker Compose.

Comece baixando a chave de assinatura para o projeto Docker:

Use seu editor de texto favorito para criar um novo arquivo de repositório:

Cole a seguinte linha de código dentro do seu arquivo de repositório:

Recarregue os repositórios de pacotes da sua máquina e atualize todo o seu sistema:

Instale o Docker, seu plugin Compose e o Git usando o apt:

Um terminal mostrando o processo de instalação do Docker, seus plugins e Git.

Instalando e executando o darkhttpd

Vá para seu diretório inicial e baixe a versão mais recente do darkhttpd para seu sistema:

Vá para dentro do repositório Git e crie um novo arquivo Docker Compose usando seu editor de texto favorito:

Cole o seguinte bloco de código dentro do seu arquivo Compose:

Salve seu novo arquivo Compose e execute o seguinte comando para criar e executar seu contêiner Docker darkhttpd:

Crie uma pasta “html” dentro do repositório Linux darkhttpd e copie os arquivos estáticos do seu site para ela:

Confirme se o darkhttpd está sendo executado corretamente listando os contêineres disponíveis no sistema:

Um terminal mostrando o contêiner Docker darkhttpd em execução no sistema.

Executando darkhttpd sobre SSL com stunnel

Neste ponto, você tem um servidor darkhttpd em execução na porta 8080. No entanto, para acessá-lo pela internet, você precisa primeiro encapsulá-lo em SSL por meio de um proxy reverso.

Para começar, crie um novo registro DNS “A” para seu domínio apontando para o endereço IPv4 do seu darkhttpd. No meu caso, vou apontar o endereço IPv4 da minha máquina para o registro: “web.myvpsserver.top.”

Obtenha e instale o stunnel, o pacote snap “core” e o Certbot em sua máquina:

Registre sua instância darkhttpd na Electronic Frontier Foundation:

Gere um certificado SSL simples para seu nome de domínio:

Um terminal mostrando o processo de geração de certificado SSL no LetsEncrypt.

Crie um novo arquivo de configuração para seu proxy reverso stunnel:

Cole o seguinte bloco de código dentro do seu novo arquivo de configuração:

Salve seu novo arquivo de configuração e execute o seguinte comando para iniciar o proxy reverso:

Um terminal que mostra o status atual do serviço stunnel no sistema.

Confirme se seu site estático está funcionando corretamente abrindo seu subdomínio em um navegador da web.

Uma captura de tela mostrando o site de exemplo sendo executado no darkhttpd com SSL.

Hospedar seu próprio site simples usando darkhttpd é apenas o primeiro passo para explorar o maravilhoso mundo dos serviços web de auto-hospedagem. Aprenda como você pode criar RSS Feeds para suas mídias sociais usando RSS-Bridge.

Crédito da imagem: Ilya Pavlov via Unsplash . Todas as alterações e capturas de tela por Ramces Red.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *