Como criar seu próprio servidor Caddy Web no Linux

Como criar seu próprio servidor Caddy Web no Linux
Uma fotografia de um monitor de computador em cima de uma mesa com luz de fundo verde.

Caddy é um servidor web moderno e fácil de usar para Linux. Funciona agilizando o processo de criação de arquivos de configuração de site e certificados SSL. Este artigo irá guiá-lo através do processo de instalação do Caddy em um servidor Ubuntu Linux. Além disso, também mostrará como usar o Caddy para implantar uma página da web simples, bem como um proxy reverso SSL.

Por que usar o Caddy como servidor web?

Embora Nginx e Apache sejam daemons de servidor web poderosos, eles podem ser pesados ​​e complexos para um novo usuário. Caddy elimina essa complexidade fornecendo o “Caddyfile”, um único arquivo simples com uma sintaxe simples que é fácil de aprender mesmo para iniciantes.

Um terminal mostrando um exemplo de Caddyfile.

Outro ponto de venda do Caddy é que ele fornece HTTPS para o seu servidor web imediatamente. Isso o torna útil para usuários que consideram a configuração de SSL em seus sites assustadora e complicada. Como tal, Caddy é perfeito se você está procurando um servidor web “sem complicações” em Linux que seja fácil de manter e usar.

Instalando o Caddy

O primeiro passo para instalar o Caddy no Ubuntu Linux é certificar-se de que você possui as ferramentas para importar as chaves e informações do repositório:

Obtenha a chave de assinatura do repositório para Caddy no site do desenvolvedor:

Baixe e salve o arquivo de repositório do projeto Caddy no diretório “sources.list.d” da sua máquina:

Recarregue os repositórios apt do seu sistema executando o seguinte:

Instale o pacote Caddy para o seu sistema usando apt install:

Executando seu primeiro site Caddy

Para executar seu primeiro site, crie a pasta raiz do seu site em seu diretório inicial:

Crie um arquivo index.html usando seu editor de texto favorito:

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

Salve seu arquivo index.html e execute o seguinte comando:

Confirme se o seu servidor web está funcionando corretamente navegando até ele usando seu navegador.

Uma captura de tela mostrando um exemplo de site em execução em localhost:8080.

Criando um site usando Caddyfiles

Embora a ferramenta CLI seja ótima para servir páginas da web simples, o Caddy também fornece um “Caddyfile” fácil de usar para configurações mais complexas. Para começar, crie um novo Caddyfile em “/etc/caddy” usando seu editor de texto favorito:

Cole o seguinte bloco de código dentro do seu novo Caddyfile:

Copie o arquivo index.html do seu diretório inicial para “/var/www” do seu sistema:

Vá para o seu registrador DNS e certifique-se de que seus subdomínios raiz e www tenham um registro A ou AAAA apontando para os endereços IPv4 e IPv6 da sua máquina.

Uma captura de tela mostrando dois registros A apontando para o endereço IP da máquina.

Habilite o serviço Caddy integrado em sua máquina:

Verifique se o seu site está funcionando corretamente navegando até o seu nome de domínio.

Uma captura de tela mostrando o site de exemplo funcionando com um nome de domínio externo.

Criando um proxy reverso SSL com Caddy

Assim como o Nginx e o Apache, você também pode usar o Caddy como proxy reverso para um serviço interno em sua máquina. Para fazer isso, abra o Caddyfile do seu sistema:

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

Substitua “LOCAL-PORT” pela porta da sua aplicação web. No meu caso, substituirei o meu por 3001 para redirecionar todo o tráfego de entrada para o meu servidor Uptime Kuma .

Um terminal mostrando uma configuração de proxy reverso Caddy modificada.

Salve seu Caddyfile e recarregue o serviço Caddy para aplicar suas novas configurações:

Teste se o seu proxy reverso está funcionando corretamente navegando até o seu domínio usando o navegador da web.

Uma captura de tela mostrando uma instância do Uptime Kuma sendo proxy por meio do Caddy.

Implantando vários sites e serviços usando Caddy

Você também pode usar o mesmo Caddyfile para servir sites e proxies no mesmo host. Isso facilita o gerenciamento de vários serviços diferentes sem sobrecarregar o diretório de configuração do seu servidor web.

Para começar, vá para a página de download do Caddy e digite “caddy-dns” na barra de pesquisa.

Uma captura de tela destacando a caixa de pesquisa caddy-dns na página de download do Caddy.

Procure o provedor DNS que gerencia seu nome de domínio. No meu caso, estou usando DigitalOcean .

Selecione seu provedor de DNS e clique em “Download” no canto superior direito da página. Isso fará o download de um binário Caddy personalizado com o módulo apropriado para o seu provedor de DNS.

Uma captura de tela destacando o botão Download após selecionar a compilação caddy-dns para DigitalOcean.

Pare o serviço Caddy usando systemctl:

Crie um backup do arquivo binário Caddy original e copie o binário personalizado para o diretório “/usr/bin/”.

Teste se o seu binário Caddy personalizado está funcionando corretamente verificando sua versão:

Habilitando Caddy SSL para Domínios Wildcard

Abra o Caddyfile do seu sistema usando seu editor de texto favorito:

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

Obtenha uma chave de API do seu provedor de DNS. No DigitalOcean, você pode fazer isso acessando o painel do DigitalOcean e clicando em API na barra lateral esquerda da página.

Uma captura de tela destacando o botão API no painel da DigitalOcean.

Clique em Gerar novo token e forneça os detalhes da sua chave de API.

Uma captura de tela mostrando os detalhes do token para certificados curinga SSL automatizados.

Copie o segredo da sua API e cole-o na variável “API-KEY” do seu Caddyfile.

Personalize o Caddyfile para sua configuração específica e salve-o.

Um terminal mostrando um arquivo de configuração Caddy multi-site modificado.

Certifique-se de que seu nome de domínio tenha os registros A e AAAA apropriados para seu domínio e subdomínio.

Reinicie seu daemon Caddy desabilitado para aplicar suas novas configurações:

Teste se a sua configuração “multisserviço” funciona corretamente abrindo ambos os domínios em um navegador da web.

Uma captura de tela mostrando os dois serviços em execução em SSL com Caddy.

Aprender como implantar serviços web simples e seguros usando Caddy é apenas o primeiro passo para explorar o maravilhoso mundo da auto-hospedagem no Linux. Mergulhe mais fundo neste universo criando seu próprio servidor de alias de e-mail com SimpleLogin .

Crédito da imagem: Jonathan Ybema via Unsplash e Wikimedia Commons . Todas as alterações e capturas de tela de Ramces Red.

Deixe um comentário

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