Il server web Caddy o Caddy è un server web abilitato HTTP/2 open source scritto in Go. Caddy può essere eseguito su vari sistemi, inclusi quelli che eseguono sistemi operativi Linux, Windows, Mac OS, Android e BSD. Caddy ha molte funzionalità e può essere installato come server Web e come proxy inverso per la tua applicazione. Le funzionalità più importanti del server Web Caddy sono HTTPS automatico abilitato per impostazione predefinita senza alcuna configurazione aggiuntiva.
In questo tutorial, ti mostrerò passo dopo passo come installare e configurare il server web Caddy con PHP-FPM 7.x su Ubuntu 16.04. Installeremo il caddy nell'ambiente locale, quindi configureremo PHP-FPM per le applicazioni basate su PHP.
Prerequisiti
- Server Ubuntu 16.04
- Privilegi di root
Cosa faremo
- Installa il server web Caddy
- Configura il server web Caddy
- Eseguire Caddy come servizio su Systemd Ubuntu 16.04
- Installa PHP e PHP-FPM 7.0
- Configura il server web Caddy con PHP-FPM
- Test
Passaggio 1 - Installa il server web Caddy
In questo passaggio, installeremo il server web Caddy utilizzando lo script di installazione. Lo script scaricherà automaticamente il file binario e lo estrarrà nella directory bin.
Scarica lo script di installazione e rendilo eseguibile.
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
Ora esegui lo script di installazione con sudo.
sudo ./getcaddy personal http.ipfilter,http.ratelimit
Nota:
- getcaddy =script di installazione del caddy.
- personale =licenza per la nostra installazione.
- http.ipfilter... =includi l'installazione dei plugin del caddy.
Attendi l'installazione del server web caddy e otterrai il risultato come di seguito.
Il server web Caddy è stato installato su Ubuntu 16.04.
Fase 2 - Configurazione di base del server web Caddy
In questo passaggio, configureremo il server web Caddy. Creeremo un nuovo utente chiamato 'caddy', creeremo una nuova directory per il file di configurazione del caddy, una nuova directory per i file di registro del caddy e una nuova directory per la directory principale del web del caddy.
Crea un nuovo utente "caddy" utilizzando l'opzione "/bin/false" come mostrato di seguito.
useradd -M -s /bin/false caddy
Ora esegui i seguenti comandi mkdir per creare la directory caddy.
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
E cambia la proprietà all'utente caddy.
chown -R caddy:root /etc/caddy /var/log/caddy
Successivamente, creeremo un nuovo file di configurazione del caddy denominato 'Caddyfile'. Vai alla directory '/etc/caddy' e crea la configurazione con il comando vim.
cd /etc/caddy/
vim Caddyfile
Incolla lì la configurazione di base del caddy.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
Salva ed esci.
Nota:
- tls off =stiamo eseguendo caddy sul server locale, se sei sul server live, abilita l'opzione.
La configurazione di base per il server web Caddy è stata completata.
Passaggio 3 - Esecuzione di Caddy come servizio su Systemd Ubuntu 16.04
In questo passaggio, eseguiremo il server web caddy come servizio sul sistema systemd e creeremo il file index.html per il nostro server web caddy.
Crea un nuovo file di servizio chiamato 'caddy.service' usando vim.
vim /etc/systemd/system/caddy.service
Incolla lì la seguente configurazione.
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
Salva ed esci.
Ora ricarica il sistema systemd e avvia il servizio caddy usando il comando systemctl come mostrato di seguito.
systemctl daemon-reload
systemctl start caddy
Abilitalo per l'avvio ogni volta all'avvio del sistema.
systemctl enable caddy
Il server web Caddy è ora in esecuzione come servizio su Ubuntu 16.04.
Successivamente, creeremo un nuovo file index.html nella directory principale web '/var/www/html'.
Vai a quella directory e crea il file index.html usando i comandi seguenti.
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
Ora cambia il proprietario del file nell'utente e nel gruppo "caddy".
chown -R caddy:caddy /var/www/html
Il file index.html è stato creato. Apri il browser web e digita l'indirizzo del nome di dominio che hai digitato nella configurazione 'Caddyfile', il mio è:
http://hakase-labs.co/
E otterrai la pagina indice che abbiamo creato.
Fase 4 - Installa PHP e PHP-FPM 7.0
In questo passaggio, installeremo i pacchetti PHP-FPM dal repository di Ubuntu.
Esegui il comando apt di seguito.
sudo apt install -y php7.0-fpm php7.0-cli curl
Al termine dell'installazione, configureremo il file di configurazione per PHP-FPM.
Vai alla directory '/etc/php/7.0/fpm' e modifica il file di configurazione del pool 'www'conf' usando vim.
cd /etc/php/7.0/fpm
vim pool.d/www.conf
Decommenta le righe sotto.
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
Salva ed esci.
Ora aggiungi l'utente "caddy" al gruppo "www-data".
usermod -a -G www-data caddy
Avvia il servizio PHP-FPM e abilitalo all'avvio ogni volta all'avvio del sistema.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
L'installazione e la configurazione di PHP-FPM per il nostro server web Caddy sono state completate.
Controlla il processo del file socket PHP-FPM usando il comando netstat di seguito.
netstat -pl | grep php
Passaggio 5 - Configura il server web Caddy con PHP-FPM
Dopo l'installazione e la configurazione di PHP-FPM, aggiungeremo il supporto per PHP-FPM al server web Caddy.
Vai alla directory di configurazione '/etc/caddy' e modifica il file di configurazione 'Caddyfile' usando vim.
cd /etc/caddy
vim Caddyfile
Ora aggiungi la seguente configurazione PHP-FPM per caddy sotto la parentesi del tuo nome di dominio come di seguito.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
Salva ed esci.
Riavvia il server web caddy e il servizio PHP-FPM.
systemctl restart caddy
systemctl restart php7.0-fpm
La configurazione del server web Caddy con PHP-FPM è stata completata.
Fase 6 - Test
Vai alla directory principale web '/var/ww/html' e crea il file phpinfo 'info.php'.
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
Apri il tuo browser web e digita l'URL di installazione del server web Caddy come di seguito.
http://hakase-labs.co/info.php
E otterrai la pagina delle informazioni PHP come mostrato di seguito.
L'installazione del server web Caddy con PHP-FPM su Ubuntu 16.04 è stata completata con successo.