Diese Anleitung ist eine Kombination von verschiedenen Quellen:
- Install WordPress on Debian 11 with Apache and Let’s Encrypt
- How to Install Caddy Web Server on Debian 11
- diverse Schnipsel von hier und da.
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
Schreibe einen Kommentar