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.
Tartalomjegyzék
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.
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:
[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.
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