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 -ySchritt 2: Apache installieren
apt install apache2 -y
systemctl enable apache2Schritt 3: PHP installieren
apt install php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -yPHP-Version prüfen:
php -vSchritt 4: MariaDB installieren
apt install mariadb-server -y
mysql_secure_installationDatenbank einrichten
mysql -u root -pCREATE 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.gzSchritt 6: Apache Virtual Host
nano /etc/apache2/sites-available/wordpress.confInhalt:
<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 apache2Schritt 7: SSL-Zertifikat
apt install certbot python3-certbot-apache -y
certbot --apache -d example.com -d www.example.comSchritt 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
Permalinks einrichten
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.phpwp-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 = 300OPcache aktivieren
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60Apache neu starten:
systemctl restart apache2Backup 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/wpBackup-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/wordpressUpdates
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); // AlleFazit
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.