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:
- Melden Sie sich bei cPanel an.
- Klicken Sie auf Addon Domains (im Bereich Domains).
- Füllen Sie aus:
- New Domain Name: z.B.
leads.ihredomain.com - Document Root: Ändern Sie dies zu
public_html/leadhub/public
- New Domain Name: z.B.
- 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 derpublic/-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
storage→ 755 (rekursiv)bootstrap/cache→ 755
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
-
Bereich Advanced → Cron Jobs.
-
Alle Zeitfelder auf
*(jede Minute). -
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_SECRETblockiertcron.phpallen Web-Zugriff.
Berechtigungsreferenz
| Ordner / Datei | Berechtigung | Grund |
|---|---|---|
storage/ (und Unterordner) | 755 | Sessions, Logs, Cache, hochgeladene Dateien |
bootstrap/cache/ | 755 | Kompilierte Konfiguration |
public/ | 755 | Webserver liest Dateien hier |
| PHP-Dateien | 644 | Vom Webserver lesbar |
.env | 640 oder 644 | Sensibel |
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
| Problem | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Leere weiße Seite | Falsche PHP-Version | Wechseln Sie zu PHP 8.3 |
| 404-Fehler | Dateien am falschen Ort oder mod_rewrite inaktiv | Dateispeicherort und .htaccess prüfen |
| 403-Fehler | Falsche Berechtigungen | storage/ und public/ auf 755 setzen |
| /install nicht erreichbar | Pfadproblem bei flacher Installation | index.php muss direkt in public_html/ liegen |
| Cron-Job läuft nicht | Falscher Pfad | Vollständigen Pfad zu PHP und cron.php prüfen |
| Automatisierungen lösen nicht aus | Cron-Job nicht eingerichtet | Cron-Job überprüfen |
| Datei-Uploads fehlgeschlagen | storage/app/public/ nicht beschreibbar | storage/ rekursiv auf 755 setzen |
| E-Mails werden nicht gesendet | E-Mail nicht konfiguriert | Einstellungen → E-Mail, SMTP konfigurieren |
| Datenbankverbindung nicht möglich | Falsche Zugangsdaten | Name, Benutzer und Passwort prüfen |
| Weißer Bildschirm nach Login | Session-Speicherproblem | storage/framework/sessions/ prüfen |
| Installer sagt bereits installiert | installed.lock-Datei existiert | Aus storage/ löschen |
| Addon-Domain zeigt übergeordnete Seite | Zeigt nicht auf public/ | Document Root bearbeiten |