Como hospedar um site com HTTPS usando Caddy no Linux
Um servidor web é um aplicativo do lado do servidor projetado para processar solicitações HTTP entre cliente e servidor. HTTP é o protocolo de rede básico e amplamente utilizado.
O servidor HTTP Apache desempenhou um papel importante no design do que a web é hoje. Só ela tem uma participação de mercado de 37,3%. O Nginx vem em segundo lugar na lista, com uma participação de mercado de 32,4%. Microsoft IIS e LiteSpeed aparecem nos números 3 e 4, com uma participação de mercado de 7,8% e 6,9%, respectivamente.
Recentemente, encontrei um servidor web chamado Caddy. Quando tentei perguntar sobre seus recursos e o implantei em testes, devo dizer que é incrível. Um servidor web portátil e que não necessita de nenhum arquivo de configuração. Achei um projeto muito legal e queria compartilhar com vocês. Aqui nós demos uma chance ao Caddy!
O que é Caddie?
Caddy é uma alternativa a um servidor web apache fácil de configurar e usar. Matthew Holt – O líder do projeto Caddy afirma que Caddy é um servidor web de uso geral, afirma ter sido projetado para humanos e é provavelmente o único de seu tipo.
Caddy é o único primeiro servidor web que pode adquirir e renovar certificados SSL/TLS automaticamente usando Let’s Encrypt.
Características do Caddie
- Solicitações HTTP rápidas usando HTTP/2.
- Servidor Web capaz com configuração mínima e implantação descomplicada.
- A criptografia TLS garante a criptografia entre aplicativos e usuários em comunicação pela Internet. Você pode usar suas próprias chaves e certificados.
- Fácil de implantar/usar. Apenas um único arquivo e sem dependência de nenhuma plataforma.
- Nenhuma instalação necessária.
- Executáveis Portáteis.
- Execute em várias CPUs/núcleos.
- Tecnologia WebSockets avançada – sessão de comunicação interativa entre navegador e servidor.
- Documentos de Markdown do servidor em tempo real.
- Suporte total para o IPv6 mais recente.
- Cria um log em um formato personalizado.
- Sirva FastCGI, proxy reverso, reescrita e redirecionamentos, URL limpo, compactação Gzip, navegação em diretório, hosts virtuais e cabeçalhos.
- Disponível para todas as plataformas conhecidas – Windows, Linux, BSD, Mac, Android.
O que torna o caddie diferente?
- A Caddy pretende servir a web como deveria ser no ano de 2020 e não no estilo tradicional.
- Ele foi projetado não apenas para atender solicitações HTTP, mas também para humanos.
- Carregado com os recursos mais recentes – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, modelos e outros recursos prontos para uso.
- Execute os executáveis sem a necessidade de instalação.
- Documentação detalhada com o mínimo de descrição técnica.
- Desenvolvido pensando na necessidade e facilidade de Designers, Desenvolvedores e Bloggers.
- Suporte Virtual Host – Defina quantos sites desejar.
- Adequado para você – não importa se seu site é estático ou dinâmico. Se você é humano, é para você.
- Você se concentra no que alcançar e não em como alcançá-lo.
- Disponibilidade de suporte para a maioria das plataformas – Windows, Linux, Mac, Android, BSD.
- Normalmente, você tem um arquivo Caddy por site.
- Configure em menos de 1 minuto, mesmo que você não seja muito amigável com o computador.
Ambiente de teste
Vou testá-lo no servidor CentOS, bem como no servidor Debian, mas as mesmas instruções também funcionam no RHEL e no Debian distribuições baseadas. Para ambos os servidores usarei executáveis de 64 bits.
Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0
Instalação do Caddy Web Server no Linux
Não importa qual plataforma e tipo de arquitetura você esteja usando, o caddy fornece pacotes binários prontos para uso, que podem ser instalados usando seu gerenciador de pacotes padrão, conforme mostrado.
Instale o Caddy no Fedora, RedHat, CentOS
Instalaremos a versão mais recente do servidor web Caddy do repositório CORP no Fedora ou RHEL/CentOS 8.
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy
No RHEL/CentOS 7 use os seguintes comandos.
yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy
Instale o Caddy no Debian e Ubuntu
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy
Uma vez instalado o servidor web caddy, você pode iniciar, habilitar e verificar o status do serviço usando os seguintes comandos systemctl.
systemctl start caddy
systemctl enable caddy
systemctl status caddy
Agora abra seu navegador e aponte-o para o seguinte endereço e você poderá ver a página de boas-vindas do caddy.
http://Server-IP
OR
http://yourdomain.com
Configurando Domínios com Caddy
Para configurar um domínio, primeiro você precisa apontar os registros DNS A/AAAA do seu domínio para este servidor em seu painel de controle DNS. Em seguida, crie um diretório raiz de documentos para o seu site "example.com"
na pasta /var/www/html
conforme mostrado.
mkdir /var/www/html/example.com
Se estiver usando o SELinux, você precisará alterar o contexto de segurança do arquivo para conteúdo da web.
chcon -t httpd_sys_content_t /var/www/html/example.com -R
chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R
Agora abra e edite o arquivo de configuração do caddy em /etc/caddy/Caddyfile
.
vim /etc/caddy/Caddyfile
Substitua :80
pelo seu nome de domínio e altere a raiz do site para /var/www/html/example.com
conforme mostrado.
Recarregue o serviço Caddy para salvar a alteração de configuração.
systemctl reload caddy
Agora crie qualquer página HTML (você pode criar a sua própria) e salve a página no diretório raiz do documento do seu site.
touch /var/www/html/example.com/index.html
Adicione o seguinte exemplo de código HTML à página de índice do seu site.
echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html
Agora visite novamente seu site para ver sua página.
Se tudo estiver configurado corretamente, seu domínio será servido através de um protocolo HTTPS indicando que sua conexão é segura.
Conclusão
Se você é novato e deseja configurar um servidor web sem sujar a mão na configuração, esta ferramenta é para você. Mesmo se você for um usuário experiente que precisa de um servidor web simples e instantâneo, vale a pena tentar o Caddy. Com um pouco de configuração, você também pode definir permissão de pasta, controlar autenticação, páginas de erro, Gzip, redirecionamento HTTP e outros, caso precise configurar um servidor web mais complexo e avançado.
Não tome o Caddy como um substituto do Apache ou Nginx. O Caddy não foi projetado para lidar com ambientes de produção de alto tráfego. Ele foi projetado para uma configuração rápida de servidor web quando sua preocupação é velocidade e confiabilidade.
Referências
Guia do usuário completo/documentação completa do Caddy Web Server
Trouxemos esta documentação que visa uma rápida revisão e instruções de instalação com imagens sempre que necessário. Se você encontrar algum prós/contras do projeto ou alguma sugestão, você pode nos fornecer em nossa seção de comentários.
Para mim, este projeto é muito jovem, ainda funciona perfeitamente e parece poderoso e promissor. O maior ponto positivo que vejo é que o caddy não precisa carregar seu arquivo de configuração para qualquer lugar. O objetivo é fornecer o melhor de Nginx, Lighttpd, vagrant e Websocketd. Isso é tudo da minha parte. Mantenha-se conectado à Tecmint. Parabéns