GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren und konfigurieren Sie den Caddy Web Server mit PHP unter Rocky Linux 8

Caddy ist ein kostenloser, leichtgewichtiger, moderner Open-Source-Webserver, der in der Go-Sprache geschrieben ist. Sie können Caddy als Dateiserver, dynamischen Server und skalierbaren Reverse-Proxy verwenden. Sie können die Serverfunktionalität über Plugins erweitern. Caddy verfügt über eine Vielzahl von Funktionen, von denen einige unten aufgeführt sind:

  • Virtuelles Hosting
  • Automatisches HTTPS über Let’s Encrypt
  • HTTP/2 unterstützen
  • Erweiterbar mit Plugins
  • Läuft ohne externe Abhängigkeiten

In diesem Beitrag zeigen wir Ihnen, wie Sie den Caddy-Webserver mit PHP-Unterstützung auf Rocky Linux 8 installieren.

Voraussetzungen

  • Ein Server, auf dem Rocky Linux 8 auf der Atlantic.Net Cloud Platform ausgeführt wird
  • Ein auf Ihrem Server konfiguriertes Root-Passwort

Schritt 1 – Atlantic.Net Cloud-Server erstellen

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Rocky Linux 8 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – Caddy-Webserver installieren

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

Sobald das Repository aktiviert ist, können Sie den Caddy-Webserver mit dem folgenden Befehl installieren:

dnf install caddy -y

Sobald der Caddy installiert ist, überprüfen Sie die Caddy-Version mit dem folgenden Befehl:

caddy version

Beispielausgabe:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

Starten Sie als Nächstes den Caddy-Dienst und aktivieren Sie ihn so, dass er beim Systemneustart gestartet wird:

systemctl start caddy
systemctl enable caddy

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://your-server-ip auf den Caddy-Webserver zu . Sie sollten die Caddy-Testseite auf dem folgenden Bildschirm sehen:

Schritt 3 – Erstellen Sie eine neue Website auf Caddy

Erstellen Sie zunächst mit dem folgenden Befehl eine Verzeichnisstruktur für die neue Website:

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

Legen Sie als Nächstes die ordnungsgemäße Eigentümerschaft für die neue Website fest:

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

Erstellen Sie als Nächstes eine index.html-Seite für die neue Website:

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

Fügen Sie die folgenden Zeilen hinzu:

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

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Schritt 4 – Erstellen Sie eine virtuelle Host-Konfigurationsdatei

Als Nächstes müssen Sie die Caddy-Konfigurationsdatei bearbeiten, um die neue Website zu hosten. Sie können es mit dem folgenden Befehl bearbeiten:

nano /etc/caddy/Caddyfile

Entfernen Sie alle Zeilen und fügen Sie die folgenden Zeilen hinzu:

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

}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Validieren Sie als Nächstes die Caddy-Konfigurationsdatei:

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

Sie sollten die folgende Ausgabe sehen:

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

Starten Sie als Nächstes den Caddy-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart caddy

Sie können den Caddy-Dienst auch mit dem folgenden Befehl überprüfen:

systemctl status caddy

Sie erhalten die folgende Ausgabe:

● 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

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://test.example.com auf die Caddy-Website zu . Sie sollten Ihre Website auf dem folgenden Bildschirm sehen:

Schritt 5 – Aktivieren Sie die PHP-Unterstützung auf dem Caddy-Webserver

Zuerst müssen Sie PHP und andere erforderliche Erweiterungen auf Ihrem Server installieren. Sie können alle mit dem folgenden Befehl installieren:

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

Sobald alle Pakete installiert sind, bearbeiten Sie die Caddy-Konfigurationsdatei:

nano /etc/caddy/Caddyfile

Definieren Sie den Speicherort von php_fastcgi wie unten gezeigt:

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

}

Speichern und schließen Sie die Datei und bearbeiten Sie dann die PHP-FPM-Datei:

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

Ändern Sie die folgenden Zeilen:

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

Speichern und schließen Sie die Datei, starten Sie dann den PHP-FPM-Dienst und ermöglichen Sie ihm, beim Systemneustart zu starten:

systemctl start php-fpm
systemctl enable php-fpm

Erstellen Sie als Nächstes eine Beispielseite info.php:

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

Fügen Sie die folgende Zeile hinzu:

<?php phpinfo();
?>

Speichern und schließen Sie die Datei, öffnen Sie dann Ihren Webbrowser und greifen Sie über die URL http://test.example.com/info.php auf die Seite info.php zu . Sie erhalten folgende Seite:

Schlussfolgerung

In der obigen Anleitung haben wir erklärt, wie man Caddy mit PHP auf Rocky Linux 8 installiert. Caddy ist eine sehr gute Alternative zu Apache und Nginx. Sie sollten es in der Produktionsumgebung ausprobieren – starten Sie auf Ihrem Virtual Private Server von Atlantic.Net!


Linux
  1. So installieren und konfigurieren Sie Arch Linux als Server

  2. So installieren und konfigurieren Sie den Caddy-Webserver mit PHP und MariaDB unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie Squid Proxy unter Rocky Linux/Alma Linux 8

  4. So installieren und konfigurieren Sie Elasticsearch unter Rocky Linux 8

  5. So installieren und konfigurieren Sie Linux NTP-Server und -Client

So installieren Sie den OpenLiteSpeed-Webserver mit MariaDB und PHP

So installieren und konfigurieren Sie Apache Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie den Nginx-Webserver unter Oracle Linux 8

Wie installiere und konfiguriere ich Django auf Linux VPS und Dedicated Server?

So installieren und konfigurieren Sie Memcached mit Apache und PHP

So installieren und konfigurieren Sie den DNS-Server unter Linux