Jak nainstalovat webový server Caddy na Linux

V dnešní době je HTTPS klíčový při hostování webových stránek. Bez něj by vaši uživatelé mohli z vašeho webu unikat do světa velmi osobní data. K vyřešení tohoto problému se mnoho linuxových webmasterů rozhodlo používat nástroje LetsEncrypt, protože velmi usnadňují generování certifikátu. Přesto, i když je LetsEncrpyt snadný, může být jeho povolení na Nginx nebo Apache na Linuxu stále trochu oříšek. Naštěstí existuje lepší způsob. Představujeme webový server Caddy. Je to webový server, který má ve výchozím nastavení povoleno HTTPS. Pokud už vás nebaví lámat si hlavu s certifikáty SSL, Caddy může být přesně to, co potřebujete.

Instalace Caddy

Instalace webového serveru Caddy funguje v podstatě stejně bez ohledu na to, jaký operační systém serveru používáte. Důvodem, proč se Caddy tak snadno instaluje, je to, že se vývojáři rozhodli pro instalaci softwaru použít stažitelný skript Bash, nikoli přidávat softwarová úložiště třetích stran nebo instalovat pomocí binárních souborů.

V tomto tutoriálu budeme používat Ubuntu Server, i když provozování webového serveru Caddy bude fungovat dobře i na většině ostatních linuxových OS, dokonce i na desktopech. Chcete-li začít, ujistěte se, že máte na svém počítači se systémem Linux aplikaci Curl. Pokud ne, otevřete terminál, vyhledejte ve správci balíčků „curl“ a nainstalujte jej.

  Jak používat prstový příkaz v systému Linux

Poznámka: Zjistěte, zda již máte curl, spuštěním curl v terminálu. Pokud se pro program zobrazí dialogové okno „nápověda“, máte na svém počítači se systémem Linux Curl.

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

Webový server Caddy je zdarma k použití pro osobní použití, ale musíte jej specifikovat. Plánujete používat Caddy v podnikovém prostředí? Spusťte instalační příkaz pomocí:

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

Spuštění Curl to protáhne přes Bash a automaticky spustí proces instalace. Instalačnímu programu Caddy bude chvíli trvat, než stáhne binární soubor webového serveru a umístí jej do adresáře /usr/local/bin/. Pokud je instalace úspěšná, zobrazí se zpráva „Successfully Installed“.

V tomto okamžiku budete muset upravit binárku Caddy. Spusťte následující příkaz v terminálu s právy sudo.

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

Konfigurace Caddy

Caddy je nainstalován na serveru. Dalším krokem v procesu je konfigurace adresářové struktury. Začněte získáním kořenového terminálu. Díky tomu bude úprava složek v systému souborů mnohem rychlejší, protože nebudete muset zadávat sudo pro každý příkaz a za ním heslo.

  Jak nainstalovat editor elektronických knih Sigil na Linux

Na většině systémů se uživatelé mohou přihlásit přímo do účtu root pomocí:

su

Na serveru Ubuntu je však účet Root z bezpečnostních důvodů uzamčen. Chcete-li to obejít, získejte kořenový shell pomocí sudo.

sudo -s

Nyní, když máme přístup root, vytvořte potřebné adresáře, aby server Caddy fungoval správně.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Poznámka: Pokud váš server již má adresář /var/www/, přeskočte tento poslední příkaz mkdir.

mkdir /var/www

Dále vytvořte nový „Caddyfile“ v /etc/caddy/.

touch /etc/caddy/Caddyfile

Pomocí příkazu chmod aktualizujte oprávnění pro podsložku Caddy v /etc/ssl/.

chmod 0770 /etc/ssl/caddy

Nakonec vyberte adresář /var/www/:

chown www-data: /var/www

Caddy Systemd File

Většina serverů, zejména server Ubuntu, intenzivně využívá systém systemd init. Protože se však webový server instaluje pomocí skriptu Bash, soubor systemd není přítomen. Místo toho si budeme muset vytvořit vlastní. Pomocí dotykového příkazu vytvořte nový prázdný soubor služby.

touch /lib/systemd/system/caddy.service

Otevřete nový soubor caddy.service a vložte do něj následující kód:

[Unit]
Description=Webový server Caddy HTTP/2
Dokumentace=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target

[Service]
Restart=při selhání
StartLimitInterval=86400
StartLimitBurst=5

  Jak zálohovat systém Linux

Uživatel=www-data
Skupina=www-data
; Do tohoto adresáře budou zapsány certifikáty vydané Letsencrypt.
Prostředí=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=true
PrivateDevices=true
ProtectHome=pravda
ProtectSystem=plný
ReadWriteDirectories=/etc/ssl/caddy

; Následující dodatečné bezpečnostní směrnice fungují pouze se systémem systemd v229 nebo novějším.
; Dále omezují privilegia, která může caddy získat. Pokud chcete, odkomentujte.
; Všimněte si, že možná budete muset přidat funkce požadované všemi používanými pluginy.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=pravda

[Install]
WantedBy=multi-user.target

Soubor caddy.service obsahuje mnoho kódu, takže se snažte zajistit, aby tam bylo vše. Až si budete jisti, uložte změny stisknutím kombinace kláves Ctrl + X. Ukončete editor pomocí Ctrl + X.

systemctl enable caddy.service

systemctl start caddy.service

Po nastavení systemd by mělo být vše připraveno.

Nastavení domén

Caddy, stejně jako jakýkoli jiný webový server, potřebuje před použitím trochu konfigurace. Začněte vytvořením složky domény:

Poznámka: Nezapomeňte přejmenovat „test-domain.org“ na svou doménu.

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

Dále upravte soubor Caddyfile, který jsme vytvořili dříve.

nano /etc/caddy/Caddyfile

Chcete-li aktivovat svou novou doménu, vložte následující kód:

moje-domena.com {
root /var/www/test-domain.org
}

Chcete-li uložit změny, restartujte službu Caddy systemd. Po dokončení restartování služby je Caddy připraven k použití na vašem serveru.

systemctl restart caddy.service