InfrawireInfrawire LogoDokumentation

WordPress auf einem Linux VPS installieren

Diese Anleitung erklärt, wie Sie WordPress auf Ihrem Linux VPS installieren. WordPress ist das weltweit beliebteste Content-Management-System (CMS), das von Millionen von Websites verwendet wird.

⚠️ Wichtige Warnung

📋 Voraussetzungen

  • Ein Linux VPS mit Root- oder sudo-Zugriff
  • Mindestens 1 GB RAM (2 GB für WordPress empfohlen)
  • Mindestens 10 GB freier Festplattenspeicher
  • Ein Domainname, der auf Ihre VPS-IP zeigt
  • Ports 80 (HTTP) und 443 (HTTPS) in Ihrer Firewall geöffnet

💡 Infrastruktur-Empfehlung

Für optimale WordPress-Leistung empfehlen wir unsere NVMe VPS für Websites mit moderatem Traffic oder unsere Performance VPS für Websites mit hohem Traffic, die erhebliche CPU-Ressourcen benötigen. NVMe-Laufwerke beschleunigen das Laden von Seiten und Datenbankoperationen erheblich.

🔧 Methode 1: Installation mit LAMP (Apache)

Schritt 1: System aktualisieren

Bash
1# Paketliste aktualisieren 2sudo apt update 3 4# Installierte Pakete aktualisieren 5sudo apt upgrade -y

Schritt 2: Apache installieren

Bash
1# Apache installieren 2sudo apt install -y apache2 3 4# Apache starten 5sudo systemctl start apache2 6 7# Apache beim Booten aktivieren 8sudo systemctl enable apache2 9 10# Status überprüfen 11sudo systemctl status apache2

Schritt 3: MySQL installieren

Bash
1# MySQL Server installieren 2sudo apt install -y mysql-server 3 4# MySQL starten 5sudo systemctl start mysql 6 7# MySQL beim Booten aktivieren 8sudo systemctl enable mysql 9 10# MySQL-Installation absichern 11sudo mysql_secure_installation

Während der Absicherung müssen Sie:

  • Ein Root-Passwort für MySQL festlegen
  • Anonyme Benutzer entfernen
  • Remote-Root-Login deaktivieren
  • Test-Datenbank entfernen
  • Berechtigungen neu laden

Schritt 4: WordPress-Datenbank erstellen

Bash
# Mit MySQL verbinden sudo mysql -u root -p

Führen Sie in MySQL die folgenden Befehle aus:

SQL
1-- Datenbank erstellen 2CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 3 4-- Benutzer für WordPress erstellen 5CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'IhrSicheresPasswort123!'; 6 7-- Alle Berechtigungen für Benutzer gewähren 8GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 9 10-- Änderungen anwenden 11FLUSH PRIVILEGES; 12 13-- MySQL verlassen 14EXIT;

Schritt 5: PHP und erforderliche Erweiterungen installieren

Bash
1# PHP und für WordPress erforderliche Erweiterungen installieren 2sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip libapache2-mod-php 3 4# PHP-Version überprüfen 5php -v

WordPress erfordert PHP 7.4 oder höher. Um eine bestimmte Version zu installieren:

Bash
# Für PHP 8.1 (empfohlen) sudo apt install -y php8.1 php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip libapache2-mod-php8.1

Schritt 6: WordPress herunterladen

Bash
1# Zum temporären Verzeichnis wechseln 2cd /tmp 3 4# Neueste WordPress-Version herunterladen 5curl -O https://wordpress.org/latest.tar.gz 6 7# Archiv extrahieren 8tar xzf latest.tar.gz 9 10# WordPress ins Web-Verzeichnis kopieren 11sudo cp -r wordpress/* /var/www/html/ 12 13# Richtige Berechtigungen setzen 14sudo chown -R www-data:www-data /var/www/html 15sudo chmod -R 755 /var/www/html

Schritt 7: WordPress konfigurieren

Bash
1# Konfigurationsdatei erstellen 2cd /var/www/html 3sudo cp wp-config-sample.php wp-config.php 4 5# Konfigurationsdatei bearbeiten 6sudo nano wp-config.php

Ändern Sie die folgenden Zeilen mit Ihren Datenbankinformationen:

PHP
define( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'IhrSicheresPasswort123!' ); define( 'DB_HOST', 'localhost' );

Fügen Sie auch diese Sicherheitszeilen hinzu (generieren Sie eindeutige Schlüssel):

PHP
1define('AUTH_KEY', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 2define('SECURE_AUTH_KEY', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 3define('LOGGED_IN_KEY', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 4define('NONCE_KEY', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 5define('AUTH_SALT', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 6define('SECURE_AUTH_SALT', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 7define('LOGGED_IN_SALT', 'generieren-sie-einen-eindeutigen-schluessel-hier'); 8define('NONCE_SALT', 'generieren-sie-einen-eindeutigen-schluessel-hier');

Sie können eindeutige Schlüssel generieren unter: https://api.wordpress.org/secret-key/1.1/salt/

Schritt 8: Apache für WordPress konfigurieren

Bash
1# Rewrite-Modul aktivieren 2sudo a2enmod rewrite 3 4# Apache-Konfiguration bearbeiten 5sudo nano /etc/apache2/sites-available/000-default.conf

Fügen Sie den Abschnitt <Directory /var/www/html> hinzu oder ändern Sie ihn:

Apache
1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>

Apache neu starten:

Bash
sudo systemctl restart apache2

Schritt 9: Installation über Web-Interface abschließen

  1. Öffnen Sie Ihren Browser
  2. Gehen Sie zu: http://IHRE_IP oder http://ihredomain.com
  3. Folgen Sie dem WordPress-Installationsassistenten:
    • Wählen Sie Ihre Sprache
    • Füllen Sie die Website-Informationen aus (Titel, Admin-Benutzer, E-Mail, Passwort)
    • Klicken Sie auf WordPress installieren

🔧 Methode 2: Installation mit LEMP (Nginx)

Schritt 1: Nginx installieren

Bash
1# Nginx installieren 2sudo apt install -y nginx 3 4# Nginx starten 5sudo systemctl start nginx 6 7# Nginx beim Booten aktivieren 8sudo systemctl enable nginx

Schritt 2: MySQL installieren (identisch mit LAMP-Methode)

Befolgen Sie die Schritte 3 und 4 der LAMP-Methode, um MySQL zu installieren und die Datenbank zu erstellen.

Schritt 3: PHP-FPM installieren

Bash
1# PHP-FPM und Erweiterungen installieren 2sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip 3 4# Für PHP 8.1 5sudo apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip

Schritt 4: WordPress herunterladen

Befolgen Sie Schritt 6 der LAMP-Methode, um WordPress herunterzuladen und zu installieren.

Schritt 5: Nginx für WordPress konfigurieren

Bash
# Konfigurationsdatei für Ihre Website erstellen sudo nano /etc/nginx/sites-available/wordpress

Fügen Sie die folgende Konfiguration hinzu (ersetzen Sie ihredomain.com durch Ihre Domain):

Nginx
1server { 2 listen 80; 3 listen [::]:80; 4 server_name ihredomain.com www.ihredomain.com; 5 root /var/www/html; 6 index index.php index.html index.htm; 7 8 location / { 9 try_files $uri $uri/ /index.php?$args; 10 } 11 12 location ~ \.php$ { 13 include snippets/fastcgi-php.conf; 14 fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 15 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 16 include fastcgi_params; 17 } 18 19 location ~ /\.ht { 20 deny all; 21 } 22}

Website aktivieren:

Bash
1# Symbolischen Link erstellen 2sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ 3 4# Konfiguration testen 5sudo nginx -t 6 7# Nginx neu starten 8sudo systemctl restart nginx

Schritt 6: WordPress konfigurieren

Befolgen Sie die Schritte 7 und 9 der LAMP-Methode, um WordPress zu konfigurieren.

🔒 WordPress absichern

1. Dateiberechtigungen ändern

Bash
1# Berechtigungen für Dateien 2sudo find /var/www/html -type f -exec chmod 644 {} \; 3 4# Berechtigungen für Verzeichnisse 5sudo find /var/www/html -type d -exec chmod 755 {} \; 6 7# Spezielle Berechtigungen für wp-config.php 8sudo chmod 600 /var/www/html/wp-config.php

2. SSL-Zertifikat mit Let's Encrypt installieren

Bash
1# Certbot installieren 2sudo apt install -y certbot python3-certbot-apache 3# Für Nginx: sudo apt install -y certbot python3-certbot-nginx 4 5# SSL-Zertifikat erhalten 6sudo certbot --apache -d ihredomain.com -d www.ihredomain.com 7# Für Nginx: sudo certbot --nginx -d ihredomain.com -d www.ihredomain.com 8 9# Automatische Erneuerung 10sudo certbot renew --dry-run

3. Firewall konfigurieren

Bash
1# HTTP und HTTPS erlauben 2sudo ufw allow 'Apache Full' 3# Für Nginx: sudo ufw allow 'Nginx Full' 4 5# Oder manuell 6sudo ufw allow 80/tcp 7sudo ufw allow 443/tcp

4. Anmeldeversuche begrenzen

Installieren Sie ein WordPress-Sicherheits-Plugin wie:

  • Wordfence Security
  • iThemes Security
  • Sucuri Security

5. Dateibearbeitung über Interface deaktivieren

Fügen Sie in wp-config.php hinzu:

PHP
define('DISALLOW_FILE_EDIT', true);

🔄 WordPress-Updates

Über WordPress-Interface

  1. Melden Sie sich bei WordPress Admin an
  2. Gehen Sie zu DashboardUpdates
  3. Klicken Sie auf Jetzt aktualisieren

Über WP-CLI (Befehlszeile)

Bash
1# WP-CLI installieren 2curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar 3chmod +x wp-cli.phar 4sudo mv wp-cli.phar /usr/local/bin/wp 5 6# WordPress aktualisieren 7cd /var/www/html 8sudo -u www-data wp core update 9sudo -u www-data wp plugin update --all 10sudo -u www-data wp theme update --all

📦 Empfohlene Plugins

  • Yoast SEO : Suchmaschinenoptimierung
  • Wordfence Security : Sicherheit und Schutz
  • UpdraftPlus : Automatische Backups
  • W3 Total Cache : Caching zur Leistungsverbesserung
  • Contact Form 7 : Kontaktformulare

❓ Häufige Probleme

Fehler "Error establishing a database connection"

Lösungen:

  1. Überprüfen Sie die Anmeldedaten in wp-config.php
  2. Überprüfen Sie, dass MySQL gestartet ist: sudo systemctl status mysql
  3. Verbindung testen: mysql -u wordpress_user -p wordpress_db

Für Apache:

Bash
# Überprüfen, dass mod_rewrite aktiviert ist sudo a2enmod rewrite sudo systemctl restart apache2

Für Nginx: Überprüfen Sie, dass die try_files-Konfiguration korrekt ist.

Berechtigungsprobleme

Bash
# Berechtigungen korrigieren sudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;

📝 Nützliche Befehle

Bash
1# Service-Status überprüfen 2sudo systemctl status apache2 # oder nginx 3sudo systemctl status mysql 4 5# Services neu starten 6sudo systemctl restart apache2 # oder nginx 7sudo systemctl restart mysql 8 9# Apache-Logs anzeigen 10sudo tail -f /var/log/apache2/error.log 11 12# Nginx-Logs anzeigen 13sudo tail -f /var/log/nginx/error.log 14 15# PHP-FPM-Logs anzeigen 16sudo tail -f /var/log/php8.1-fpm.log

📞 Benötigen Sie Hilfe?

Wenn Sie Schwierigkeiten bei der Installation von WordPress haben, wenden Sie sich bitte an den Infrawire-Support. Unser Team steht Ihnen zur Verfügung.


Hinweis : Für eine bessere WordPress-Erfahrung mit dediziertem Support, automatischen Backups und vorkonfigurierten Optimierungen sollten Sie unser WordPress dediziertes Webhosting in Betracht ziehen.