Caddy oder Caddy-Webserver ist ein Open-Source-HTTP/2-fähiger Webserver, der in Go geschrieben wurde. Caddy kann auf verschiedenen Systemen ausgeführt werden, einschließlich solchen mit Linux-, Windows-, Mac OS-, Android- und BSD-Betriebssystemen. Caddy hat viele Funktionen und kann als Webserver und als Reverse-Proxy für Ihre Anwendung installiert werden. Die bemerkenswertesten Funktionen des Caddy-Webservers sind die standardmäßig aktivierte automatische HTTPS-Funktion ohne zusätzliche Konfiguration.
In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie den Caddy-Webserver mit PHP-FPM 7.x auf Ubuntu 16.04 installieren und konfigurieren. Wir installieren caddy in der lokalen Umgebung und konfigurieren dann PHP-FPM für PHP-basierte Anwendungen.
Voraussetzungen
- Ubuntu 16.04-Server
- Root-Rechte
Was wir tun werden
- Installieren Sie den Caddy-Webserver
- Caddy-Webserver konfigurieren
- Caddy as a Service auf Systemd Ubuntu 16.04 ausführen
- Installieren Sie PHP und PHP-FPM 7.0
- Caddy-Webserver mit PHP-FPM konfigurieren
- Testen
Schritt 1 – Caddy-Webserver installieren
In diesem Schritt installieren wir den Caddy-Webserver mithilfe des Installationsskripts. Das Skript lädt die Binärdatei automatisch herunter und extrahiert sie in das bin-Verzeichnis.
Laden Sie das Installationsskript herunter und machen Sie es ausführbar.
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
Führen Sie nun das Installationsskript mit sudo aus.
sudo ./getcaddy personal http.ipfilter,http.ratelimit
Hinweis:
- Getcaddy =Caddy-Installationsskript.
- persönlich =Lizenz für unsere Installation.
- http.ipfileter ... =Caddy-Plug-in-Installation einbeziehen.
Warten Sie auf die Installation des Caddy-Webservers und Sie erhalten das Ergebnis wie unten.
Der Caddy-Webserver wurde auf Ubuntu 16.04 installiert.
Schritt 2 – Grundkonfiguration des Caddy-Webservers
In diesem Schritt konfigurieren wir den Caddy-Webserver. Wir erstellen einen neuen Benutzer namens „Caddy“, erstellen ein neues Verzeichnis für die Caddy-Konfigurationsdatei, ein neues Verzeichnis für die Caddy-Protokolldateien und ein neues Verzeichnis für das Caddy-Webstammverzeichnis.
Erstellen Sie einen neuen „Caddy“-Benutzer mit der Option „/bin/false“, wie unten gezeigt.
useradd -M -s /bin/false caddy
Führen Sie nun die folgenden mkdir-Befehle aus, um das caddy-Verzeichnis zu erstellen.
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
Und ändern Sie den Besitz auf den Caddy-Benutzer.
chown -R caddy:root /etc/caddy /var/log/caddy
Als Nächstes erstellen wir eine neue Caddy-Konfigurationsdatei mit dem Namen „Caddyfile“. Wechseln Sie in das Verzeichnis „/etc/caddy“ und erstellen Sie die Konfiguration mit dem vim-Befehl.
cd /etc/caddy/
vim Caddyfile
Fügen Sie dort die grundlegende Caddy-Konfiguration ein.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
Speichern und beenden.
Hinweis:
- tls off =wir führen caddy auf dem lokalen Server aus, wenn Sie sich auf dem Live-Server befinden, aktivieren Sie die Option.
Die Grundkonfiguration für den Caddy-Webserver ist abgeschlossen.
Schritt 3 – Ausführen von Caddy als Dienst auf Systemd Ubuntu 16.04
In diesem Schritt führen wir den Caddy-Webserver als Dienst auf dem systemd-System aus und erstellen die Datei index.html für unseren Caddy-Webserver.
Erstellen Sie mit vim eine neue Servicedatei mit dem Namen „caddy.service“.
vim /etc/systemd/system/caddy.service
Fügen Sie dort die folgende Konfiguration ein.
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
Speichern und beenden.
Laden Sie nun das systemd-System neu und starten Sie den Caddy-Dienst mit dem Befehl systemctl, wie unten gezeigt.
systemctl daemon-reload
systemctl start caddy
Aktivieren Sie es, um es jedes Mal beim Systemstart zu starten.
systemctl enable caddy
Der Caddy-Webserver läuft jetzt als Dienst auf Ubuntu 16.04.
Als Nächstes erstellen wir eine neue index.html-Datei im Web-Root-Verzeichnis „/var/www/html“.
Wechseln Sie in dieses Verzeichnis und erstellen Sie die Datei index.html mit den folgenden Befehlen.
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
Ändern Sie nun den Eigentümer der Datei in den Benutzer und die Gruppe „caddy“.
chown -R caddy:caddy /var/www/html
Die Datei index.html wurde erstellt. Öffnen Sie den Webbrowser und geben Sie den Domänennamen ein, den Sie in der 'Caddyfile'-Konfiguration eingegeben haben, meiner ist:
http://hakase-labs.co/
Und Sie erhalten die von uns erstellte Indexseite.
Schritt 4 – Installieren Sie PHP und PHP-FPM 7.0
In diesem Schritt installieren wir PHP-FPM-Pakete aus dem Ubuntu-Repository.
Führen Sie den folgenden apt-Befehl aus.
sudo apt install -y php7.0-fpm php7.0-cli curl
Nach Abschluss der Installation konfigurieren wir die Konfigurationsdatei für PHP-FPM.
Gehen Sie in das Verzeichnis ‚/etc/php/7.0/fpm‘ und bearbeiten Sie die Pool-Konfigurationsdatei ‚www‘conf‘ mit vim.
cd /etc/php/7.0/fpm
vim pool.d/www.conf
Entkommentieren Sie die Zeilen unten.
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
Speichern und beenden.
Fügen Sie nun den Benutzer „caddy“ zur Gruppe „www-data“ hinzu.
usermod -a -G www-data caddy
Starten Sie den PHP-FPM-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM-Installation und -Konfiguration für unsere Caddy-Webserver-Installation sind abgeschlossen.
Überprüfen Sie den PHP-FPM-Socket-Dateiprozess mit dem folgenden netstat-Befehl.
netstat -pl | grep php
Schritt 5 – Caddy-Webserver mit PHP-FPM konfigurieren
Nach der PHP-FPM-Installation und -Konfiguration werden wir dem Caddy-Webserver PHP-FPM-Unterstützung hinzufügen.
Gehen Sie in das Konfigurationsverzeichnis „/etc/caddy“ und bearbeiten Sie die Konfigurationsdatei „Caddyfile“ mit vim.
cd /etc/caddy
vim Caddyfile
Fügen Sie nun die folgende PHP-FPM-Konfiguration für caddy unter Ihrer Domain-Namensklammer wie unten beschrieben hinzu.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
Speichern und beenden.
Starten Sie den Caddy-Webserver und den PHP-FPM-Dienst neu.
systemctl restart caddy
systemctl restart php7.0-fpm
Die Konfiguration des Caddy-Webservers mit PHP-FPM ist abgeschlossen.
Schritt 6 – Testen
Gehen Sie in das Web-Root-Verzeichnis ‚/var/ww/html‘ und erstellen Sie die phpinfo-Datei ‚info.php‘.
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
Öffnen Sie Ihren Webbrowser und geben Sie die Installations-URL des Caddy-Webservers wie unten beschrieben ein.
http://hakase-labs.co/info.php
Und Sie erhalten die unten gezeigte PHP-Informationsseite.
Die Installation für den Caddy-Webserver mit PHP-FPM auf Ubuntu 16.04 wurde erfolgreich abgeschlossen.