WordPress, Caddy Webserver, Let’sEncrypt auf Debian 11 (Bullseye)

Diese Anleitung ist eine Kombination von verschiedenen Quellen:

Ich arbeite als root, somit sind meine Befehle ohne sudo:

Caddy Webserver installieren

# Repository (Installationsquelle) einrichten
apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add -
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update

# Caddy Webserver installieren
apt install caddy
# Zugriff auf privilegierte Ports erlauben
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy

PHP installieren

# Update der Installation
apt update && sudo apt upgrade
# PHP 7.4 installieren
apt install php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-xml php-cli php-zip php-fpm
# PHP konfigurieren
nano /etc/php/7.4/apache2/php.ini

In der Datei php.ini müssen die folgenden Zeilen geändert werden:

max_execution_time = 300
upload_max_filesize = 128M
post_max_size = 128M

Anschließend muss noch FastCGI konfiguriert werden:

nano /etc/php/7.4/fpm/pool.d/www.conf

Hier müssen die folgenden Werte gefunden und ersetzt werden:

user = caddy
group = caddy
listen.owner = caddy
listen.group = caddy

Datenbankinstallation

MariaDB ist ein vollständiger und transparenter Ersatz für MySQL. Daher installieren wir MariaDB und rufen dann MySQL-Befehle auf.

# MariaDB installieren
apt install -y mariadb-server mariadb-client
# MariaDB starten, bei jedem Systemstart
systemctl start mariadb
systemctl enable mariadb
# MariaDB Installation absichern (Datenbank root-Passwort vergeben)
mysql_secure_installation
# Den SQL–Client aufrufen
mysql -u root -p

Die folgenden Befehle sind SQL und werden im SQL-Client eingegeben.

CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'Geh31m!';
GRANT ALL ON wordpress.* TO 'wp_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT

WordPress installieren

# Wechsel in das Home-Verzeichnis
cd
# WordPress herunterladen und entpacken
wget https://wordpress.org/latest.tar.gz
tar xfz ~/latest.tar.gz
# WordPress in das Verzeichnis des Webservers verschieben…
mv wordpress /usr/share/caddy/sitename.example
# …und in das Verzeichnis wechseln
cd /usr/share/caddy/sitename.example
# Zugriffsrechte anpassen
chown -R caddy:caddy ./
chmod -R 755 ./

Caddy Webserver konfigurieren

nano /etc/caddy/Caddyfile

Die folgende Konfiguration muss der Konfigurationsdatei hinzugefügt werden:

sitename.example {
    tls you@sitename.example
    root * /usr/share/caddy/sitename.example
    encode gzip
    php_fastcgi unix//run/php/php7.4-fpm.sock

##   For WP Multisite Network WPMU
#    uri path_regexp ^/[a-zA-Z0-9]+/wp- /wp-

    file_server
}

Caddy Webserver starten

# Caddy Webserver starten
systemctl start caddy
# Caddy Webserver bei jedem Systemstart starten
systemctl enable caddy

Caddy kümmert sich selbst um TLS Zertifikate. Wenige Sekunden nach dem ersten Start kann die Website über eine sichere Verbindung aufgerufen werden: https://sitename.example


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert