Site icon bintorosoft.com

WordPress Stack auf Linux: Nginx, PHP-FPM, MariaDB Setup

Programmer Bunny with laptop. Easter day concept. Generative Ai.

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

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

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

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:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version