Ein stabiler WordPress-Stack auf Linux erfordert die sorgfältige Konfiguration von Nginx als Webserver, PHP-FPM für die PHP-Verarbeitung und MariaDB als Datenbank. Dieser Leitfaden erklärt Schritt für Schritt, wie Einsteiger, IT-Studierende und Junior Network Engineers eine performante und sichere WordPress-Umgebung aufbauen, inklusive Best Practices für PHP-FPM-Pools, MariaDB-User und Nginx-Serverblocks.
Systemvoraussetzungen
- Linux-Distribution (Ubuntu 22.04 LTS oder CentOS 9)
- Root- oder sudo-Zugriff
- Grundlegende Kenntnisse in CLI und Texteditoren (nano/vi)
- Internetzugang für Pakete und Updates
Nginx installieren und konfigurieren
Nginx ist ein leistungsfähiger Webserver, der sich besonders für WordPress eignet, wenn PHP-FPM genutzt wird.
Installation
# Ubuntu
sudo apt update
sudo apt install nginx -y
CentOS
sudo dnf install nginx -y
Serverblock für WordPress
sudo nano /etc/nginx/sites-available/wordpress.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/wordpress;
index index.php index.html index.htm;
access_log /var/log/nginx/wordpress.access.log;
error_log /var/log/nginx/wordpress.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
# Symbolischen Link aktivieren
sudo ln -s /etc/nginx/sites-available/wordpress.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
PHP-FPM installieren und tunen
PHP-FPM verarbeitet PHP-Anfragen und sollte für WordPress optimiert werden.
Installation
# Ubuntu
sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring -y
CentOS
sudo dnf install php-fpm php-mysqlnd php-curl php-gd php-mbstring -y
PHP-FPM Pool konfigurieren
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
[www]
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
php_admin_value[memory_limit] = 256M
# PHP-FPM neu starten
sudo systemctl restart php8.1-fpm
sudo systemctl enable php8.1-fpm
MariaDB installieren und absichern
MariaDB dient als Datenbank für WordPress. Es sollten dedizierte Benutzer und sichere Passwörter eingerichtet werden.
Installation
# Ubuntu
sudo apt install mariadb-server mariadb-client -y
CentOS
sudo dnf install mariadb-server mariadb -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
Sicherheit konfigurieren
sudo mysql_secure_installation
- Root-Passwort setzen
- Anonyme Benutzer entfernen
- Remote Root-Login deaktivieren
- Testdatenbanken löschen
- Reload der Privilegien
Datenbank und Benutzer für WordPress
sudo mysql -u root -p
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'Str0ngP@ssw0rd';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
WordPress herunterladen und einrichten
cd /var/www
sudo wget https://de.wordpress.org/latest-de_DE.tar.gz
sudo tar -xzvf latest-de_DE.tar.gz
sudo mv wordpress wordpress
sudo chown -R www-data:www-data wordpress
sudo chmod -R 755 wordpress
wp-config.php erstellen
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
Datenbankdetails anpassen
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'Str0ngP@ssw0rd');
define('DB_HOST', 'localhost');
Netzwerk- und Subnetzplanung
Für den Web-Stack empfiehlt sich die Segmentierung interner Dienste, um Sicherheit und Monitoring zu erleichtern.
IPv4 Subnetz
<math>
Web-Server-IP = 192.168.480.10/24
Subnetzadresse = 192.168.480.0
Broadcastadresse = 192.168.480.255
</math>
IPv6 Subnetz
<math>
Web-Server-IP = 2001:db8:abcd:480::10/64
Subnetzadresse = 2001:db8:abcd:480::0
Broadcastadresse = 2001:db8:abcd:480:ffff:ffff:ffff:ffff
</math>
Best Practices
- Dedizierte Benutzer für Webserver und PHP-FPM
- PHP-FPM Pools für Performance anpassen
- MariaDB Benutzer mit minimalen Rechten für WordPress
- Nginx-Serverblocks für jede Domain/WordPress-Installation
- Regelmäßige Updates von OS, PHP, Nginx und WordPress
- Backups und Monitoring einrichten
- SSL/TLS für HTTPS erzwingen
- Firewall-Regeln für Webserver, Datenbank und interne Dienste
- Logfiles regelmäßig prüfen und rotieren
- Testumgebung identisch zur Produktion aufbauen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

