Come installare Caddy Web Server su Linux

Oggigiorno, HTTPS è fondamentale quando si ospita un sito web. Senza di esso, i tuoi utenti potrebbero far trapelare dati molto personali dal tuo sito web nel mondo. Per risolvere questo problema, molti webmaster Linux hanno iniziato a utilizzare gli strumenti LetsEncrypt, poiché semplificano la generazione di un certificato. Tuttavia, per quanto facile sia LetsEncrpyt, abilitarlo su Nginx o Apache su Linux può ancora essere un po ‘un lavoro ingrato. Fortunatamente, c’è un modo migliore. Presentazione del server web Caddy. È un server web che ha HTTPS abilitato per impostazione predefinita. Se sei stufo di preoccuparti dei certificati SSL, Caddy potrebbe essere proprio ciò di cui hai bisogno.

Installazione di Caddy

L’installazione del server web Caddy funziona più o meno allo stesso modo, indipendentemente dal sistema operativo del server che stai utilizzando. Il motivo per cui Caddy è così facile da installare è che lo sviluppatore ha scelto di utilizzare uno script Bash scaricabile per installare il software, piuttosto che aggiungere repository di software di terze parti o installare tramite binari.

In questo tutorial, utilizzeremo Ubuntu Server, sebbene l’esecuzione del Caddy web Server funzionerà perfettamente anche sulla maggior parte degli altri sistemi operativi Linux, anche desktop. Per iniziare, assicurati di avere l’app Curl sul tuo PC Linux. Se non lo fai, apri un terminale, cerca nel tuo gestore di pacchetti “curl” e installalo.

Nota: determina se hai già curl eseguendo curl nel terminale. Se viene visualizzata la finestra di dialogo “aiuto” per il programma, hai Curl sulla tua macchina Linux.

curl https://getcaddy.com | bash -s personal

Il server web Caddy può essere utilizzato gratuitamente per uso personale, ma è necessario specificarlo. Stai pianificando di utilizzare Caddy in un contesto aziendale? Esegui il comando di installazione con:

curl https://getcaddy.com | bash -s commercial

L’esecuzione di Curl lo condurrà attraverso Bash e avvierà automaticamente il processo di installazione. Il programma di installazione Caddy impiegherà del tempo per scaricare il binario del server web e inserirlo nella directory / usr / local / bin /. Se l’installazione ha successo, vedrai un messaggio che dice “Installazione riuscita”.

A questo punto, dovrai modificare il binario Caddy. Esegui il seguente comando nel terminale, con i privilegi sudo.

sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy

Configurazione di Caddy

Caddy è installato sul server. Il passaggio successivo del processo consiste nel configurare la struttura della directory. Inizia ottenendo un terminale root. In questo modo la modifica delle cartelle nel file system sarà molto più veloce, poiché non sarà necessario immettere sudo per ogni comando, seguito da una password.

Sulla maggior parte dei sistemi, gli utenti possono accedere direttamente all’account root con:

su

Sul server Ubuntu, tuttavia, l’account root è bloccato per motivi di sicurezza. Per aggirare questo problema, ottieni una shell di root con sudo.

sudo -s

Ora che abbiamo accesso root, crea le directory necessarie affinché il server Caddy funzioni correttamente.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Nota: se il tuo server ha già una directory / var / www /, salta l’ultimo comando mkdir.

mkdir /var/www

Successivamente, crea un nuovo “Caddyfile” all’interno di / etc / caddy /.

touch /etc/caddy/Caddyfile

Utilizzando il comando chmod, aggiorna i permessi per la sottocartella Caddy all’interno di / etc / ssl /.

chmod 0770 /etc/ssl/caddy

Infine, chown la directory / var / www /:

chown www-data: /var/www

File Caddy Systemd

La maggior parte dei server, in particolare il server Ubuntu, fa un uso massiccio del sistema di init systemd. Tuttavia, poiché il server Web viene installato tramite lo script Bash, non è presente un file systemd. Invece, dovremo crearne uno nostro. Utilizzare il comando touch per creare un nuovo file di servizio vuoto.

touch /lib/systemd/system/caddy.service

Apri il nuovo file caddy.service e incolla il codice seguente:

[Unit]
Descrizione = server web Caddy HTTP / 2
Documentazione = https: //caddyserver.com/docs
Dopo = network-online.target
Vuole = network-online.target

[Service]
Restart = in caso di guasto
StartLimitInterval = 86400
StartLimitBurst = 5

Utente = www-data
Gruppo = www-data
; I certificati emessi da Letsencrypt verranno scritti in questa directory.
Ambiente = CADDYPATH = / etc / ssl / caddy

ExecStart = / usr / local / bin / caddy -log stdout -agree = true -conf = / etc / caddy / Caddyfile -root = / var / tmp
ExecReload = / bin / kill -USR1 $ MAINPID

LimitNOFILE = 1048576
LimitNPROC = 64

PrivateTmp = true
PrivateDevices = true
ProtectHome = true
ProtectSystem = full
ReadWriteDirectories = / etc / ssl / caddy

; Le seguenti direttive di sicurezza aggiuntive funzionano solo con systemd v229 o successivo.
; Ritirano ulteriormente i privilegi che possono essere acquisiti da caddy. Rimuovi il commento se vuoi.
; Tieni presente che potresti dover aggiungere le funzionalità richieste da qualsiasi plugin in uso.
; CapabilityBoundingSet = CAP_NET_BIND_SERVICE
; AmbientCapabilities = CAP_NET_BIND_SERVICE
; NoNewPrivileges = true

[Install]
WantedBy = multi-user.target

C’è molto codice per il file caddy.service, quindi fai del tuo meglio per assicurarti che sia tutto lì. Quando sei sicuro, salva le modifiche premendo la combinazione di tasti Ctrl + X. Esci dall’editor con Ctrl + X.

systemctl enable caddy.service

systemctl start caddy.service

Dopo aver configurato systemd, tutto dovrebbe essere pronto.

Configurazione dei domini

Caddy, come qualsiasi altro server web, necessita di un po ‘di configurazione prima di utilizzarlo. Inizia creando una cartella di dominio:

Nota: assicurati di rinominare “test-domain.org” con il tuo dominio.

mkdir -p /var/www/test-domain.org/

Successivamente, modifica il file Caddyfile che abbiamo creato in precedenza.

nano /etc/caddy/Caddyfile

Incolla il seguente codice per attivare il tuo nuovo dominio:

mio-dominio.com {
root /var/www/test-domain.org
}

Riavviare il servizio Caddy systemd per salvare le modifiche. Quando il servizio termina il riavvio, Caddy è pronto per essere utilizzato sul tuo server.

systemctl restart caddy.service