Atualmente, o HTTPS é fundamental ao hospedar um site. Sem ele, seus usuários podem estar vazando dados muito pessoais do seu site para o mundo. Para resolver isso, muitos webmasters do Linux passaram a usar as ferramentas LetsEncrypt, pois elas facilitam muito a geração de um certificado. Ainda assim, por mais fácil que o LetsEncrpyt seja, habilitá-lo no Nginx ou no Apache no Linux ainda pode ser um pouco trabalhoso. Felizmente, há uma maneira melhor. Apresentando o servidor web Caddy. É o servidor web que tem HTTPS habilitado por padrão. Se você está cansado de se preocupar com certificados SSL, o Caddy pode ser exatamente o que você precisa.
últimas postagens
Instalando o Caddy
A instalação do servidor web Caddy funciona praticamente da mesma forma, independentemente do sistema operacional do servidor que você está usando. A razão pela qual o Caddy é tão fácil de instalar é a escolha do desenvolvedor de usar um script Bash para download para instalar o software, em vez de adicionar repositórios de software de terceiros ou instalar via binários.
Neste tutorial, usaremos o Ubuntu Server, embora a execução do Caddy web Server funcione bem na maioria dos outros sistemas operacionais Linux, mesmo nos desktops. Para começar, certifique-se de ter o aplicativo Curl no seu PC Linux. Se você não fizer isso, abra um terminal, procure no gerenciador de pacotes por “curl” e instale-o.
Nota: determine se você já tem curl executando curl no terminal. Se a caixa de diálogo “ajuda” aparecer para o programa, você tem o Curl em sua máquina Linux.
curl https://getcaddy.com | bash -s personal
O servidor web Caddy é gratuito para uso pessoal, mas você deve especificá-lo. Planejando usar o Caddy em um ambiente empresarial? Execute o comando de instalação com:
curl https://getcaddy.com | bash -s commercial
A execução do Curl o canalizará através do Bash e iniciará automaticamente o processo de instalação. O instalador do Caddy levará algum tempo para baixar o binário do servidor web e colocá-lo no diretório /usr/local/bin/. Se a instalação for bem-sucedida, você verá uma mensagem dizendo “Instalado com sucesso”.
Neste ponto, você precisará modificar o binário do Caddy. Execute o seguinte comando no terminal, com privilégios sudo.
sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy
Configurando o Caddy
Caddy está instalado no servidor. A próxima etapa do processo é configurar a estrutura de diretórios. Comece obtendo um terminal raiz. Fazer isso tornará a modificação de pastas no sistema de arquivos muito mais rápida, pois você não precisará digitar sudo para cada comando, seguido de uma senha.
Na maioria dos sistemas, os usuários podem fazer login diretamente na conta root com:
su
No servidor Ubuntu, no entanto, a conta Root está bloqueada por motivos de segurança. Para contornar isso, ganhe um shell de root com sudo.
sudo -s
Agora que temos acesso root, crie os diretórios necessários para que o servidor Caddy funcione corretamente.
mkdir /etc/caddy mkdir /etc/ssl/caddy
Nota: Se o seu servidor já possui um diretório /var/www/, ignore este último comando mkdir.
mkdir /var/www
Em seguida, crie um novo “Caddyfile” dentro de /etc/caddy/.
touch /etc/caddy/Caddyfile
Usando o comando chmod, atualize as permissões para a subpasta Caddy dentro de /etc/ssl/.
chmod 0770 /etc/ssl/caddy
Por último, chown o diretório /var/www/:
chown www-data: /var/www
Arquivo Caddy Systemd
A maioria dos servidores, especialmente o servidor Ubuntu, faz uso pesado do sistema systemd init. No entanto, como o servidor da Web é instalado via script Bash, um arquivo systemd não está presente. Em vez disso, precisaremos fazer o nosso próprio. Use o comando touch para criar um novo arquivo de serviço em branco.
touch /lib/systemd/system/caddy.service
Abra o novo arquivo caddy.service e cole o seguinte código nele:
[Unit]
Description=Servidor web Caddy HTTP/2
Documentation=https://caddyserver.com/docs
Depois=network-online.target
Wants=network-online.target
[Service]
Reiniciar = em caso de falha
StartLimitInterval=86400
StartLimitBurst=5
Usuário=www-dados
Grupo=www-dados
; Os certificados emitidos pelo Letsencrypt serão gravados neste diretório.
Ambiente=CADDYPATH=/etc/ssl/caddy
ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimiteNPROC=64
PrivateTmp=true
Dispositivos Privados=true
ProtectHome=true
ProtectSystem=completo
ReadWriteDirectories=/etc/ssl/caddy
; As diretivas de segurança adicionais a seguir funcionam apenas com systemd v229 ou posterior.
; Eles restringem ainda mais os privilégios que podem ser obtidos pelo caddie. Descomente se quiser.
; Observe que pode ser necessário adicionar recursos exigidos por qualquer plug-in em uso.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true
[Install]
WantedBy=multi-usuário.destino
Há muito código para o arquivo caddy.service, portanto, faça o possível para garantir que tudo esteja lá. Quando tiver certeza, salve as alterações pressionando a combinação de teclado Ctrl + X. Saia do editor com Ctrl + X.
systemctl enable caddy.service systemctl start caddy.service
Depois de configurar o systemd, tudo deve estar pronto para funcionar.
Configurando Domínios
O Caddy, como qualquer outro servidor web, precisa de um pouco de configuração antes de usá-lo. Comece criando uma pasta de domínio:
Nota: certifique-se de renomear “test-domain.org” com seu domínio.
mkdir -p /var/www/test-domain.org/
Em seguida, edite o arquivo Caddyfile que criamos anteriormente.
nano /etc/caddy/Caddyfile
Cole o seguinte código para ativar seu novo domínio:
meu-domínio.com {
root /var/www/test-domain.org
}
Reinicie o serviço Caddy systemd para salvar as alterações. Quando o serviço terminar de reiniciar, o Caddy estará pronto para ser usado em seu servidor.
systemctl restart caddy.service