A Caddy webszerver telepítése Linux rendszeren

Manapság a HTTPS kulcsfontosságú a webhelyek üzemeltetésében. Enélkül a felhasználók nagyon személyes adatokat szivárogtathatnak ki webhelyéről a világba. Ennek megoldására sok Linux webmester a LetsEncrypt eszközöket használta, mivel ezek nagyon egyszerűvé teszik a tanúsítvány generálását. Ennek ellenére, bármilyen egyszerű a LetsEncrpyt, az engedélyezése Nginxen vagy Apache-en Linuxon még mindig nehézkes lehet. Szerencsére van jobb módszer. Bemutatjuk a Caddy webszervert. Ez egy webszerver, amelyen alapértelmezés szerint engedélyezve van a HTTPS. Ha elege van az SSL-tanúsítványokkal való bajlódásból, akkor a Caddy lehet az, amire szüksége van.

Caddy telepítése

A Caddy webszerver telepítése nagyjából ugyanúgy működik, függetlenül attól, hogy milyen operációs rendszert használ. A Caddy telepítésének egyszerű oka a fejlesztő döntése, hogy letölthető Bash-szkriptet használ a szoftver telepítéséhez, ahelyett, hogy harmadik féltől származó szoftvertárakat adna hozzá, vagy binárisokon keresztül telepítene.

Ebben az oktatóanyagban az Ubuntu Servert fogjuk használni, bár a Caddy webszerver futtatása a legtöbb Linux operációs rendszeren is jól működik, még az asztali operációs rendszeren is. A kezdéshez győződjön meg arról, hogy a Curl alkalmazás van a Linux PC-jén. Ha nem, nyisson meg egy terminált, és keresse meg a csomagkezelőben a „curl” kifejezést, és telepítse.

  Az Emby Media Server telepítése Linux rendszeren

Megjegyzés: Határozza meg, hogy van-e már curl, futtassa a curl-t a terminálban. Ha a programhoz megjelenik a „súgó” párbeszédpanel, akkor a Linux gépen van Curl.

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

A Caddy webszerver ingyenesen használható személyes használatra, de ezt meg kell adni. Tervezi a Caddy használatát vállalati környezetben? Futtassa a telepítési parancsot a következővel:

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

A Curl futtatása átvezeti a Bash-en, és automatikusan elindítja a telepítési folyamatot. A Caddy telepítőjének időbe telik, amíg letölti a webszerver bináris fájlját, és elhelyezi a /usr/local/bin/ könyvtárba. Ha a telepítés sikeres, megjelenik a „Sikeresen telepítve” üzenet.

Ezen a ponton módosítania kell a Caddy binárist. Futtassa a következő parancsot a terminálban sudo jogosultságokkal.

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

A Caddy konfigurálása

A Caddy telepítve van a szerveren. A folyamat következő lépése a könyvtárstruktúra konfigurálása. Kezdje a gyökérterminál beszerzésével. Ezzel sokkal gyorsabbá válik a mappák módosítása a fájlrendszerben, mivel nem kell minden parancshoz beírni a sudo-t, majd a jelszót.

A legtöbb rendszeren a felhasználók közvetlenül bejelentkezhetnek a root fiókba a következőkkel:

su

Az Ubuntu szerveren azonban a Root fiók biztonsági okokból zárolva van. Ennek megkerüléséhez szerezzen gyökérhéjat a sudo segítségével.

sudo -s

Most, hogy root hozzáféréssel rendelkezünk, hozza létre a szükséges könyvtárakat a Caddy szerver megfelelő működéséhez.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Megjegyzés: Ha a kiszolgálón már van /var/www/ könyvtár, hagyja ki az utolsó mkdir parancsot.

mkdir /var/www

Ezután hozzon létre egy új „Caddyfile”-t az /etc/caddy/ mappában.

touch /etc/caddy/Caddyfile

A chmod paranccsal frissítse az /etc/ssl/ fájlban található Caddy almappa engedélyeit.

chmod 0770 /etc/ssl/caddy

Végül olvassa el a /var/www/ könyvtárat:

chown www-data: /var/www

Caddy Systemd fájl

A legtöbb kiszolgáló, különösen az Ubuntu szerver, erősen használja a systemd init rendszert. Mivel azonban a webszerver Bash-szkripten keresztül települ, rendszerfájl nincs jelen. Ehelyett saját magunkat kell készítenünk. A touch paranccsal új, üres szolgáltatásfájlt hozhat létre.

touch /lib/systemd/system/caddy.service

Nyissa meg az új caddy.service fájlt, és illessze be a következő kódot:

  A Regolith Linux 1.6 beállítása

[Unit]
Description=Caddy HTTP/2 webszerver
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target

[Service]
Újraindítás=hiba esetén
StartLimitInterval=86400
StartLimitBurst=5

User=www-adat
Csoport=www-adatok
; A Letsencrypt által kiadott tanúsítványok ebbe a könyvtárba kerülnek.
Environment=CADDYPATH=/etc/ssl/caddy

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=igaz
PrivateDevices=true
ProtectHome=true
ProtectSystem=full
ReadWriteDirectories=/etc/ssl/caddy

; A következő további biztonsági utasítások csak a systemd v229 vagy újabb verziókkal működnek.
; Tovább korlátozzák a caddy által megszerezhető jogosultságokat. Ha tetszik, törölje a megjegyzéseket.
; Vegye figyelembe, hogy előfordulhat, hogy hozzá kell adnia a használt bővítményekhez szükséges képességeket.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

A caddy.service fájlhoz sok kód tartozik, ezért tegyen meg mindent, hogy minden benne legyen. Ha biztos benne, mentse el a változtatásokat a Ctrl + X billentyűkombináció megnyomásával. Lépjen ki a szerkesztőből a Ctrl + X billentyűkombinációval.

systemctl enable caddy.service

systemctl start caddy.service

A systemd beállítása után mindennek készen kell állnia.

  A Regolith Linux 1.6 beállítása

Domainek beállítása

A Caddy-nek, mint minden más webszervernek, szüksége van egy kis konfigurációra a használat előtt. Kezdje egy tartománymappa létrehozásával:

Megjegyzés: ügyeljen arra, hogy a „test-domain.org” nevet átnevezze a domainjével.

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

Ezután szerkessze a korábban létrehozott Caddyfile fájlt.

nano /etc/caddy/Caddyfile

Illessze be a következő kódot az új domain aktiválásához:

my-domain.com {
gyökér /var/www/test-domain.org
}

A változtatások mentéséhez indítsa újra a Caddy systemd szolgáltatást. Amikor a szolgáltatás újraindul, a Caddy használatra kész a szerveren.

systemctl restart caddy.service