GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare e configurare Caddy Web Server con PHP su Rocky Linux 8

Caddy è un server web gratuito, open source, leggero e moderno scritto nel linguaggio Go. È possibile utilizzare Caddy come file server, server dinamico e proxy inverso scalabile. È possibile estendere la funzionalità del server tramite plug-in. Caddy è dotato di un'ampia gamma di funzioni, alcune delle quali sono elencate di seguito:

  • Hosting virtuale
  • HTTPS automatico tramite Let's Encrypt
  • Supporta HTTP/2
  • Estendibile con i plugin
  • Esegui senza dipendenze esterne

In questo post, ti mostreremo come installare il server web Caddy con supporto PHP su Rocky Linux 8.

Prerequisiti

  • Un server che esegue Rocky Linux 8 sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Rocky Linux 8 come sistema operativo con almeno 2 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Una volta effettuato l'accesso al server, eseguire il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.

dnf update -y

Passaggio 2:installazione del server Web Caddy

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy

Una volta abilitato il repository, puoi installare il server web Caddy con il seguente comando:

dnf install caddy -y

Una volta installato il Caddy, verifica la versione del Caddy utilizzando il seguente comando:

caddy version

Esempio di output:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

Quindi, avvia il servizio Caddy e abilitalo per l'avvio al riavvio del sistema:

systemctl start caddy
systemctl enable caddy

Ora apri il tuo browser web e accedi al server web Caddy utilizzando l'URL http://your-server-ip . Dovresti vedere la pagina del test di Caddy nella schermata seguente:

Fase 3:crea un nuovo sito su Caddy

Innanzitutto, crea una struttura di directory per il nuovo sito Web utilizzando il seguente comando:

mkdir -p /var/www/example.com
mkdir /var/log/caddy

Quindi, imposta la proprietà corretta sul nuovo sito web:

chown caddy:caddy /var/www/example.com
chown caddy:caddy /var/log/caddy

Quindi, crea una pagina index.html per il nuovo sito web:

nano /var/www/example.com/index.html

Aggiungi le seguenti righe:

<!DOCTYPE html>
<html>
<head>
<title>Caddy Web Server</title>
</head>
<body>
<h1>This is my first web page on Caddy!</h1>
</body>
</html>

Salva e chiudi il file quando hai finito.

Fase 4:crea un file di configurazione dell'host virtuale

Successivamente, dovrai modificare il file di configurazione di Caddy per ospitare il nuovo sito Web. Puoi modificarlo con il seguente comando:

nano /etc/caddy/Caddyfile

Rimuovi tutte le righe e aggiungi le seguenti righe:

test.example.com:80 {
        root * /var/www/example.com
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Salva e chiudi il file quando hai finito. Quindi, convalida il file di configurazione di Caddy:

caddy validate --adapter caddyfile --config /etc/caddy/Caddyfile

Dovresti vedere il seguente output:

2021/11/17 09:59:04.997	INFO	using provided configuration	{"config_file": "/etc/caddy/Caddyfile", "config_adapter": "caddyfile"}
2021/11/17 09:59:05.000	WARN	input is not formatted with 'caddy fmt'	{"adapter": "caddyfile", "file": "/etc/caddy/Caddyfile", "line": 27}
2021/11/17 09:59:05.000	INFO	http	server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS	{"server_name": "srv0", "https_port": 443}
2021/11/17 09:59:05.001	INFO	http	enabling automatic HTTP->HTTPS redirects	{"server_name": "srv0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	started background certificate maintenance	{"cache": "0xc00057a8c0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	stopped background certificate maintenance	{"cache": "0xc00057a8c0"}
Valid configuration

Quindi, riavvia il servizio Caddy per applicare le modifiche:

systemctl restart caddy

Puoi anche controllare il servizio Caddy usando il seguente comando:

systemctl status caddy

Otterrai il seguente output:

● caddy.service - Caddy
   Loaded: loaded (/usr/lib/systemd/system/caddy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 10:00:23 UTC; 4s ago
     Docs: https://caddyserver.com/docs/
 Main PID: 20077 (caddy)
    Tasks: 6 (limit: 11411)
   Memory: 24.9M
   CGroup: /system.slice/caddy.service
           └─20077 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Nov 17 10:00:23 rockylinux systemd[1]: Started Caddy.
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054335,"logger":"tls.cache.maintenance","msg":"started background c>
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054764,"logger":"tls","msg":"cleaning storage unit","description":">
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8055048,"logger":"tls","msg":"finished cleaning storage units"}
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8060036,"logger":"tls.obtain","msg":"lock acquired","identifier":"ex>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"error","ts":1637143224.0880945,"logger":"tls.obtain","msg":"could not get certificate from>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"info","ts":1637143224.4512274,"logger":"tls.issuance.zerossl","msg":"generated EAB credent>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.7558215,"logger":"tls.issuance.acme","msg":"waiting on internal rate>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.755876,"logger":"tls.issuance.acme","msg":"done waiting on internal >
Nov 17 10:00:27 rockylinux caddy[20077]: {"level":"info","ts":1637143227.8956456,"logger":"tls.issuance.acme.acme_client","msg":"trying to so

Ora apri il tuo browser web e accedi al sito web di Caddy utilizzando l'URL http://test.example.com . Dovresti vedere il tuo sito web nella schermata seguente:

Passaggio 5:abilitare il supporto PHP su Caddy Web Server

Innanzitutto, dovrai installare PHP e altre estensioni richieste sul tuo server. Puoi installarli tutti con il seguente comando:

dnf install php-fpm php-cli php-gd -y

Una volta installati tutti i pacchetti, modifica il file di configurazione di Caddy:

nano /etc/caddy/Caddyfile

Definisci la posizione di php_fastcgi come mostrato di seguito:

test.example.com:80 {
        root * /var/www/example.com
	php_fastcgi unix//run/php-fpm/www.sock
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Salva e chiudi il file, quindi modifica il file PHP-FPM:

nano /etc/php-fpm.d/www.conf

Modifica le seguenti righe:

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

Salva e chiudi il file, quindi avvia il servizio PHP-FPM e abilitalo all'avvio al riavvio del sistema:

systemctl start php-fpm
systemctl enable php-fpm

Quindi, crea una pagina info.php di esempio:

nano /var/www/example.com/info.php

Aggiungi la seguente riga:

<?php phpinfo();
?>

Salva e chiudi il file, quindi apri il browser web e accedi alla pagina info.php utilizzando l'URL http://test.example.com/info.php . Otterrai la seguente pagina:

Conclusione

Nella guida sopra, abbiamo spiegato come installare Caddy con PHP su Rocky Linux 8. Caddy è un'ottima alternativa ad Apache e Nginx. Dovresti provarlo nell'ambiente di produzione:inizia sul tuo server privato virtuale da Atlantic.Net!


Linux
  1. Come installare e configurare Arch Linux come server

  2. Come installare e configurare Caddy Web Server con PHP e MariaDB su Ubuntu 20.04

  3. Come installare e configurare Squid Proxy su Rocky Linux/Alma Linux 8

  4. Come installare e configurare Elasticsearch su Rocky Linux 8

  5. Come installare e configurare server e client NTP Linux

Come installare il server Web OpenLiteSpeed ​​con MariaDB e PHP

Come installare e configurare il server Web Apache su Oracle Linux 8

Come installare e configurare il server Web Nginx su Oracle Linux 8

Come installare e configurare Django su VPS Linux e Server Dedicato?

Come installare e configurare Memcached con Apache e PHP

Come installare e configurare il server DNS in Linux