Caddy installeren en configureren op CentOS 7

Invoering

Caddy is een opkomend webserverprogramma met native ondersteuning voor HTTP / 2 en automatische HTTPS. Met het oog op gebruiksgemak en veiligheid, kan Caddy worden gebruikt om snel een HTTPS-compatibele site te implementeren met één configuratiebestand.

Vereisten

Stap 1: Installeer de nieuwste stabiele versie van Caddy

Gebruik op een Linux-, Mac- of BSD-besturingssysteem de volgende opdracht om de nieuwste stabiele systeemspecifieke versie van Caddy te installeren:

curl https://getcaddy.com | bash

Voer desgevraagd uw sudo-wachtwoord in om de installatie te voltooien.

Het Caddy-binaire bestand wordt in de /usr/local/bindirectory geïnstalleerd . Gebruik de volgende opdracht om te bevestigen:

which caddy

De output moet zijn:

/usr/local/bin/caddy

Om veiligheidsredenen mag u het Caddy-binaire programma NOOIT als root uitvoeren. Om Caddy de mogelijkheid te geven te binden aan geprivilegieerde poorten (bijv. 80, 443) als een niet-rootgebruiker, moet je de setcapopdracht als volgt uitvoeren:

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

Stap 2: Caddy configureren

Maak een toegewijde systeemgebruiker: caddy en een groep met dezelfde naam voor Caddy:

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

Let op : De caddyhier aangemaakte gebruiker kan alleen worden gebruikt om de Caddy-service te beheren en kan niet worden gebruikt om in te loggen.

Maak de homedirectory /var/wwwvoor de Caddy-webserver en de homedirectory /var/www/example.comvoor uw site:

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

Maak een directory om SSL-certificaten op te slaan:

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

Maak een speciale map om het Caddy-configuratiebestand op te slaan Caddyfile:

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

Maak het Caddy-configuratiebestand met de naam 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 [email protected]
}
EOF

Opmerking : het Caddyfilehierboven gemaakte bestand is slechts een basisconfiguratie voor het uitvoeren van een statische website. U kunt meer informatie over hoe je een Caddyfile schrijven te leren hier .

Om de werking van Caddy te vergemakkelijken, kunt u een systemdeenheidsbestand voor Caddy instellen en vervolgens gebruiken systemdom Caddy te beheren.

Gebruik de vieditor om het Caddy- systemdeenheidsbestand te maken:

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

Vul het bestand in:

[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

Opslaan en afsluiten:

:wq!

Start de Caddy-service en laat deze automatisch starten bij het opstarten van het systeem:

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

Stap 3: Wijzig de firewallregels

Om bezoekers toegang te geven tot uw Caddy-site, moet u poorten 80 en 443 openen:

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

Stap 4: Maak een testpagina voor uw site

Gebruik de volgende opdracht om een ​​bestand te maken met de naam index.htmlin de basismap van uw Caddy-site:

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

Start de Caddy-service opnieuw om nieuwe inhoud te laden:

sudo systemctl restart caddy.service

Wijs ten slotte uw webbrowser naar http://example.comof https://example.com. Je zou het bericht moeten zien Hello World!zoals verwacht.



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.