Caddy è un server web gratuito, open source e moderno scritto in linguaggio GO. È un server Web leggero e commercialmente supportato che supporta HTTP/2 e protocolli HTTP/3 sperimentali. Può essere eseguito ovunque senza dipendenze esterne ed è ampliato tramite plug-in. È progettato pensando alla sicurezza e offre una serie di funzioni utili per l'hosting di siti Web.
In questo tutorial, spiegherò come installare il server web Caddy su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Un nome di dominio valido puntato all'IP del tuo server.
- Sul server è configurata una password di root.
Installa Caddy su Debian 11
Per impostazione predefinita, il pacchetto Caddy non è incluso nel repository predefinito di Debian 11. Quindi dovrai aggiungere il repository Caddy al tuo sistema.
Innanzitutto, installa tutte le dipendenze richieste utilizzando il seguente comando:
apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https
Quindi, scarica e aggiungi la chiave GPG con il seguente comando:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add -
Quindi, aggiungi un repository Caddy all'APT usando il seguente comando:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
Quindi, aggiorna il repository e installa il server web Caddy eseguendo il comando seguente:
apt-get update
apt-get install caddy -y
Una volta installato il Caddy, verifica la versione del Caddy utilizzando il seguente comando:
caddy version
Otterrai il seguente output:
v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=
Per consentire a caddy binary di connettersi a porte privilegiate come 80 e 443, esegui il comando seguente:
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy
Gestisci servizio Caddy
Puoi gestire il servizio Caddy utilizzando il systemd.
Per avviare il servizio Caddy, esegui il seguente comando:
systemctl start caddy
Per interrompere il servizio Caddy, esegui il comando seguente:
systemctl stop caddy
Per abilitare l'avvio del servizio Caddy al riavvio del sistema, eseguire il comando seguente:
systemctl enable caddy
Per verificare lo stato del servizio Caddy, eseguire il comando seguente:
systemctl status caddy
Otterrai il seguente output:
? caddy.service - Caddy Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-10-16 14:34:44 UTC; 2min 30s ago Docs: https://caddyserver.com/docs/ Main PID: 2370 (caddy) Tasks: 7 (limit: 2341) Memory: 17.5M CPU: 30ms CGroup: /system.slice/caddy.service ??2370 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile Oct 16 14:34:44 debian11 caddy[2370]: JOURNAL_STREAM=8:16308 Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.658216,"msg":"using provided configuration","config_file":"/etc/caddy/Ca> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6623824,"logger":"admin","msg":"admin endpoint started","address":"tcp/l> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6626618,"logger":"http","msg":"server is listening only on the HTTP port> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.663054,"msg":"autosaved config (load with --resume flag)","file":"/var/l> Oct 16 14:34:44 debian11 systemd[1]: Started Caddy. Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6655433,"msg":"serving initial configuration"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6656897,"logger":"tls","msg":"cleaning storage unit","description":"File> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6657932,"logger":"tls","msg":"finished cleaning storage units"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6694443,"logger":"tls.cache.maintenance","msg":"started background certi>
Abilita supporto PHP in Caddy
Innanzitutto, installa PHP e altre estensioni necessarie utilizzando il seguente comando:
apt-get install php-fpm php-mysql php-curl php-gd php-mbstring php-common php-xml php-xmlrpc -y
Dopo aver installato PHP, modifica il file di configurazione PHP-FPM e cambia l'utente predefinito e il gruppo con caddy:
nano /etc/php/7.4/fpm/pool.d/www.conf
Trova e sostituisci nome utente e gruppo da www-data a caddy:
user = caddy group = caddy listen.owner = caddy listen.group = caddy
Salva e chiudi il file, quindi riavvia il servizio PHP-FPM per applicare le modifiche:
systemctl restart php7.4-fpm
Crea file di configurazione host virtuale Caddy
Il file di configurazione dell'host virtuale predefinito di Caddy si trova in /etc/caddy/Caddyfile .
Modifica il /etc/caddy/Caddyfile file con il seguente comando:
nano /etc/caddy/Caddyfile
Rimuovi tutte le righe e aggiungi le seguenti righe:
caddy.example.com:80 { root * /usr/share/caddy/ encode gzip zstd php_fastcgi unix//run/php/php7.4-fpm.sock }
Salva e chiudi il file, quindi riavvia il servizio Caddy per applicare le modifiche:
systemctl restart caddy
Quindi, crea un file PHP di esempio per Caddy usando il seguente comando:
nano /usr/share/caddy/info.php
Aggiungi le seguenti righe:
<?php phpinfo(); ?>
Salva e chiudi il file quando hai finito.
Accedi al sito web di Caddy
Ora apri il tuo browser web e accedi al sito web di Caddy utilizzando l'URL http://caddy.example.com/info.php . Dovresti vedere la pagina PHP nella schermata seguente:
Conclusione
Congratulazioni! hai installato con successo il server web Caddy su Debian 11. Ora puoi utilizzare il tuo sito web usando il server web Caddy. Sentiti libero di chiedermi se hai domande.