Ricerca nel sito web

Come installare Caddy Web Server su Debian 11


Su questa pagina

  1. Prerequisiti
  2. Installa Caddy su Debian 11
  3. Gestisci servizio Caddy
  4. Abilita il supporto PHP in Caddy
  5. Crea il file di configurazione dell'host virtuale Caddy
  6. Accedi al sito web di Caddy
  7. Conclusione

Caddy è un server web gratuito, open source e moderno scritto in linguaggio GO. È un server web leggero e commercialmente supportato che supporta i protocolli HTTP/2 e sperimentali HTTP/3. Può essere eseguito ovunque senza dipendenze esterne ed è espanso tramite plug-in. È progettato pensando alla sicurezza e fornisce una serie di funzionalità 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 indicato con l'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

Successivamente, 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

Successivamente, aggiorna il repository e installa il server web Caddy eseguendo il seguente comando:

apt-get update
apt-get install caddy -y

Una volta installato il Caddy, verificare 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, eseguire il seguente comando:

setcap 'cap_net_bind_service=+ep' /usr/bin/caddy

Gestisci il servizio Caddy

Puoi gestire il servizio Caddy usando il systemd.

Per avviare il servizio Caddy, esegui il seguente comando:

systemctl start caddy

Per arrestare il servizio Caddy, esegui il seguente comando:

systemctl stop caddy

Per abilitare l'avvio del servizio Caddy al riavvio del sistema, eseguire il seguente comando:

systemctl enable caddy

Per verificare lo stato del servizio Caddy, esegui il seguente comando:

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 il 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 modifica l'utente e il gruppo predefiniti con caddy:

nano /etc/php/7.4/fpm/pool.d/www.conf

Trova e sostituisci il nome dell'utente e del 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 il file di configurazione dell'host virtuale Caddy

Il file di configurazione dell'host virtuale predefinito di Caddy si trova in /etc/caddy/Caddyfile.

Modifica il file /etc/caddy/Caddyfile 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

Successivamente, crea un file PHP di esempio per Caddy utilizzando 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 creare il tuo sito web usando il server web Caddy. Non esitate a chiedermi se avete domande.