Zum Hauptinhalt springen

Shared-Hosting-Anleitung (cPanel, Plesk, DirectAdmin)

LeadHub ist von Grund auf für den Betrieb auf Shared Hosting konzipiert. Sie benötigen keinen VPS, keinen dedizierten Server, keinen SSH-Zugang und keinerlei Kommandozeilenkenntnisse. Wenn Sie eine Datei hochladen und ein Webformular ausfüllen können, können Sie LeadHub installieren und betreiben.

Diese Anleitung behandelt alles, was für Shared-Hosting-Umgebungen spezifisch ist.


LeadHub auf Shared Hosting — Was Sie Wissen Müssen

Was Sie absolut NICHT benötigen

  • Kein SSH / Terminal / Kommandozeile — niemals
  • Keine Artisan-Befehle — LeadHub erfordert nie die Eingabe von Befehlen
  • Kein Composer — alle PHP-Abhängigkeiten sind im vendor/-Ordner vorinstalliert
  • Kein Node.js oder npm — alles CSS und JavaScript ist vorkompiliert
  • Kein Redis — LeadHub verwendet standardmäßig dateibasierte Sessions und Caching
  • Kein Supervisor — die cron.php-Datei ersetzt die gesamte Hintergrundverarbeitung
  • Kein Root-Zugang — Standard-Shared-Hosting-Benutzerberechtigungen reichen aus

Was Sie BENÖTIGEN

  • PHP 8.3 oder höher (wählbar in cPanel/Plesk/DirectAdmin)
  • Eine MySQL-Datenbank (alle Shared-Hosting-Anbieter bieten diese an)
  • Die Möglichkeit, einen Cron-Job hinzuzufügen
  • Etwa 500 MB freier Speicherplatz
  • Apache mit aktiviertem mod_rewrite (Standard bei fast allen Shared Hosts)

Installationsoption Wählen — Option A oder Option B

  • Option A — Addon-Domain (Empfohlen): LeadHub bekommt eine eigene dedizierte Domain oder Subdomain (z.B. leads.ihredomain.com). Dies ist die sauberste Konfiguration.
  • Option B — Flache Installation in public_html: Sie installieren LeadHub direkt in Ihrem public_html/-Ordner. Funktioniert, erfordert aber einige zusätzliche Schritte.

Option A — Addon-Domain (Empfohlen)

Schritt 1: Addon-Domain oder Subdomain Erstellen

In cPanel:

  1. Melden Sie sich bei cPanel an.
  2. Klicken Sie auf Addon Domains (im Bereich Domains).
  3. Füllen Sie aus:
    • New Domain Name: z.B. leads.ihredomain.com
    • Document Root: Ändern Sie dies zu public_html/leadhub/public
  4. Klicken Sie auf Add Domain.

Warum auf public/ verweisen? Die Anwendungsdateien von LeadHub (app/, config/, storage/, vendor/) sind so konzipiert, dass sie oberhalb des Web-Root liegen. Nur der public/-Ordner sollte vom Browser erreichbar sein.

In Plesk: Domain/Subdomain hinzufügen und Document Root auf leadhub/public setzen.

In DirectAdmin: Domain hinzufügen und Document Root auf leadhub/public setzen.

Schritt 2: LeadHub-Dateien Hochladen

Serverstruktur:

public_html/
leadhub/ ← alle LeadHub-Dateien hier
app/
bootstrap/
config/
database/
public/ ← hierhin zeigt Ihre Addon-Domain
resources/
routes/
storage/
vendor/
cron.php
...etc

Schritt 3: MySQL-Datenbank Erstellen

In cPanel → MySQL Databases: Datenbank erstellen, Benutzer erstellen, alle Berechtigungen vergeben.

Schritt 4: Dateiberechtigungen Setzen

  • storage755 (rekursiv)
  • bootstrap/cache755

Schritt 5: Installationsassistenten Starten

Öffnen Sie https://leads.ihredomain.com/install und folgen Sie den fünf Schritten.


Option B — Flache Installation in public_html/

Verschieben Sie alles aus public_html/leadhub/public/ direkt nach public_html/, ebenso alle anderen LeadHub-Ordner. Die index.php erkennt diese Anordnung automatisch.

public_html/
index.php ← aus leadhub/public/
.htaccess ← aus leadhub/public/
app/ ← aus leadhub/
storage/ ← aus leadhub/
vendor/ ← aus leadhub/
cron.php ← aus leadhub/
...etc

Datenbank erstellen, Berechtigungen setzen und https://ihredomain.com/install besuchen.


Cron-Job Einrichten — KRITISCH

Dies ist der wichtigste Schritt nach der Installation. Ohne den Cron-Job verarbeitet LeadHub keine eingehenden Leads, Automatisierungen laufen nicht und E-Mails werden nicht gesendet.

In cPanel

  1. Bereich Advanced → Cron Jobs.

  2. Alle Zeitfelder auf * (jede Minute).

  3. Befehl:

    php /home/ihrbenutzername/public_html/leadhub/cron.php >> /dev/null 2>&1

In Plesk

php /var/www/vhosts/ihredomain.com/leadhub/cron.php >> /dev/null 2>&1

In DirectAdmin

php /home/ihrbenutzername/domains/ihredomain.com/leadhub/cron.php >> /dev/null 2>&1

Den Richtigen PHP-Pfad Finden

Häufige Pfade: /usr/local/bin/php, /usr/bin/php, /opt/cpanel/ea-php83/root/usr/bin/php

Alternative: Webbasierter Cron

Fügen Sie CRON_SECRET=IhrZufälligesGeheimnis zur .env-Datei hinzu und konfigurieren Sie eine Cron-URL:

https://ihredomain.com/cron.php?token=IhrZufälligesGeheimnis

Sicherheitshinweis: Ohne gesetztes CRON_SECRET blockiert cron.php allen Web-Zugriff.


Berechtigungsreferenz

Ordner / DateiBerechtigungGrund
storage/ (und Unterordner)755Sessions, Logs, Cache, hochgeladene Dateien
bootstrap/cache/755Kompilierte Konfiguration
public/755Webserver liest Dateien hier
PHP-Dateien644Vom Webserver lesbar
.env640 oder 644Sensibel

Die Richtige PHP-Version Auswählen

cPanel: Software → MultiPHP Manager → PHP 8.3 → Apply. Plesk: Websites & Domains → PHP Settings → PHP 8.3 → OK. DirectAdmin: Domain Setup → PHP Version → 8.3.


Fehlerbehebung

ProblemWahrscheinliche UrsacheLösung
Leere weiße SeiteFalsche PHP-VersionWechseln Sie zu PHP 8.3
404-FehlerDateien am falschen Ort oder mod_rewrite inaktivDateispeicherort und .htaccess prüfen
403-FehlerFalsche Berechtigungenstorage/ und public/ auf 755 setzen
/install nicht erreichbarPfadproblem bei flacher Installationindex.php muss direkt in public_html/ liegen
Cron-Job läuft nichtFalscher PfadVollständigen Pfad zu PHP und cron.php prüfen
Automatisierungen lösen nicht ausCron-Job nicht eingerichtetCron-Job überprüfen
Datei-Uploads fehlgeschlagenstorage/app/public/ nicht beschreibbarstorage/ rekursiv auf 755 setzen
E-Mails werden nicht gesendetE-Mail nicht konfiguriertEinstellungen → E-Mail, SMTP konfigurieren
Datenbankverbindung nicht möglichFalsche ZugangsdatenName, Benutzer und Passwort prüfen
Weißer Bildschirm nach LoginSession-Speicherproblemstorage/framework/sessions/ prüfen
Installer sagt bereits installiertinstalled.lock-Datei existiertAus storage/ löschen
Addon-Domain zeigt übergeordnete SeiteZeigt nicht auf public/Document Root bearbeiten