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
- Requisições HTTP rápidas usando HTTP/2.
- Servidor Web capaz com configuração mínima e implantação sem complicações.
- 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.
- Fácil de implementar/usar. Apenas um único arquivo e sem dependência de qualquer plataforma.
- Não é necessária instalação.
- Executáveis portáteis.
- Execução em múltiplas CPUs/Cores.
- Tecnologia avançada de WebSockets – sessão de comunicação interativa entre navegador e servidor.
- Publicar documentos Markdown dinamicamente.
- Suporte completo para o mais recente IPv6.
- Cria um registro em um formato personalizado.
- Serve FastCGI, Proxy Reverso, Reescrita e Redirecionamentos, URL Limpa, Compressão Gzip, Navegação de Diretório, Hosts Virtuais e Cabeçalhos.
- Disponível para todas as plataformas conhecidas – Windows, Linux, BSD, Mac, Android.
O que torna o Caddy diferente?
- O Caddy visa servir a web como deveria ser em 2020 e não no estilo tradicional.
- É projetado não apenas para atender solicitações HTTP, mas também aos 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 instalá-los.
- Documentação detalhada com a menor descrição técnica possível.
- Desenvolvido tendo em mente a necessidade e facilidade de Designers, Desenvolvedores e Blogueiros.
- Suporte para Host Virtual – Defina quantos sites desejar.
- Adequado para você – não importa se o seu site é estático ou dinâmico. Se você é humano, é para você.
- Você se concentra no que deseja alcançar e não em como alcançá-lo.
- Disponibilidade de suporte para a maioria das plataformas – Windows, Linux, Mac, Android, BSD.
- Geralmente, você tem um arquivo Caddy por site.
- 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

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

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.

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/