GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a nakonfigurovat Caddy Web Server s PHP na Rocky Linux 8

Caddy je bezplatný, odlehčený, moderní webový server s otevřeným zdrojovým kódem napsaný v jazyce Go. Caddy můžete použít jako souborový server, dynamický server a škálovatelný reverzní proxy. Funkčnost serveru můžete rozšířit pomocí pluginů. Caddy přichází s širokou škálou funkcí, z nichž některé jsou uvedeny níže:

  • Virtuální hosting
  • Automatické HTTPS prostřednictvím Let’s Encrypt
  • Podpora HTTP/2
  • Rozšiřitelné pomocí pluginů
  • Běží bez jakýchkoli externích závislostí

V tomto příspěvku vám ukážeme, jak nainstalovat webový server Caddy s podporou PHP na Rocky Linux 8.

Předpoklady

  • Server se systémem Rocky Linux 8 na cloudové platformě Atlantic.Net
  • Heslo uživatele root nakonfigurované na vašem serveru

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Rocky Linux 8 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

dnf update -y

Krok 2 – Instalace webového serveru Caddy

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy

Jakmile je úložiště povoleno, můžete nainstalovat webový server Caddy pomocí následujícího příkazu:

dnf install caddy -y

Jakmile je Caddy nainstalován, ověřte verzi Caddy pomocí následujícího příkazu:

caddy version

Ukázkový výstup:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

Dále spusťte službu Caddy a povolte její spuštění při restartu systému:

systemctl start caddy
systemctl enable caddy

Nyní otevřete webový prohlížeč a přejděte na webový server Caddy pomocí adresy URL http://ip-vaseho-serveru . Na následující obrazovce byste měli vidět testovací stránku Caddy:

Krok 3 – Vytvořte nový web na Caddy

Nejprve vytvořte adresářovou strukturu pro nový web pomocí následujícího příkazu:

mkdir -p /var/www/example.com
mkdir /var/log/caddy

Dále nastavte správné vlastnictví na novém webu:

chown caddy:caddy /var/www/example.com
chown caddy:caddy /var/log/caddy

Dále vytvořte stránku index.html pro nový web:

nano /var/www/example.com/index.html

Přidejte následující řádky:

<!DOCTYPE html>
<html>
<head>
<title>Caddy Web Server</title>
</head>
<body>
<h1>This is my first web page on Caddy!</h1>
</body>
</html>

Po dokončení uložte a zavřete soubor.

Krok 4 – Vytvořte konfigurační soubor virtuálního hostitele

Dále budete muset upravit konfigurační soubor Caddy, aby hostil nový web. Můžete jej upravit pomocí následujícího příkazu:

nano /etc/caddy/Caddyfile

Odeberte všechny řádky a přidejte následující řádky:

test.example.com:80 {
        root * /var/www/example.com
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Po dokončení uložte a zavřete soubor. Dále ověřte konfigurační soubor Caddy:

caddy validate --adapter caddyfile --config /etc/caddy/Caddyfile

Měli byste vidět následující výstup:

2021/11/17 09:59:04.997	INFO	using provided configuration	{"config_file": "/etc/caddy/Caddyfile", "config_adapter": "caddyfile"}
2021/11/17 09:59:05.000	WARN	input is not formatted with 'caddy fmt'	{"adapter": "caddyfile", "file": "/etc/caddy/Caddyfile", "line": 27}
2021/11/17 09:59:05.000	INFO	http	server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS	{"server_name": "srv0", "https_port": 443}
2021/11/17 09:59:05.001	INFO	http	enabling automatic HTTP->HTTPS redirects	{"server_name": "srv0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	started background certificate maintenance	{"cache": "0xc00057a8c0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	stopped background certificate maintenance	{"cache": "0xc00057a8c0"}
Valid configuration

Poté restartujte službu Caddy, aby se změny projevily:

systemctl restart caddy

Službu Caddy můžete také zkontrolovat pomocí následujícího příkazu:

systemctl status caddy

Získáte následující výstup:

● caddy.service - Caddy
   Loaded: loaded (/usr/lib/systemd/system/caddy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 10:00:23 UTC; 4s ago
     Docs: https://caddyserver.com/docs/
 Main PID: 20077 (caddy)
    Tasks: 6 (limit: 11411)
   Memory: 24.9M
   CGroup: /system.slice/caddy.service
           └─20077 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Nov 17 10:00:23 rockylinux systemd[1]: Started Caddy.
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054335,"logger":"tls.cache.maintenance","msg":"started background c>
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054764,"logger":"tls","msg":"cleaning storage unit","description":">
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8055048,"logger":"tls","msg":"finished cleaning storage units"}
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8060036,"logger":"tls.obtain","msg":"lock acquired","identifier":"ex>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"error","ts":1637143224.0880945,"logger":"tls.obtain","msg":"could not get certificate from>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"info","ts":1637143224.4512274,"logger":"tls.issuance.zerossl","msg":"generated EAB credent>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.7558215,"logger":"tls.issuance.acme","msg":"waiting on internal rate>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.755876,"logger":"tls.issuance.acme","msg":"done waiting on internal >
Nov 17 10:00:27 rockylinux caddy[20077]: {"level":"info","ts":1637143227.8956456,"logger":"tls.issuance.acme.acme_client","msg":"trying to so

Nyní otevřete webový prohlížeč a přejděte na web Caddy pomocí adresy URL http://test.example.com . Váš web byste měli vidět na následující obrazovce:

Krok 5 – Povolte podporu PHP na webovém serveru Caddy

Nejprve budete muset nainstalovat PHP a další požadovaná rozšíření na váš server. Všechny je můžete nainstalovat pomocí následujícího příkazu:

dnf install php-fpm php-cli php-gd -y

Jakmile jsou všechny balíčky nainstalovány, upravte konfigurační soubor Caddy:

nano /etc/caddy/Caddyfile

Definujte umístění php_fastcgi, jak je uvedeno níže:

test.example.com:80 {
        root * /var/www/example.com
	php_fastcgi unix//run/php-fpm/www.sock
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Uložte a zavřete soubor a poté upravte soubor PHP-FPM:

nano /etc/php-fpm.d/www.conf

Změňte následující řádky:

user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy

Uložte a zavřete soubor, poté spusťte službu PHP-FPM a povolte její spuštění při restartu systému:

systemctl start php-fpm
systemctl enable php-fpm

Dále vytvořte vzorovou stránku info.php:

nano /var/www/example.com/info.php

Přidejte následující řádek:

<?php phpinfo();
?>

Uložte a zavřete soubor, poté otevřete webový prohlížeč a přejděte na stránku info.php pomocí adresy URL http://test.example.com/info.php . Získáte následující stránku:

Závěr

Ve výše uvedené příručce jsme vysvětlili, jak nainstalovat Caddy s PHP na Rocky Linux 8. Caddy je velmi dobrou alternativou k Apache a Nginx. Měli byste to vyzkoušet v produkčním prostředí – začněte na svém virtuálním privátním serveru od Atlantic.Net!


Linux
  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Rocky Linux/Alma Linux 8

  2. Jak nainstalovat a nakonfigurovat Elasticsearch na Rocky Linux 8

  3. Jak nainstalovat a nakonfigurovat Linux NTP server a klienta

  1. Jak nainstalovat a nakonfigurovat Arch Linux jako server

  2. Jak nainstalovat a nakonfigurovat Caddy Web Server s PHP a MariaDB na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat HAProxy na Rocky Linux 8

  1. Jak nainstalovat a nakonfigurovat Caddy Web Server s PHP na Fedora 34 / CentOS 8

  2. Jak nainstalovat a nakonfigurovat DHCP server v Linuxu

  3. Jak nainstalovat webový server Apache na Alpine Linux