Como Hospedar um Site com HTTPS Usando o Caddy no Linux

A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.

O Apache HTTP Server desempenhou um papel importante no design do que é a web hoje. Ele sozinho tem uma participação de mercado de 37,3%. Nginx vem em segundo na lista com uma participação de mercado de 32,4%. Microsoft IIS e LiteSpeed vêm em terceiro e quarto lugar com uma participação de mercado de 7,8% e 6,9% respectivamente.

Recentemente, me deparei com um servidor web chamado Caddy. Quando tentei me informar sobre suas características e o implementei para testes, devo dizer que é incrível. Um servidor web que é portátil e não precisa de nenhum arquivo de configuração. Achei que é um projeto muito legal e queria compartilhá-lo com você. Aqui nós demos uma chance ao Caddy!

O que é Caddy?

Caddy é uma alternativa ao servidor web apache, fácil de configurar e usar. Matthew Holt, líder do projeto Caddy, afirma que o Caddy é um servidor web de uso geral, projetado para ser humano e provavelmente é o único do seu tipo.

Caddy é o primeiro servidor web que pode adquirir e renovar certificados SSL/TLS automaticamente usando o Let’s Encrypt.

Características do Caddy

  1. Requisições HTTP rápidas usando HTTP/2.
  2. Servidor Web capaz com configuração mínima e implantação sem complicações.
  3. A criptografia TLS garante a encriptação entre aplicações comunicantes e usuários na Internet. Você pode usar suas próprias chaves e certificados.
  4. Fácil de implementar/usar. Apenas um único arquivo e sem dependência de qualquer plataforma.
  5. Não é necessária instalação.
  6. Executáveis portáteis.
  7. Execução em múltiplas CPUs/Cores.
  8. Tecnologia avançada de WebSockets – sessão de comunicação interativa entre navegador e servidor.
  9. Publicar documentos Markdown dinamicamente.
  10. Suporte completo para o mais recente IPv6.
  11. Cria um registro em um formato personalizado.
  12. Serve FastCGI, Proxy Reverso, Reescrita e Redirecionamentos, URL Limpa, Compressão Gzip, Navegação de Diretório, Hosts Virtuais e Cabeçalhos.
  13. Disponível para todas as plataformas conhecidas – Windows, Linux, BSD, Mac, Android.

O que torna o Caddy diferente?

  1. O Caddy visa servir a web como deveria ser em 2020 e não no estilo tradicional.
  2. É projetado não apenas para atender solicitações HTTP, mas também aos humanos.
  3. Carregado com os recursos mais recentes – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, modelos e outros recursos prontos para uso.
  4. Execute os executáveis sem a necessidade de instalá-los.
  5. Documentação detalhada com a menor descrição técnica possível.
  6. Desenvolvido tendo em mente a necessidade e facilidade de Designers, Desenvolvedores e Blogueiros.
  7. Suporte para Host Virtual – Defina quantos sites desejar.
  8. Adequado para você – não importa se o seu site é estático ou dinâmico. Se você é humano, é para você.
  9. Você se concentra no que deseja alcançar e não em como alcançá-lo.
  10. Disponibilidade de suporte para a maioria das plataformas – Windows, Linux, Mac, Android, BSD.
  11. Geralmente, você tem um arquivo Caddy por site.
  12. Configure em menos de 1 minuto, mesmo que você não seja muito familiarizado com computadores.
Ambiente de Teste

I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Instalação do Servidor Web Caddy no Linux

Não importa em qual plataforma ou 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

Vamos instalar a versão mais recente do servidor web Caddy do repositório CORP sob 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

Depois de instalar 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 seu navegador para o seguinte endereço e você deverá conseguir ver a página de boas-vindas do caddy.

http://Server-IP
OR
http://yourdomain.com
Caddy Web Server

Configurando Domínios com o Caddy

Para configurar um domínio, primeiro, você precisa apontar os registros DNS A/AAAA do seu domínio para este servidor no painel de controle DNS. Em seguida, crie um diretório raiz do documento para o seu site "exemplo.com" na pasta /var/www/html conforme mostrado.

$ mkdir /var/www/html/example.com

Se estiver usando SELinux, você precisa alterar o contexto de segurança do arquivo para conteúdo da web.Agora abra e edite o arquivo de configuração do caddy em /etc/caddy/Caddyfile.

# 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.

Configure Caddy Web Server

Recarregue o serviço do 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 para o seu site.

# touch /var/www/html/example.com/index.html

Adicione o seguinte código HTML de exemplo à página inicial 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 o seu site para ver a sua página.

Hosting Website with Caddy

Se tudo estiver configurado corretamente, o seu domínio será servido através de um protocolo HTTPS, indicando que a sua conexão é segura.

Conclusão

Se você é um iniciante e deseja configurar um servidor web sem ter que mexer na configuração, esta ferramenta é para você. Mesmo se você é um usuário experiente que precisa de um servidor web instantâneo e simples, o Caddy vale a pena tentar. Com um pouco de configuração, você também pode definir permissões de pasta, controlar autenticação, páginas de erro, Gzip, redirecionamento HTTP e outros, se precisar configurar um servidor web mais complexo e avançado.

Não encare o Caddy como 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 rápida configuração de servidor web quando a sua preocupação é velocidade e confiabilidade.

Referências

Guia completo do usuário / Documentação completa do Servidor Web Caddy

Trouxemos esta documentação que visa uma rápida revisão e instruções de instalação com imagens onde for necessário. Se você encontrar prós/contras do projeto ou qualquer sugestão, pode nos dar na nossa seção de comentários.

Para mim, este projeto ainda é muito novo, mas 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 por toda parte. Ele visa oferecer o melhor do Nginx, Lighttpd, vagrant e Websocketd. Isso é tudo da minha parte. Mantenha-se conectado ao Tecmint. Parabéns

Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/