WordPress betreibt über 40% aller Websites weltweit. Die Installation auf dem eigenen Server gibt Ihnen volle Kontrolle. In dieser Anleitung zeigen wir jeden Schritt.

Voraussetzungen

  • Linux-Server mit Root-Zugriff
  • Domain mit DNS-Eintrag auf den Server
  • Grundlegende Linux-Kenntnisse

Systemanforderungen

  • PHP 7.4 oder höher (empfohlen: 8.1+)
  • MySQL 5.7+ oder MariaDB 10.3+
  • Apache oder Nginx
  • HTTPS-Zertifikat (Let's Encrypt)

Schritt 1: System aktualisieren

apt update && apt upgrade -y

Schritt 2: Apache installieren

apt install apache2 -y
systemctl enable apache2

Schritt 3: PHP installieren

apt install php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -y

PHP-Version prüfen:

php -v

Schritt 4: MariaDB installieren

apt install mariadb-server -y
mysql_secure_installation

Datenbank einrichten

mysql -u root -p
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'SICHERES_PASSWORT';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Schritt 5: WordPress herunterladen

cd /var/www
wget https://de.wordpress.org/latest-de_DE.tar.gz
tar -xzf latest-de_DE.tar.gz
chown -R www-data:www-data wordpress
rm latest-de_DE.tar.gz

Schritt 6: Apache Virtual Host

nano /etc/apache2/sites-available/wordpress.conf

Inhalt:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/wordpress

    <Directory /var/www/wordpress>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
    CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>

Aktivieren:

a2ensite wordpress.conf
a2enmod rewrite
a2dissite 000-default.conf
systemctl restart apache2

Schritt 7: SSL-Zertifikat

apt install certbot python3-certbot-apache -y
certbot --apache -d example.com -d www.example.com

Schritt 8: WordPress konfigurieren

cd /var/www/wordpress
cp wp-config-sample.php wp-config.php
nano wp-config.php

Ändern Sie folgende Zeilen:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'SICHERES_PASSWORT' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

Sicherheitsschlüssel generieren

Besuchen Sie https://api.wordpress.org/secret-key/1.1/salt/ und ersetzen Sie die Platzhalter in wp-config.php.

Zusätzliche Einstellungen

Fügen Sie vor / That's all, stop editing! / hinzu:

// Direkte Dateibearbeitung
define('FS_METHOD', 'direct');

// Automatische Updates
define('WP_AUTO_UPDATE_CORE', true);

// Debug deaktivieren (Production)
define('WP_DEBUG', false);

Schritt 9: Web-Installation

1. Öffnen Sie https://example.com im Browser 2. Wählen Sie Ihre Sprache 3. Geben Sie Ihre Site-Informationen ein:

  • Site-Titel
  • Benutzername (nicht "admin"!)
  • Sicheres Passwort
  • E-Mail-Adresse

4. Klicken Sie auf "WordPress installieren"

Schritt 10: Erste Schritte nach der Installation

1. Einstellungen → Permalinks 2. "Beitragsname" auswählen 3. Speichern

Unnötige Inhalte löschen

  • Standard-Beitrag "Hallo Welt" löschen
  • Standard-Seite "Beispiel-Seite" bearbeiten oder löschen
  • Unnötige Plugins deaktivieren (Akismet, Hello Dolly)

Wichtige Plugins installieren

  • Wordfence oder Solid Security: Sicherheit
  • UpdraftPlus: Backups
  • WP Super Cache oder W3 Total Cache: Performance
  • Yoast SEO: Suchmaschinenoptimierung

WordPress absichern

Dateirechte setzen

find /var/www/wordpress -type d -exec chmod 755 {} \;
find /var/www/wordpress -type f -exec chmod 644 {} \;
chmod 600 /var/www/wordpress/wp-config.php

wp-config.php schützen

In /var/www/wordpress/.htaccess:

<Files wp-config.php>
    Order Allow,Deny
    Deny from all
</Files>

Admin-Bereich einschränken (optional)

<Files wp-login.php>
    Order Deny,Allow
    Deny from all
    Allow from YOUR.IP.ADDRESS
</Files>

XML-RPC deaktivieren (falls nicht benötigt)

<Files xmlrpc.php>
    Order Allow,Deny
    Deny from all
</Files>

Performance optimieren

PHP-Einstellungen

In /etc/php/8.1/apache2/php.ini:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

OPcache aktivieren

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

Apache neu starten:

systemctl restart apache2

Backup einrichten

Automatisches Backup mit WP-CLI

# WP-CLI installieren
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

Backup-Script:

#!/bin/bash
DATE=$(date +%Y%m%d)
cd /var/www/wordpress
wp db export /backup/wordpress-db-$DATE.sql --allow-root
tar -czf /backup/wordpress-files-$DATE.tar.gz /var/www/wordpress

Updates

Manuelle Updates

1. Backup erstellen 2. Dashboard → Aktualisierungen 3. Alles aktualisieren

Automatische Updates

WordPress aktualisiert Minor-Versionen automatisch. Für Major-Versionen in wp-config.php:

define('WP_AUTO_UPDATE_CORE', 'minor'); // Nur Minor
define('WP_AUTO_UPDATE_CORE', true);    // Alle

Fazit

WordPress auf dem eigenen Server zu betreiben gibt Ihnen volle Kontrolle über Performance und Sicherheit. Achten Sie auf regelmäßige Updates und Backups. Alternativ bieten wir bei Serverdiscounter Webhosting mit vorinstalliertem WordPress und automatischen Updates.