Ricerca nel sito web

Installazione di Caddy e PHP 8 su Rocky Linux 9/AlmaLinux 9


Questa guida passo passo mostra come installare Caddy con supporto PHP 8 su Rocky Linux 9/AlmaLinux 9 e ottenere un certificato SSL gratuito.

Caddy è un server Web gratuito, incentrato sulla sicurezza, abilitato per HTTP/2, scritto in Go, progettato per essere semplice, efficiente e portatile. Offre funzionalità moderne come il supporto dell'host virtuale, la funzionalità proxy inverso e così via. Inoltre, Caddy è il primo server web a ottenere e rinnovare automaticamente i certificati SSL/TLS utilizzando Let's Encrypt.

La popolarità di Caddy è salita alle stelle negli ultimi anni grazie alla sua facilità d’uso, velocità e supporto SSL nativo. Pertanto, sta rapidamente diventando il server Web preferito da molti sviluppatori e amministratori di sistema.

Se non hai esperienza con la configurazione e la gestione di Caddy, questo processo può sembrare scoraggiante, ma non preoccuparti: lo abbiamo reso semplice per te. Seguendo i passaggi di questa guida, sarai in grado di far funzionare rapidamente e facilmente il tuo server Caddy con il supporto PHP 8 su Rocky Linux 9 o AlmaLinux 9 per semplificare la configurazione del tuo sito web. Quindi, mettiamoci al lavoro.

Prerequisiti

Avrai bisogno dell'accesso a un server Rocky Linux 9 o AlmaLinux 9 per completare questa guida. Inoltre, tutti i comandi mostrati vengono eseguiti da un utente normale con autorizzazioni di esecuzione sudo. Pertanto, dovresti possederne uno.

Ovviamente puoi saltare la parte sudo dei comandi ed eseguirli direttamente come utente root. Il risultato sarà lo stesso in entrambi i casi.

Inoltre, se utilizzi un firewall sul server, assicurati che non blocchi le porte 80 e 443.

sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload

Se sei preoccupato di come gestire firewalld, la nostra guida completa ti tornerà utile.

Passaggio 1: abilitare l'archivio COPR

Il server Web Caddy non è disponibile nei repository Rocky o Alma predefiniti. Tuttavia, può essere installato tramite il repository COPR (Cool Other Package Repo). Quindi, aggiungiamolo prima.

sudo dnf install 'dnf-command(copr)'

Quindi abilitalo rispondendo "Y" dopo aver eseguito il seguente comando:

sudo dnf copr enable @caddy/caddy

Passaggio 2: Installa Caddy Web Server su Rocky Linux 9/AlmaLinux 9

Installa il server web Caddy:

sudo dnf install caddy

Durante l'installazione ti verrà richiesto di accettare la chiave GPG del repository COPR. Rispondi "Y" e premi "Invio".

Passaggio 3: attiva e avvia il servizio Caddy

Una volta installato il Caddy, abilita l'avvio automatico e avvia il servizio.

sudo systemctl enable caddy
sudo systemctl start caddy

Puoi verificare lo stato del servizio Caddy eseguendo quanto segue:

sudo systemctl status caddy

Il risultato dovrebbe essere quello mostrato di seguito.

Ora, punta il tuo browser sul dominio che Caddy servirà e la pagina web predefinita di Caddy ti darà il benvenuto. Per questa guida utilizzeremo il sottodominio creato temporaneamente "caddy.tmplinux.com ". Ovviamente sostituitelo con quello adatto al vostro caso.

Verrai accolto dalla pagina predefinita del server web Caddy.

Come puoi vedere, Caddy è attivo e funzionante e funziona come previsto. Nei passaggi seguenti aggiungeremo il supporto PHP, creeremo un host virtuale per il nostro dominio e otterremo automaticamente un certificato SSL Let's Encrypt gratuito.

Passaggio 4: installa PHP 8 su Rocky Linux 9/AlmaLinux 9

Per aggiungere il supporto PHP al server web Caddy, devi installare e utilizzare PHP-FPM per eseguire file PHP. Quindi, per installarlo insieme ad alcuni moduli PHP più utilizzati, digita il comando seguente e, quando richiesto, inserisci "Y" per confermare.

sudo dnf install php-fpm php-mysqlnd php-gd php-cli php-curl php-mbstring php-bcmath php-zip php-opcache php-xml php-json php-intl

Quindi, apri il file “/etc/php-fpm.d/www.conf”:

sudo vim /etc/php-fpm.d/www.conf

Trova e modifica le tre righe seguenti:

user = apache
group = apache
listen.acl_users = apache,nginx

A questo:

user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy

Il risultato finale dovrebbe assomigliare a questo:

Infine, salva ed esci dal file, quindi abilita l'avvio del servizio PHP-FPM all'avvio del sistema e avvialo:

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

Passaggio 5: configura Caddy per utilizzare PHP e SSL

Prima di procedere, crea la directory in cui verranno ospitati i file del tuo sito web. In altre parole, quello a cui indicherai Caddy per la directory principale del tuo sito web. Ad esempio, "/srv/www/caddy. "

sudo mkdir -p /srv/www/caddy

Se stai utilizzando SELinux, devi modificare il contesto di sicurezza dei file per questa directory.

sudo chcon -t httpd_sys_content_t /srv/www/caddy -R
sudo chcon -t httpd_sys_rw_content_t /srv/www/caddy -R

Siamo arrivati alla parte più divertente del processo, quella in cui il server web Caddy brilla in tutto il suo splendore: la configurazione. Gli amministratori di sistema abituati alle complessità delle configurazioni Apache o Nginx ne rimarranno affascinati. Inoltre, è notevole la facilità con cui puoi configurare Caddy con il supporto PHP e l'emissione automatica del certificato SSL sul tuo sistema Rocky Linux 9 o AlmaLinux 9.

Apri il file di configurazione di Caddy, "Caddyfile", utilizzando il tuo editor di testo preferito, rimuovi tutte le righe e aggiungi quelle seguenti. Non preoccuparti se hai bisogno di aiuto per capire a cosa servono. Spiegherò più dettagliatamente di seguito.

sudo vim /etc/caddy/Caddyfile
caddy.tmplinux.com {
        root * /srv/www/caddy
        tls [email 
        encode gzip zstd
        php_fastcgi unix//run/php-fpm/www.sock
}

Il risultato finale dovrebbe assomigliare a questo:

  • caddy.tmplinux.com: il nome di dominio che servirà il server web Caddy. Sostituiscilo con quello che usi.
  • root * /srv/www/caddy: il percorso completo della directory root contenente i file del tuo sito web.
  • tls [email : indica a Caddy di emettere automaticamente un certificato SSL Let's Encrypt gratuito e viene specificato l'indirizzo e-mail a cui verranno inviate le notifiche destinate al proprietario.
  • encode gzip zstd: specifica l'uso della compressione per prestazioni veloci.
  • php_fastcgi unix//run/php-fpm/www.sock: il percorso del file socket in cui è in ascolto il servizio PHP-FPM.

Tutto è pronto. Salvare il file ed uscire. Non resta che riavviare il servizio Caddy per applicare le nuove impostazioni di configurazione.

sudo systemctl restart caddy

Passaggio 6: verifica il supporto PHP e SSL di Caddy

Hai completato l'installazione di Caddy con supporto PHP e SSL su Rocky Linux 9/AlmaLinux 9. Quindi, creiamo un file PHP di prova per verificare che PHP-FPM funzioni e sia integrato con successo con Caddy.

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/caddy/index.php

Alla fine sei arrivato alla parte più divertente del processo: goderti i risultati dei tuoi sforzi. Quindi, carichiamo l'indirizzo del dominio in un browser, nel nostro caso, "caddy.tmplinux.com. "

Buon lavoro! Come puoi vedere, viene visualizzata una pagina Web con le informazioni complete sull'installazione di PHP. Caddy ha inoltre emesso automaticamente un certificato SSL per il dominio, rendendo sicura la comunicazione al sito web. Ma quanto è sicura la combinazione tra Caddy e il certificato Let’s Encrypt? Controlliamolo presso Qualys SSL Labs. Sì, il punteggio massimo possibile!

Infine vorrei fare una doverosa precisazione. Caddy non può emettere un certificato SSL se il tuo server si trova dietro un servizio proxy fornito da Cloudflare, DigitalOcean o servizi simili a causa delle specificità del modo in cui il traffico viene proxy.

In altre parole, Caddy deve essere precompilato con alcuni moduli aggiuntivi per utilizzare questa funzionalità. La procedura è semplice, ma poiché non rientra nell'ambito di questo articolo, verrà descritta in dettaglio in un articolo separato.

Conclusione

Questa guida ti ha mostrato come installare il server web Caddy con PHP 8 e supporto SSL su Rocky Linux 9 o AlmaLinux 9, in modo che le app web basate su PHP possano essere eseguite sul tuo server. Lo strumento certbot è un'altra opzione per ottenere un certificato SSL Let's Encrypt gratuito. La nostra guida pratica ti mostrerà come.

Caddy viene fornito con un forte supporto SSL incorporato direttamente nel suo core. Inoltre, emette automaticamente certificati SSL e configura in modo sicuro la configurazione SSL. Pertanto, controlla il sito web e la documentazione del progetto per ulteriori informazioni approfondite su Caddy.

Nel complesso, Caddy è un'alternativa affidabile a Nginx. Installarlo con il supporto PHP 8 su Rocky o Alma e ottenere un certificato SSL Let's Encrypt è semplice ed efficiente, rendendolo una scelta eccellente per coloro che desiderano configurare un server Web veloce, sicuro e affidabile sul proprio sistema Linux aziendale.

Articoli correlati: