Kako namestiti in konfigurirati Caddy na CentOS 7

Uvod

Caddy je nastajajoči program za spletni strežnik z izvorno podporo za HTTP/2 in samodejni HTTPS. Z enostavno uporabo in varnostjo v mislih lahko Caddy uporabite za hitro uvajanje spletnega mesta, ki podpira HTTPS, z eno samo konfiguracijsko datoteko.

Predpogoji

1. korak: Namestite najnovejšo stabilno izdajo Caddyja

V operacijskem sistemu Linux, Mac ali BSD uporabite naslednji ukaz za namestitev najnovejše stabilne sistemske izdaje Caddyja:

curl https://getcaddy.com | bash

Ko ste pozvani, vnesite svoje geslo za sudo, da dokončate namestitev.

Binarni program Caddy bo nameščen v /usr/local/binimenik. Za potrditev uporabite naslednji ukaz:

which caddy

Izhod bi moral biti:

/usr/local/bin/caddy

Iz varnostnih razlogov NIKOLI ne zaženite binarnega sistema Caddy kot root. Da bi Caddyju omogočili, da se poveže s privilegiranimi vrati (npr. 80, 443) kot nekorenski uporabnik, morate zagnati setcapukaz na naslednji način:

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

2. korak: konfigurirajte Caddy

Ustvarite namenskega sistemskega uporabnika: caddy in skupino z istim imenom za Caddy:

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

Opomba : Uporabnik, caddyustvarjen tukaj, se lahko uporablja samo za upravljanje storitve Caddy in ga ni mogoče uporabiti za prijavo.

Ustvarite domači imenik /var/wwwza spletni strežnik Caddy in domači imenik /var/www/example.comza vaše spletno mesto:

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

Ustvarite imenik za shranjevanje potrdil SSL:

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

Ustvarite namenski imenik za shranjevanje konfiguracijske datoteke Caddy Caddyfile:

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

Ustvarite konfiguracijsko datoteko Caddy z imenom 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

Opomba : datoteka nad ustvarili le osnovni konfiguraciji za delovanje spletne strani statično. Več o tem, kako napisati Caddyfile, lahko izveste tukaj .Caddyfile

Da bi olajšali delovanje Caddyja, lahko nastavite systemddatoteko enote za Caddy in jo nato uporabite systemdza upravljanje Caddyja.

Z viurejevalnikom ustvarite systemddatoteko enote Caddy :

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

Izpolnite datoteko:

[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

Shrani in zapusti:

:wq!

Zaženite storitev Caddy in naj se samodejno zažene ob zagonu sistema:

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

3. korak: Spremenite pravila požarnega zidu

Če želite obiskovalcem omogočiti dostop do vašega spletnega mesta Caddy, morate odpreti vrata 80 in 443:

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

4. korak: Ustvarite testno stran za svoje spletno mesto

Z naslednjim ukazom ustvarite datoteko, imenovano index.htmlv domačem imeniku spletnega mesta Caddy:

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

Znova zaženite storitev Caddy, da naložite novo vsebino:

sudo systemctl restart caddy.service

Na koncu usmerite svoj spletni brskalnik na http://example.comali https://example.com. Sporočilo bi morali videti po Hello World!pričakovanjih.

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več