Cum se instalează și se configurează Caddy pe CentOS 7

Introducere

Caddy este un program de server web în curs de dezvoltare, cu suport nativ pentru HTTP / 2 și HTTPS automat. Cu ușurință de utilizare și securitate în minte, Caddy poate fi utilizat pentru a implementa rapid un site compatibil HTTPS cu un singur fișier de configurare.

Cerințe preliminare

Pasul 1: Instalați cea mai recentă versiune stabilă de Caddy

Pe un sistem de operare Linux, Mac sau BSD, utilizați următoarea comandă pentru a instala cea mai recentă versiune stabilă specifică a sistemului Caddy:

curl https://getcaddy.com | bash

Când vi se solicită, introduceți parola sudo pentru a termina instalarea.

Binarul Caddy va fi instalat în /usr/local/bindirector. Folosiți următoarea comandă pentru a confirma:

which caddy

Rezultatul ar trebui să fie:

/usr/local/bin/caddy

În scopuri de securitate, NICIODATĂ nu executați binarul Caddy ca root. Pentru a oferi Caddy posibilitatea de a se lega de porturi privilegiate (de exemplu, 80, 443) ca utilizator non-root, trebuie să rulați setcapcomanda după cum urmează:

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

Pasul 2: Configurați Caddy

Creați un utilizator de sistem dedicat: caddy și un grup cu același nume pentru Caddy:

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

Notă : Utilizatorul caddycreat aici poate fi utilizat doar pentru a gestiona serviciul Caddy și nu poate fi folosit pentru logare.

Creați directorul de acasă /var/wwwpentru serverul web Caddy și directorul principal /var/www/example.compentru site-ul dvs.:

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

Creați un director pentru stocarea certificatelor SSL:

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

Creați un director dedicat pentru a stoca fișierul de configurare Caddy Caddyfile:

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

Creați fișierul de configurare Caddy numit 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

Notă : Fișierul creat mai sus este doar o configurație de bază pentru a rula un site web static. Puteți afla mai multe despre cum puteți scrie un Caddyfile aici .Caddyfile

Pentru a facilita operațiunile Caddy, puteți configura un systemdfișier de unitate pentru Caddy și apoi systemdsă utilizați pentru a gestiona Caddy.

Folosiți vieditorul pentru a crea systemdfișierul unității Caddy :

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

Populați fișierul:

[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

Salvează și închide:

:wq!

Porniți serviciul Caddy și faceți-l să pornească automat la pornirea sistemului:

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

Pasul 3: Modificați regulile firewallului

Pentru a permite vizitatorilor să acceseze site-ul dvs. Caddy, trebuie să deschideți porturile 80 și 443:

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

Pasul 4: Creați o pagină de testare pentru site-ul dvs.

Utilizați următoarea comandă pentru a crea un fișier numit index.htmlîn directorul de origine al site-ului Caddy:

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

Reporniți serviciul Caddy pentru a încărca conținut nou:

sudo systemctl restart caddy.service

În cele din urmă, îndreptați-vă browserul web către http://example.comsau https://example.com. Ar trebui să vedeți mesajul Hello World!așa cum vă așteptați.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe