Sådan installeres Caddy Web Server på Linux

I disse dage er HTTPS nøglen, når du hoster et websted. Uden det kunne dine brugere lække meget personlige data fra dit websted til verden. For at løse dette har mange Linux-webmastere taget i brug LetsEncrypt-værktøjerne, da de gør det meget nemt at generere et certifikat. Alligevel, for så let som LetsEncrpyt er, kan det stadig være lidt af en opgave at aktivere det på Nginx eller Apache på Linux. Heldigvis er der en bedre måde. Introduktion til Caddy-webserveren. Det er webserveren, der har HTTPS aktiveret som standard. Hvis du er træt af at bøvle med SSL-certifikater, kan Caddy være lige hvad du har brug for.

Installerer Caddy

Installation af Caddy-webserveren fungerer stort set det samme, uanset hvilket serveroperativsystem du bruger. Grunden til, at Caddy er så nem at installere, er, at udviklerens valg bruger et downloadbart Bash-script til at installere softwaren i stedet for at tilføje tredjeparts softwarelagre eller installere via binære filer.

I denne vejledning vil vi bruge Ubuntu Server, selvom kørsel af Caddy-webserveren også vil fungere fint på de fleste andre Linux OS’er, selv stationære. For at starte skal du sørge for at have Curl-appen på din Linux-pc. Hvis du ikke gør det, skal du åbne en terminalsøgning i din pakkeadministrator efter “krølle”, og installere den.

  Sådan sikkerhedskopieres LXQt-skrivebordsindstillingerne på Linux

Bemærk: afgør om du allerede har curl ved at køre curl i terminalen. Hvis dialogboksen “hjælp” vises for programmet, har du Curl på din Linux-maskine.

curl https://getcaddy.com | bash -s personal

Caddy-webserveren er gratis at bruge til personlig brug, men du skal angive den. Planlægger du at bruge Caddy i en virksomhedsindstilling? Kør installationskommandoen med:

curl https://getcaddy.com | bash -s commercial

At køre Curl vil føre den gennem Bash og automatisk starte installationsprocessen. Caddy-installationsprogrammet vil tage tid at downloade webserverens binære og placere den i mappen /usr/local/bin/. Hvis installationen er vellykket, vil du se en meddelelse, der siger “Successfully Installed”.

På dette tidspunkt bliver du nødt til at ændre Caddy-binæren. Kør følgende kommando i terminalen med sudo-rettigheder.

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

Konfiguration af Caddy

Caddy er installeret på serveren. Det næste trin i processen er at konfigurere mappestrukturen. Start med at få en rodterminal. Hvis du gør dette, bliver det meget hurtigere at ændre mapper i filsystemet, da du ikke behøver at indtaste sudo for hver kommando efterfulgt af en adgangskode.

  Sådan afprøver du open source Firefox-alternativet LibreWolf på Linux

På de fleste systemer kan brugere logge direkte ind på root-kontoen med:

su

På Ubuntu-serveren er root-kontoen dog låst af sikkerhedsmæssige årsager. For at komme uden om dette, få en rodskal med sudo.

sudo -s

Nu hvor vi har root-adgang, skal du oprette de nødvendige mapper for at Caddy-serveren kan fungere korrekt.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Bemærk: Hvis din server allerede har et /var/www/-bibliotek, skal du springe denne sidste mkdir-kommando over.

mkdir /var/www

Opret derefter en ny “Caddyfile” inde i /etc/caddy/.

touch /etc/caddy/Caddyfile

Brug chmod-kommandoen til at opdatere tilladelserne for Caddy-undermappen inde i /etc/ssl/.

chmod 0770 /etc/ssl/caddy

Til sidst skal du vælge mappen /var/www/:

chown www-data: /var/www

Caddy Systemd fil

De fleste servere, især Ubuntu-servere, gør stor brug af systemd init-systemet. Men da webserveren installeres via Bash-script, er der ikke en systemd-fil til stede. I stedet bliver vi nødt til at lave vores egen. Brug berøringskommandoen til at lave en ny, tom servicefil.

touch /lib/systemd/system/caddy.service

Åbn den nye caddy.service-fil og indsæt følgende kode i den:

[Unit]
Description=Caddy HTTP/2 webserver
Documentation=https://caddyserver.com/docs
After=netværk-online.mål
Wants=netværk-online.mål

[Service]
Genstart=ved fejl
Startgrænseinterval=86400
StartLimitBurst=5

Bruger=www-data
Gruppe=www-data
; Letsencrypt-udstedte certifikater vil blive skrevet til denne mappe.
Miljø=CADDYPATH=/etc/ssl/caddy

  Sådan spiller du Subnautica på Linux

ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

LimitNOFILE=1048576
LimitNPROC=64

PrivateTmp=sand
PrivateDevices=sand
ProtectHome=sand
ProtectSystem=fuld
ReadWriteDirectories=/etc/ssl/caddy

; Følgende yderligere sikkerhedsdirektiver virker kun med systemd v229 eller nyere.
; De begrænser yderligere privilegier, der kan opnås af caddie. Fjern kommentarer, hvis du har lyst.
; Bemærk, at du muligvis skal tilføje funktioner, der kræves af alle plugins, der er i brug.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=sand

[Install]
WantedBy=multi-user.target

Der er en masse kode til caddy.service-filen, så gør dit bedste for at sikre, at alt er der. Når du er sikker, skal du gemme ændringerne ved at trykke på Ctrl + X tastaturkombinationen. Afslut editoren med Ctrl + X.

systemctl enable caddy.service

systemctl start caddy.service

Efter opsætning af systemd, skulle alt være klar til at gå.

Opsætning af domæner

Caddy har, som enhver anden webserver, brug for en smule konfiguration, før den kan bruges. Start med at oprette en domænemappe:

Bemærk: Sørg for at omdøbe “test-domain.org” med dit domæne.

mkdir -p /var/www/test-domain.org/

Rediger derefter filen Caddyfile, vi oprettede tidligere.

nano /etc/caddy/Caddyfile

Indsæt følgende kode for at aktivere dit nye domæne:

mit-domæne.com {
root /var/www/test-domain.org
}

Genstart Caddy systemd-tjenesten for at gemme ændringerne. Når tjenesten er færdig med at genstarte, er Caddy klar til brug på din server.

systemctl restart caddy.service