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 na concepção do que a web é hoje. Ele sozinho detém uma fatia de mercado de 37,3%. Nginx vem em segundo lugar na lista, com uma fatia de mercado de 32,4%. Microsoft IIS e LiteSpeed ocupam as posições 3 e 4, com uma fatia de mercado de 7,8% e 6,9% respectivamente.

Recentemente, me deparei com um servidor web chamado Caddy. Ao tentar investigar seus recursos e implantá-lo para testes, devo dizer que é incrível. Um servidor web portátil que não precisa de nenhum arquivo de configuração. Pensei que é um projeto muito legal e queria compartilhá-lo com você. Aqui demos Caddy uma chance!

O que é Caddy?

Caddy é uma alternativa ao servidor web apache com fácil configuração e uso. Matthew Holt – O líder do projeto Caddy afirma que Caddy é um servidor web de propósito geral, afirma ser projetado para humanos e é provavelmente o único do seu gênero.

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

Recursos de Caddy

  1. Solicitações HTTP rápidas usando HTTP/2.
  2. Servidor Web capaz com configuração mínima e implantação sem complicações.
  3. Criptografia TLS garante criptografia entre aplicativos de comunicação e usuários na Internet. Você pode usar suas próprias chaves e certificados.
  4. Fácil de implantar/usar. Apenas um único arquivo e nenhuma dependência em nenhuma plataforma.
  5. Sem instalação necessária.
  6. Executáveis portáteis.
  7. Execução em múltiplas CPUs/Núcleos.
  8. Tecnologia avançada de WebSockets – sessão de comunicação interativa entre navegador e servidor.
  9. Servidor de documentos Markdown sob demanda.
  10. Suporte total 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órios, 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 no ano de 2020 e não de maneira tradicional.
  2. É projetado não apenas para atender solicitações HTTP, mas também para 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 a Hosts Virtuais – Defina quantos sites desejar.
  8. Indicado para você – não importa se seu site é estático ou dinâmico. Se você é humano, é para você.
  9. Você se concentra no que 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. Configuração em menos de 1 minuto, mesmo que 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 você está e qual tipo de arquitetura está 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 em 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á ver a página de boas-vindas do caddy.

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

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 no 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 SELinux, você precisa alterar o contexto de segurança do arquivo para conteúdo 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 na configuração.

# systemctl reload caddy

Agora crie uma 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ê é iniciante e deseja configurar um servidor web sem se sujar com configurações, esta ferramenta é para você. Mesmo se você for 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 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 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 tem como objetivo uma revisão rápida e instruções de instalação com imagens sempre que necessário. Se você encontrar quaisquer prós/contras do projeto ou tiver alguma sugestão, pode nos dar na nossa seção de comentários.

Para mim, este projeto é muito novo, 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 todos os lugares. Ele visa fornecer 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/