Caddy web server è un nuovo web server scritto in Go, che pare essere molto veloce e che con varie estensioni / plugin.
Inoltre è multi-piattaforma; io ho deciso di installarlo e testarlo su Debian per vedere di che si tratta.
Può essere usato sia come web server che come proxy server; e ha HTTPS attivato di default.
Detto ciò, vediamo come installarlo.
Questi i comandi per scaricare l'eseguibile (al momento non è nei repo) e lanciare l'installer:
$ wget https://getcaddy.com -O getcaddy
$ chmod +x getcaddy
# ./getcaddy personal http.ipfilter,http.ratelimit
Qui indichiamo il tipo di licenza personal, e aggiungiamo due plugins.
Adesso procediamo con la confgurazione di base; il primo step è aggiungere un utente apposito:
# useradd -M -s /bin/false caddy
Poi aggiungiamo alcune cartelle (se non presenti) e impostiamo i permessi:
# mkdir -p /etc/caddy
# mkdir -p /var/log/caddy
# mkdir -p /var/www/html
# chown -R caddy:root /etc/caddy /var/log/caddy
Create un file di configurazione dentro /etc/caddy e copiateci dentro questo:
http://www.sito.it {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls on
gzip
}
L'opzione tls deve essere attivata a seconda di dove state eseguendo il server:
- su off in caso di server locale
- su on in caso di server di produzione
Al momento abbiamo installato tutto, ma dobbiamo farlo partire manualmente; la cosa migliore è creare un servizio.
Create il file /etc/systemd/system/caddy.service e metteteci questo dentro:
[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/config -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
Dove /etc/caddy/config è il file di configurazione creato prima.
Adesso possiamo avviare il server:
# systemctl daemon-reload
# systemctl start caddy
# systemctl enable caddy
Ci rimane da cambiare i permessi alla root del web server:
# chown -R caddy:caddy /var/www/html
E provare a caricare un file; crate un file HTML dentro la root e provate ad aprire il browser in http://www.sito.it.
Prossimamente vedremo come configurare anche PHP.
Enjoy!
Commentami!