Zum Inhalt

Installation

Diese Anleitung führt dich Schritt für Schritt von Null bis zur laufenden Stream-Seite. Plane ca. 15–20 Minuten ein.


Voraussetzungen

Bevor du startest, brauchst du:

Anforderung Details
Webhosting mit PHP 8.0+ Die meisten Hoster (Hetzner, IONOS, All-Inkl, Strato …) erfüllen das. PHP-Erweiterungen curl, openssl, mbstring, json müssen aktiv sein (Standard bei fast allen).
Cron-Job-Möglichkeit Zum automatischen Aktualisieren der Streams alle 60 s. Fast jedes Hosting-Panel bietet das (cPanel, Plesk, KIS …).
HTTPS / SSL Pflicht. Bei den meisten Hostern per Let's Encrypt 1-Klick aktivierbar.
Twitch-Developer-Account Kostenlos. Liefert Client-ID + Secret für die Stream-Abfrage. → Anleitung
FTP- oder Datei-Manager-Zugang Zum Hochladen der Dateien.

Ohne HTTPS funktioniert das Admin-Panel nicht sicher

Session-Cookies werden nur über HTTPS mit dem Secure-Flag gesetzt. Aktiviere SSL vor dem ersten Login.


Schritt 1 — Dateien hochladen

  1. Entpacke das gekaufte ZIP-Archiv lokal.
  2. Lade alle Dateien per FTP (z. B. FileZilla) oder den Datei-Manager deines Hosters in das Webroot-Verzeichnis hoch (meist htdocs/, public_html/ oder www/).

Die Struktur sieht danach so aus:

public_html/
├── index.html          ← öffentliche Stream-Seite
├── admin.php           ← Admin-Panel
├── setup.php           ← Setup-Wizard (einmalig)
├── fetch.php           ← Cron-Worker
├── site-config.php
├── proxy.php
├── twitch.php
├── default-logo.png
├── favicon.png
├── .htaccess           ← wichtig! (siehe Hinweis)
└── ...

Versteckte .htaccess nicht vergessen

Die Datei .htaccess beginnt mit einem Punkt und ist im FTP-Client oft ausgeblendet. Aktiviere „versteckte Dateien anzeigen" und lade sie mit hoch — sie schützt config.php, data.json & Co. vor direktem Zugriff aus dem Web.


Schritt 2 — Twitch-API vorbereiten

Du brauchst eine Client-ID und ein Client-Secret von Twitch. Die komplette Anleitung mit Screenshots:

Twitch-API einrichten

Halte beide Werte bereit — du gibst sie im nächsten Schritt in den Wizard ein.


Schritt 3 — Setup-Wizard

Rufe im Browser auf:

https://deine-domain.de/setup.php

Der Wizard führt dich durch 5 Schritte:

Prüft automatisch PHP-Version, Erweiterungen und Schreibrechte. Alles grün? → Weiter.

Schreibrechte

Falls ein Punkt rot ist: das Verzeichnis braucht Schreibrechte (CHMOD 755 für Ordner, 644 für Dateien — bei den meisten Hostern Standard).

Trage Client-ID und Client-Secret ein. Der Wizard holt damit automatisch ein App-Token und macht einen Live-Test gegen die Twitch-API. Erfolg = grünes Häkchen.

Übersicht der Einstellungen. Hier wird der Verschlüsselungs-Key generiert, mit dem Webhooks und 2FA-Secrets gesichert werden.

Lege dein erstes Admin-Konto an:

  • Benutzername: 3–32 Zeichen (A–Z, 0–9, _, -)
  • Passwort: mindestens 12 Zeichen (16+ mit Sonderzeichen empfohlen)

Dieses Konto hat vollen Zugriff. 2FA kannst du direkt nach dem Login aktivieren.

Der Wizard sperrt sich selbst (.setup_complete) und kann nicht erneut missbraucht werden. Du wirst zum Admin-Panel weitergeleitet.

Sicherheits-Gate

Der Wizard erzeugt beim ersten Aufruf einen einmaligen Token und ist nach Abschluss gesperrt. So kann niemand nach dir ein zweites Admin-Konto anlegen.


Schritt 4 — Cron-Job einrichten

Damit die Stream-Liste sich automatisch aktualisiert, muss fetch.php regelmäßig laufen (empfohlen: jede Minute).

Variante A — über das Hosting-Panel (cPanel/Plesk)

Lege einen neuen Cron-Job an, der jede Minute Folgendes ausführt:

php /pfad/zu/deinem/webroot/fetch.php

Den exakten Pfad zeigt dir dein Hoster (oft /home/USER/public_html/). Als Intervall „jede Minute" bzw. * * * * * wählen.

Variante B — klassischer crontab (eigener Server / VPS)

crontab -e

Zeile hinzufügen:

* * * * * php /var/www/html/fetch.php >> /tmp/streamer_fetch.log 2>&1

Erster Lauf

Nach dem ersten Cron-Lauf (max. 60 s) erscheinen die Streams auf der öffentlichen Seite. Vorher zeigt sie „niemand live" — das ist normal.

Test ohne Warten

Du kannst fetch.php einmalig manuell über SSH anstoßen:

php /var/www/html/fetch.php
# Ausgabe: OK: 12/87 Streams gecacht (1 Seiten)

Schritt 5 — Erste Konfiguration

Logge dich in https://deine-domain.de/admin.php ein und richte ein:

  1. Branding — Community-Name, Logo, Favicon
  2. Twitch-Filter — Kategorie(n) + Sprache wählen
  3. Stream-Präfixe — das Tag, das deine Streamer im Titel tragen (leer lassen = alle Streams der Kategorie)
  4. Community-Links — Discord, YouTube, Twitch, Shop …
  5. Design — Farben & Verläufe nach Wunsch

Jedes Feld hat ein ℹ️-Symbol mit Erklärung, was rein muss und wo es auf der öffentlichen Seite erscheint.

Vollständige Konfigurations-Referenz


Manuelle Installation (ohne Wizard)

Falls du den Wizard überspringen willst (z. B. für automatisierte Deployments):

  1. Lege eine config.php im Webroot an:

    config.php
    <?php
    return [
        'twitch_client_id' => 'DEINE_CLIENT_ID',
        'twitch_app_token' => 'DEIN_APP_TOKEN',
        'aes_key_b64'      => base64_encode(random_bytes(32)), // einmal generieren, dann fest
    ];
    
  2. Lege users.json mit deinem Admin an (Passwort-Hash via password_hash('deinpw', PASSWORD_DEFAULT)).

  3. Erstelle eine leere .setup_complete-Datei, um den Wizard zu sperren.
  4. Cron wie oben einrichten.

Empfohlen bleibt der Wizard

Er generiert Key, Token und Hash korrekt und macht den Twitch-Live-Test — weniger Fehlerquellen.


Geschafft ✅

Deine Stream-Seite läuft. Weiter mit: