Eigene WordPress-Website zu Hause hosten und weltweit darauf zugreifen

Melden

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.

  1. Installiere Ubuntu auf deinem Rechner.
  2. Ö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.

  1. Erstelle einen Ordner für dein Projekt: mkdir wordpress-home && cd wordpress-home

  2. Erstelle eine Konfigurationsdatei: nano docker-compose.yml

  3. 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:
  4. Speichere (Strg+O) und schließe (Strg+X).

  5. 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.

  1. Logge dich in deinen Router ein.
  2. Suche den Bereich Port-Freigabe oder Port Forwarding.
  3. 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!).

  1. Registriere dich bei einem DDNS-Anbieter.
  2. Du erhältst eine Adresse wie mein-zuhause.duckdns.org.
  3. 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.

  1. Erweitere deine docker-compose.yml um den Nginx Proxy Manager oder installiere ihn separat.
  2. Leite im Router Port 80 und 443 direkt auf den Proxy Manager weiter.
  3. 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:

  1. Logge dich in WordPress ein (/wp-admin).
  2. Gehe zu Einstellungen > Allgemein.
  3. Ändere die WordPress-Adresse (URL) und Website-Adresse (URL) von http://lokale-ip:8080 auf https://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 ufw auf Linux, um nur nötige Ports zu erlauben.
  • Backups: Sichere regelmäßig den Ordner wordpress-home und 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.

0