Caddy je bezplatný, open-source a moderní webový server napsaný v jazyce GO. Jedná se o lehký a komerčně podporovaný webový server, který podporuje HTTP/2 a experimentální HTTP/3 protokoly. Může běžet kdekoli bez externích závislostí a je rozšiřován pomocí pluginů. Je navržen s ohledem na bezpečnost a poskytuje řadu funkcí, které jsou užitečné pro hostování webových stránek.
V tomto tutoriálu vysvětlím, jak nainstalovat webový server Caddy na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Caddy na Debian 11
Ve výchozím nastavení není balíček Caddy součástí výchozího úložiště Debian 11. Budete tedy muset do svého systému přidat úložiště Caddy.
Nejprve nainstalujte všechny požadované závislosti pomocí následujícího příkazu:
apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https
Dále stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add -
Dále přidejte úložiště Caddy do APT pomocí následujícího příkazu:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
Dále aktualizujte úložiště a nainstalujte webový server Caddy spuštěním následujícího příkazu:
apt-get update
apt-get install caddy -y
Jakmile je Caddy nainstalován, ověřte verzi Caddy pomocí následujícího příkazu:
caddy version
Získáte následující výstup:
v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=
Chcete-li povolit caddy binárnímu připojení k privilegovaným portům, jako jsou 80 a 443, spusťte následující příkaz:
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy
Spravovat službu Caddy
Službu Caddy můžete spravovat pomocí systemd.
Chcete-li spustit službu Caddy, spusťte následující příkaz:
systemctl start caddy
Chcete-li zastavit službu Caddy, spusťte následující příkaz:
systemctl stop caddy
Chcete-li povolit spuštění služby Caddy při restartování systému, spusťte následující příkaz:
systemctl enable caddy
Chcete-li zkontrolovat stav služby Caddy, spusťte následující příkaz:
systemctl status caddy
Získáte následující výstup:
? caddy.service - Caddy Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-10-16 14:34:44 UTC; 2min 30s ago Docs: https://caddyserver.com/docs/ Main PID: 2370 (caddy) Tasks: 7 (limit: 2341) Memory: 17.5M CPU: 30ms CGroup: /system.slice/caddy.service ??2370 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile Oct 16 14:34:44 debian11 caddy[2370]: JOURNAL_STREAM=8:16308 Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.658216,"msg":"using provided configuration","config_file":"/etc/caddy/Ca> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6623824,"logger":"admin","msg":"admin endpoint started","address":"tcp/l> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6626618,"logger":"http","msg":"server is listening only on the HTTP port> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.663054,"msg":"autosaved config (load with --resume flag)","file":"/var/l> Oct 16 14:34:44 debian11 systemd[1]: Started Caddy. Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6655433,"msg":"serving initial configuration"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6656897,"logger":"tls","msg":"cleaning storage unit","description":"File> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6657932,"logger":"tls","msg":"finished cleaning storage units"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6694443,"logger":"tls.cache.maintenance","msg":"started background certi>na pozadí
Povolení podpory PHP v Caddy
Nejprve nainstalujte PHP a další potřebná rozšíření pomocí následujícího příkazu:
apt-get install php-fpm php-mysql php-curl php-gd php-mbstring php-common php-xml php-xmlrpc -y
Po instalaci PHP upravte konfigurační soubor PHP-FPM a změňte výchozího uživatele a skupinu pomocí caddy:
nano /etc/php/7.4/fpm/pool.d/www.conf
Najděte a nahraďte jméno uživatele a skupiny z www-data na caddy:
user = caddy group = caddy listen.owner = caddy listen.group = caddy
Uložte a zavřete soubor a poté restartujte službu PHP-FPM, aby se změny projevily:
systemctl restart php7.4-fpm
Vytvořit konfigurační soubor virtuálního hostitele Caddy
Výchozí konfigurační soubor virtuálního hostitele Caddy se nachází na adrese /etc/caddy/Caddyfile .
Upravte soubor /etc/caddy/Caddyfile soubor s následujícím příkazem:
nano /etc/caddy/Caddyfile
Odeberte všechny řádky a přidejte následující řádky:
caddy.example.com:80 { root * /usr/share/caddy/ encode gzip zstd php_fastcgi unix//run/php/php7.4-fpm.sock }
Uložte a zavřete soubor a poté restartujte službu Caddy, aby se změny projevily:
systemctl restart caddy
Dále vytvořte ukázkový soubor PHP pro Caddy pomocí následujícího příkazu:
nano /usr/share/caddy/info.php
Přidejte následující řádky:
<?php phpinfo(); ?>
Po dokončení uložte a zavřete soubor.
Přístup k webu Caddy
Nyní otevřete webový prohlížeč a přejděte na web Caddy pomocí adresy URL http://caddy.example.com/info.php . Na následující obrazovce byste měli vidět stránku PHP:
Závěr
Gratulujeme! úspěšně jste nainstalovali webový server Caddy na Debian 11. Nyní můžete vytvořit svůj vlastní web pomocí webového serveru Caddy. Pokud máte nějaké dotazy, neváhejte se mě zeptat.