Hvordan installere og konfigurere Caddy på CentOS 7

Introduksjon

Caddy er et fremvoksende webserverprogram med innebygd støtte for HTTP/2 og automatisk HTTPS. Med brukervennlighet og sikkerhet i tankene, kan Caddy brukes til raskt å distribuere et HTTPS-aktivert nettsted med en enkelt konfigurasjonsfil.

Forutsetninger

Trinn 1: Installer den siste stabile versjonen av Caddy

På et Linux-, Mac- eller BSD-operativsystem, bruk følgende kommando for å installere den siste stabile systemspesifikke versjonen av Caddy:

curl https://getcaddy.com | bash

Når du blir bedt om det, skriv inn sudo-passordet ditt for å fullføre installasjonen.

Caddy binær vil bli installert i /usr/local/binkatalogen. Bruk følgende kommando for å bekrefte:

which caddy

Utgangen skal være:

/usr/local/bin/caddy

Av sikkerhetsmessige grunner må du ALDRI kjøre Caddy binær som root. For å gi Caddy muligheten til å binde seg til privilegerte porter (f.eks. 80, 443) som en ikke-rootbruker, må du kjøre setcapkommandoen som følger:

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

Trinn 2: Konfigurer Caddy

Opprett en dedikert systembruker: caddy og en gruppe med samme navn for Caddy:

sudo useradd -r -d /var/www -M -s /sbin/nologin caddy

Merk : Brukeren som er caddyopprettet her kan kun brukes til å administrere Caddy-tjenesten og kan ikke brukes til pålogging.

Opprett hjemmekatalogen /var/wwwfor Caddy-nettserveren og hjemmekatalogen /var/www/example.comfor nettstedet ditt:

sudo mkdir -p /var/www/example.com
sudo chown -R caddy:caddy /var/www

Opprett en katalog for å lagre SSL-sertifikater:

sudo mkdir /etc/ssl/caddy
sudo chown -R caddy:root /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

Opprett en dedikert katalog for å lagre Caddy-konfigurasjonsfilen Caddyfile:

sudo mkdir /etc/caddy
sudo chown -R root:caddy /etc/caddy

Opprett Caddy-konfigurasjonsfilen med navnet Caddyfile:

sudo touch /etc/caddy/Caddyfile
sudo chown caddy:caddy /etc/caddy/Caddyfile
sudo chmod 444 /etc/caddy/Caddyfile
cat <<EOF | sudo tee -a /etc/caddy/Caddyfile
example.com {
    root /var/www/example.com
    gzip
    tls admin@example.com
}
EOF

Merk : Den Caddyfilefilen opprettet ovenfor er bare en grunnleggende konfigurasjon for å kjøre en statisk nettside. Du kan lære mer om hvordan du skriver en Caddyfile her .

For å lette driften av Caddy, kan du sette opp en systemdenhetsfil for Caddy og deretter bruke systemdtil å administrere Caddy.

Bruk vieditoren til å lage Caddy- systemdenhetsfilen:

sudo vi /etc/systemd/system/caddy.service

Fyll ut filen:

[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Restart=on-abnormal

; User and group the process will run as.
User=caddy
Group=caddy

; Letsencrypt-issued certificates will be written to this directory.
Environment=CADDYPATH=/etc/ssl/caddy

; Always set "-root" to something safe in case it gets forgotten in the Caddyfile.
ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

; Use graceful shutdown with a reasonable timeout
KillMode=mixed
KillSignal=SIGQUIT
TimeoutStopSec=5s

; Limit the number of file descriptors; see `man systemd.exec` for more limit settings.
LimitNOFILE=1048576
; Unmodified caddy is not expected to use more than that.
LimitNPROC=512

; Use private /tmp and /var/tmp, which are discarded after caddy stops.
PrivateTmp=true
; Use a minimal /dev
PrivateDevices=true
; Hide /home, /root, and /run/user. Nobody will steal your SSH-keys.
ProtectHome=true
; Make /usr, /boot, /etc and possibly some more folders read-only.
ProtectSystem=full
; … except /etc/ssl/caddy, because we want Letsencrypt-certificates there.
;   This merely retains r/w access rights, it does not add any new. Must still be writable on the host!
ReadWriteDirectories=/etc/ssl/caddy

; The following additional security directives only work with systemd v229 or later.
; They further retrict privileges that can be gained by caddy. Uncomment if you like.
; Note that you may have to add capabilities required by any plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Lagre og avslutt:

:wq!

Start Caddy-tjenesten og få den til å starte automatisk ved systemoppstart:

sudo systemctl daemon-reload
sudo systemctl start caddy.service
sudo systemctl enable caddy.service

Trinn 3: Endre brannmurregler

For å la besøkende få tilgang til Caddy-siden din, må du åpne portene 80 og 443:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Trinn 4: Lag en testside for nettstedet ditt

Bruk følgende kommando for å lage en fil som er navngitt index.htmli Caddy-nettstedets hjemmekatalog:

echo '<h1>Hello World!</h1>' | sudo tee /var/www/example.com/index.html

Start Caddy-tjenesten på nytt for å laste inn nytt innhold:

sudo systemctl restart caddy.service

Til slutt, pek nettleseren til http://example.comeller https://example.com. Du skal se meldingen Hello World!som forventet.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer