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.
Il server HTTP Apache ha svolto un ruolo importante nel progettare ciò che è il web oggi. Da solo ha una quota di mercato del 37,3%. Nginx arriva secondo nella lista con una quota di mercato del 32,4%. Microsoft IIS e LiteSpeed si collocano al terzo e quarto posto con una quota di mercato del 7,8% e 6,9% rispettivamente.
Recentemente, mi sono imbattuto in un server web chiamato Caddy. Quando ho provato a informarmi sulle sue caratteristiche e l’ho implementato per fare dei test, devo dire che è incredibile. Un server web che è portatile e non ha bisogno di nessun file di configurazione. Ho pensato che fosse un progetto molto interessante e volevo condividerlo con te. Ecco perché abbiamo dato una possibilità a Caddy!
Cos’è Caddy?
Caddy è un’alternativa a un server web Apache facile da configurare e usare. Matthew Holt – Il leader del progetto di Caddy sostiene che Caddy sia un server web ad uso generale, progettato per gli esseri umani ed è probabilmente l’unico del suo genere.
Caddy è il primo server web in grado di acquisire e rinnovare automaticamente i certificati SSL/TLS utilizzando Let’s Encrypt.
Caratteristiche di Caddy
- Richieste HTTP veloci utilizzando HTTP/2.
- Server web capace con minima configurazione e distribuzione senza problemi.
- La crittografia TLS garantisce la crittografia tra le applicazioni e gli utenti che comunicano su Internet. È possibile utilizzare le proprie chiavi e certificati.
- Facile da distribuire/utilizzare. Solo un singolo file e nessuna dipendenza da qualsiasi piattaforma.
- Nessuna installazione richiesta.
- Eseguibile portatile.
- Esecuzione su più CPU/Core.
- Tecnologia avanzata WebSockets – sessione di comunicazione interattiva tra browser e server.
- Server di documenti Markdown al volo.
- Supporto completo per l’ultimo IPv6.
- Crea un registro in un formato personalizzato.
- Serve FastCGI, Reverse Proxy, Rewrite e Redirects, Clean URL, compressione Gzip, Directory Browsing, Virtual Hosts e Headers.
- Disponibile per tutte le piattaforme conosciute – Windows, Linux, BSD, Mac, Android.
Cosa rende Caddy diverso?
- Caddy mira a servire il web come dovrebbe essere nel 2020 e non in stile tradizionale.
- È progettato non solo per servire le richieste HTTP ma anche per gli esseri umani.
- Caricato con le ultime funzionalità – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, modelli e altre funzionalità pronte all’uso.
- Esegui gli eseguibili senza la necessità di installarli.
- Documentazione dettagliata con la minima descrizione tecnica.
- Sviluppato tenendo presente le esigenze e la facilità di designer, sviluppatori e blogger.
- Supporto per Host Virtuali – Definisci quanti siti desideri.
- Adatto a te – non importa se il tuo sito è statico o dinamico. Se sei umano, è per te.
- Ti concentri su cosa raggiungere e non su come farlo.
- Disponibilità di supporto per la maggior parte delle piattaforme – Windows, Linux, Mac, Android, BSD.
- Di solito, hai un file Caddy per sito.
- Configura in meno di 1 minuto, anche se non sei molto pratico con il computer.
Ambiente di Test
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
Installazione del Server Web Caddy in Linux
Indipendentemente dalla piattaforma su cui ti trovi e dal tipo di architettura che stai utilizzando, caddy fornisce pacchetti binari pronti all’uso, che possono essere installati utilizzando il tuo gestore di pacchetti predefinito come mostrato.
Installa Caddy in Fedora, RedHat, CentOS
Stiamo installando l’ultima versione del server web Caddy dal repository CORP sotto Fedora o RHEL/CentOS 8.
# dnf install 'dnf-command(copr)' # dnf copr enable @caddy/caddy # dnf install caddy
Su RHEL/CentOS 7 utilizza i seguenti comandi.
# yum install yum-plugin-copr # yum copr enable @caddy/caddy # yum install caddy
Installa Caddy in 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
Una volta installato il server web caddy, puoi avviare, abilitare e controllare lo stato del servizio utilizzando i seguenti comandi systemctl.
# systemctl start caddy # systemctl enable caddy # systemctl status caddy
Ora apri il tuo browser e puntalo all’indirizzo seguente e dovresti essere in grado di vedere la pagina di benvenuto di caddy.
http://Server-IP OR http://yourdomain.com

Configurazione dei Domini con Caddy
Per configurare un dominio, prima devi puntare i record DNS A/AAAA del tuo dominio a questo server nel pannello di controllo DNS. Successivamente, crea una directory radice del documento per il tuo sito web "esempio.com"
sotto la cartella /var/www/html
come mostrato.
$ mkdir /var/www/html/example.com
Se stai utilizzando SELinux, devi cambiare il contesto di sicurezza del file per i contenuti 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
Ora apri e modifica il file di configurazione di caddy in /etc/caddy/Caddyfile
.
# vim /etc/caddy/Caddyfile
Sostituisci :80
con il tuo nome di dominio e cambia la radice del sito in /var/www/html/example.com
come mostrato.

Ricarica il servizio Caddy per salvare la modifica della configurazione.
# systemctl reload caddy
Ora crea una qualsiasi pagina HTML (puoi creare la tua) e salva la pagina nella directory root dei documenti per il tuo sito web.
# touch /var/www/html/example.com/index.html
Aggiungi il seguente esempio di codice Html alla pagina indice del tuo sito web.
# 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
Ora visita di nuovo il tuo sito per vedere la tua pagina.

Se tutto è configurato correttamente, il tuo dominio sarà servito su un protocollo HTTPS indicando che la tua connessione è sicura.
Conclusione
Se sei un principiante e vuoi configurare un server web senza sporcarti le mani con la configurazione, questo strumento fa per te. Anche se sei un utente esperto che ha bisogno è di un server web istantaneo e semplice, Caddy vale la pena di essere provato. Con una piccola configurazione, potresti anche impostare il permesso della cartella, controllare l’autenticazione, le pagine di errore, Gzip, il reindirizzamento HTTP e altro, se devi configurare un server web più complesso e avanzato.
Non considerare Caddy come un sostituto di Apache o Nginx. Caddy non è progettato per gestire un ambiente di produzione ad alto traffico. È progettato per un’installazione rapida del server web quando la tua preoccupazione è la velocità e l’affidabilità.
Referenze
Guida completa per l’utente / Documentazione completa di Caddy Web Server
Abbiamo portato questa documentazione che mira a una rapida revisione e istruzioni di installazione con immagini dove necessario. Se incontri dei pro/contro del progetto o qualsiasi suggerimento, puoi darcelo nella nostra sezione commenti.
Per me questo progetto è ancora troppo giovane, funziona perfettamente e sembra potente e promettente. Il punto più forte che vedo è che Caddy non ha bisogno di portare il suo file di configurazione ovunque. Ha l’obiettivo di offrire il meglio di Nginx, Lighttpd, Vagrant e Websocketd. Questo è tutto da parte mia. Rimanete connessi a Tecmint. Applausi
Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/