Sådan installeres og konfigureres Caddy på CentOS 7

Introduktion

Caddy er et nyt webserverprogram med indbygget understøttelse af HTTP/2 og automatisk HTTPS. Med brugervenlighed og sikkerhed i tankerne kan Caddy bruges til hurtigt at implementere et HTTPS-aktiveret websted med en enkelt konfigurationsfil.

Forudsætninger

Trin 1: Installer den seneste stabile udgivelse af Caddy

På et Linux-, Mac- eller BSD-operativsystem skal du bruge følgende kommando til at installere den seneste stabile systemspecifikke udgivelse af Caddy:

curl https://getcaddy.com | bash

Når du bliver bedt om det, skal du indtaste din sudo-adgangskode for at afslutte installationen.

Caddy binær vil blive installeret i /usr/local/binmappen. Brug følgende kommando til at bekræfte:

which caddy

Outputtet skal være:

/usr/local/bin/caddy

Af sikkerhedsmæssige årsager må du ALDRIG køre Caddy binær som root. For at give Caddy mulighed for at binde til privilegerede porte (f.eks. 80, 443) som en ikke-rootbruger, skal du køre setcapkommandoen som følger:

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

Trin 2: Konfigurer Caddy

Opret en dedikeret systembruger: caddy og en gruppe af samme navn til Caddy:

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

Bemærk : Den bruger, der er caddyoprettet her, kan kun bruges til at administrere Caddy-tjenesten og kan ikke bruges til at logge ind.

Opret hjemmemappen /var/wwwtil Caddy-webserveren og hjemmemappen /var/www/example.comtil dit websted:

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

Opret en mappe til at gemme SSL-certifikater:

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

Opret en dedikeret mappe til at gemme Caddy-konfigurationsfilen Caddyfile:

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

Opret Caddy-konfigurationsfilen 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

Bemærk : Den Caddyfilefil, der oprettes Ovenstående er kun en grundlæggende konfiguration for at køre en statisk hjemmeside. Du kan lære mere om, hvordan du skriver en Caddyfil her .

For at lette betjeningen af ​​Caddy kan du opsætte en systemdenhedsfil til Caddy og derefter bruge systemdtil at administrere Caddy.

Brug vieditoren til at oprette Caddy- systemdenhedsfilen:

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

Udfyld 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

Gem og luk:

:wq!

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

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

Trin 3: Rediger firewallregler

For at tillade besøgende at få adgang til din Caddy-side, skal du åbne porte 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

Trin 4: Opret en testside for dit websted

Brug følgende kommando til at oprette en fil navngivet index.htmli din Caddy-hjemmeside:

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

Genstart Caddy-tjenesten for at indlæse nyt indhold:

sudo systemctl restart caddy.service

Til sidst skal du pege din webbrowser på http://example.comeller https://example.com. Du bør se beskeden Hello World!som forventet.

Efterlad 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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere