Eigene WordPress-Website zu Hause hosten und weltweit darauf zugreifen
Dieses Tutorial führt dich Schritt für Schritt durch den Prozess, deine eigene WordPress-Website auf einem eigenen Rechner zu Hause (z. B. einem alten Laptop oder einem Raspberry Pi) zu hosten und sie über das Internet weltweit erreichbar zu machen.
Vorwort: Risiken und Voraussetzungen
Bevor du startest, solltest du wissen: Dein privater Rechner muss 24/7 laufen, damit die Website erreichbar ist. Zudem öffnest du dein Heimnetzwerk für das Internet, was Sicherheitsrisiken birgt.
Was du benötigst:
- Einen dedizierten Rechner (z. B. Raspberry Pi oder ein PC mit Ubuntu Linux).
- Eine stabile Internetverbindung.
- Zugriff auf deine Router-Einstellungen.
- Eine eigene Domain (optional, aber empfohlen).
Schritt 1: Das Betriebssystem vorbereiten
Wir nutzen in diesem Tutorial Ubuntu Server (oder Desktop) und Docker, da dies die sauberste und einfachste Methode ist.
- Installiere Ubuntu auf deinem Rechner.
- Öffne das Terminal und installiere Docker und Docker-Compose:
sudo apt update sudo apt install docker.io docker-compose -y
Schritt 2: WordPress mit Docker-Compose aufsetzen
Docker ermöglicht es uns, WordPress und die Datenbank (MySQL) in isolierten Containern zu starten.
-
Erstelle einen Ordner für dein Projekt:
mkdir wordpress-home && cd wordpress-home -
Erstelle eine Konfigurationsdatei:
nano docker-compose.yml -
Füge folgenden Inhalt ein:
version: '3.3' services: db: image: mysql:8.0 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: dein_passwort MYSQL_DATABASE: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8080:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: dein_passwort WORDPRESS_DB_NAME: wordpress volumes: db_data: -
Speichere (Strg+O) und schließe (Strg+X).
-
Starte WordPress:
sudo docker-compose up -d
Du kannst nun im lokalen Netzwerk über http://deine-lokale-ip:8080 auf WordPress zugreifen.
Schritt 3: Port-Weiterleitung am Router
Damit Anfragen aus dem Internet deinen Server finden, musst du die Ports an deinem Router (z. B. Fritz!Box) freigeben.
- Logge dich in deinen Router ein.
- Suche den Bereich Port-Freigabe oder Port Forwarding.
- Leite den Port 80 (HTTP) und 443 (HTTPS) an die lokale IP-Adresse deines Servers weiter.
Schritt 4: Dynamisches DNS (DDNS) einrichten
Die meisten privaten Internetanschlüsse haben eine wechselnde IP-Adresse. Damit deine Website erreichbar bleibt, benötigst du einen DDNS-Dienst (z. B. DuckDNS, No-IP oder MyFRITZ!).
- Registriere dich bei einem DDNS-Anbieter.
- Du erhältst eine Adresse wie
mein-zuhause.duckdns.org. - Konfiguriere deinen Router so, dass er die IP-Adresse automatisch beim Anbieter aktualisiert.
Schritt 5: Erreichbarkeit über SSL (HTTPS) absichern
Eine Website ohne HTTPS wird heute von Browsern als unsicher blockiert. Wir nutzen den Nginx Proxy Manager, um SSL-Zertifikate von Let's Encrypt zu verwalten.
- Erweitere deine
docker-compose.ymlum den Nginx Proxy Manager oder installiere ihn separat. - Leite im Router Port 80 und 443 direkt auf den Proxy Manager weiter.
- Im Web-Interface des Proxy Managers erstellst du einen "Proxy Host":
- Domain Names: Deine DDNS-Adresse (oder echte Domain).
- Scheme: http
- Forward IP: Die lokale IP deines Servers.
- Forward Port: 8080
- SSL: Tab "SSL" auswählen -> "Request a new SSL Certificate".
Schritt 6: WordPress-Konfiguration anpassen
Damit WordPress weiß, dass es nun über eine externe Domain erreichbar ist:
- Logge dich in WordPress ein (
/wp-admin). - Gehe zu Einstellungen > Allgemein.
- Ändere die WordPress-Adresse (URL) und Website-Adresse (URL) von
http://lokale-ip:8080aufhttps://deine-domain.de.
Schritt 7: Sicherheitstipps
Dein Server steht nun offen im Netz. Beachte folgende Punkte:
- Updates: Halte Ubuntu und Docker-Container aktuell (
docker-compose pull && docker-compose up -d). - Firewall: Nutze
ufwauf Linux, um nur nötige Ports zu erlauben. - Backups: Sichere regelmäßig den Ordner
wordpress-homeund die Datenbank. - Starker Admin-User: Benenne den Standard-Nutzer "admin" in WordPress um und nutze ein langes Passwort sowie 2FA.
Herzlichen Glückwunsch! Deine WordPress-Seite läuft nun auf deinem eigenen Server zu Hause und ist weltweit sicher über HTTPS erreichbar.