Installationsanleitung
Dies ist die vollständige, schrittweise Installationsanleitung für FeedbackPulse SaaS. Befolgen Sie jeden Schritt sorgfältig.
Installations-Checkliste
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Einen Server, der alle Anforderungen erfüllt
- Einen Domainnamen, der auf die IP-Adresse Ihres Servers zeigt
- SSH-Zugang zu Ihrem Server (oder FTP für den Dateiupload)
- Eine MySQL/MariaDB-Datenbank und Zugangsdaten
- Ein SMTP-E-Mail-Konto (Gmail, Mailgun, Amazon SES usw.)
- Ihren Envato-Kaufcode (aus der CodeCanyon-Bestellung)
Schritt 1: Dateien auf Ihren Server hochladen
Option A: Per SSH (empfohlen)
# Mit dem Server verbinden
ssh user@your-server-ip
# In das Web-Verzeichnis navigieren
cd /var/www
# Die ZIP-Datei hochladen und entpacken
# (ZIP über SCP, SFTP oder wget von einem temporären Link hochladen)
unzip feedbackpulse-saas.zip -d feedbackpulse-saas
cd feedbackpulse-saas
Option B: Per FTP/SFTP
- Mit FileZilla, WinSCP oder ähnlichem mit Ihrem Server verbinden
- In Ihr Web-Verzeichnis navigieren (normalerweise
/var/www/oder/home/user/public_html/) - Den gesamten entpackten Ordner
feedbackpulse-saashochladen - Sicherstellen, dass das Unterverzeichnis
public/zugänglich ist
Option C: Per cPanel File Manager
- Bei cPanel anmelden
- File Manager öffnen → zu
public_htmlnavigieren (oder ein Unterverzeichnis) - Die ZIP-Datei hochladen
- Direkt dort entpacken
- Wichtig: Sie müssen das Document Root auf den
public/-Ordner setzen (siehe Apache-Konfiguration)
Schritt 2: Dateiberechtigungen setzen
cd /var/www/feedbackpulse-saas
# Eigentümerschaft setzen (www-data durch Ihren Webserver-Benutzer ersetzen)
# Apache: www-data | Nginx: www-data oder nginx
sudo chown -R www-data:www-data .
# Verzeichnisberechtigungen setzen
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
# Storage und Cache beschreibbar machen
sudo chmod -R 775 storage bootstrap/cache
Schritt 3: Webserver konfigurieren
Ihr Webserver muss auf das Verzeichnis public/ innerhalb des Projekts zeigen — NICHT auf das Projektstammverzeichnis. Dies ist eine kritische Sicherheitsanforderung.
Wählen Sie Ihren Webserver:
- Apache-Konfiguration
- Nginx-Konfiguration
- Shared Hosting (cPanel, Plesk, DirectAdmin) — wenn Sie Shared Hosting nutzen, folgen Sie dieser Anleitung!
Kurzversion:
Apache:
DocumentRoot /var/www/feedbackpulse-saas/public
Nginx:
root /var/www/feedbackpulse-saas/public;
Nach der Konfiguration Ihren Webserver neu starten:
# Apache
sudo systemctl restart apache2
# Nginx
sudo systemctl restart nginx
Schritt 4: Storage-Symlink (automatisch)
Der Web-Installer versucht beim letzten Schritt automatisch, den Storage-Symlink zu erstellen. Sie müssen keine Befehle ausführen.
- VPS/Dedizierter Server: Der Symlink wird automatisch erstellt. Keine Maßnahme erforderlich.
- Shared Hosting: Wenn Symlinks bei Ihrem Anbieter deaktiviert sind, verwendet FeedbackPulse einen integrierten PHP-Fallback, um hochgeladene Dateien (Logos, Bilder) bereitzustellen. Alles funktioniert — keine Maßnahme erforderlich.
Die Abschlussseite des Installers teilt Ihnen mit, ob der Symlink erstellt wurde oder ob der Fallback aktiv ist.
Schritt 5: Web-Installer ausführen
Öffnen Sie Ihren Browser und navigieren Sie zu:
https://yourdomain.com/install
Der Installer führt Sie durch 5 Schritte. Für detaillierte Screenshots und Erläuterungen lesen Sie den Web-Installer-Walkthrough.
Kurzübersicht:
Schritt 1: Lizenzverifizierung
- Geben Sie Ihren Envato/CodeCanyon-Kaufcode ein
- Dieser validiert Ihre Lizenz über die Envato API
- Wenn Sie Envato nicht nutzen, gibt es möglicherweise eine Überspringen-Option
Schritt 2: Anforderungsprüfung
- Der Installer prüft automatisch:
- Vendor-Abhängigkeiten (
vendor/autoload.phpexistiert) - PHP-Version (8.2+)
- Erforderliche PHP-Erweiterungen
- Verzeichnisberechtigungen (storage, bootstrap/cache)
- Hosting-Umgebung (erkennt Shared Hosting, zeigt Kompatibilitätsinformationen)
- Vendor-Abhängigkeiten (
- Beheben Sie alle fehlgeschlagenen Punkte, bevor Sie fortfahren
Schritt 3: Datenbank-Setup
- Geben Sie Ihre Datenbankzugangsdaten ein:
- Host:
127.0.0.1(oderlocalhost) - Port:
3306 - Datenbankname:
feedbackpulse(zuerst erstellen!) - Benutzername: Ihr Datenbankbenutzername
- Passwort: Ihr Datenbankpasswort
- Host:
- Der Installer führt alle Migrationen durch und seeded Standard-Daten
Datenbank zuerst erstellen:
CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Schritt 4: Admin-Konto
- Erstellen Sie Ihr Superadmin-Konto:
- Name: Ihr Name
- E-Mail: [email protected]
- Passwort: Ein starkes Passwort (min. 8 Zeichen)
- Dies ist das Konto, mit dem Sie die gesamte Plattform verwalten
Schritt 5: E-Mail-Konfiguration
- Geben Sie Ihre SMTP-Daten ein:
- Host: z. B.
smtp.gmail.com - Port:
587(TLS) oder465(SSL) - Benutzername: Ihr SMTP-Benutzername
- Passwort: Ihr SMTP-Passwort oder App-Passwort
- Verschlüsselung: TLS (empfohlen)
- Absenderadresse:
[email protected]
- Host: z. B.
- Sie können dies überspringen und später in den Admin-Einstellungen konfigurieren
Abschluss
- Wechselt Session- und Cache-Treiber für die Produktion zu
database - Generiert einen
CRON_TOKENfür den webbasierten Cron-Endpunkt - Erstellt eine
storage/installed.lock-Datei (verhindert erneutes Ausführen) - Zeigt eine Erfolgsseite mit Cron-Job-Einrichtungsanweisungen (CLI- und URL-Optionen) und nächsten Schritten
Schritt 6: Cron-Job einrichten
FeedbackPulse benötigt einen Cron-Job für geplante Aufgaben. Dieser ist unverzichtbar für:
- Senden von E-Mail-Digests (täglich/wöchentlich)
- Verarbeiten von Testlaufabläufen
- Durchsetzen von Datenspeicherungsrichtlinien
- Senden von Nutzungswarnungen
- KI-Anomalieerkennung ausführen
- Geplante Berichte senden
Option 1 — CLI-Befehl (VPS / Dedizierter Server):
crontab -e
Diese Zeile hinzufügen:
* * * * * cd /var/www/feedbackpulse-saas && php artisan schedule:run >> /dev/null 2>&1
Option 2 — URL/wget (Shared Hosting):
Wenn Ihr Hosting-Panel nur URL-basierte Cron-Jobs unterstützt, verwenden Sie den Web-Cron-Endpunkt (der CRON_TOKEN wird automatisch während der Installation generiert und auf der Abschlussseite angezeigt):
wget -q -O /dev/null "https://yourdomain.com/cron/run?token=YOUR_CRON_TOKEN"
Tipp: Die Abschlussseite des Installers zeigt beide Optionen mit Ihrem tatsächlichen Serverpfad und Token vorausgefüllt an. Kopieren Sie sie von dort!
Weitere Details finden Sie unter Cron-Jobs & Queue-Worker.
Schritt 7: SSL konfigurieren (HTTPS)
HTTPS wird aus Sicherheitsgründen dringend empfohlen, insbesondere da FeedbackPulse Authentifizierungs- und Zahlungsdaten verarbeitet.
Mit Let's Encrypt (kostenlos)
# Certbot installieren
sudo apt install certbot python3-certbot-nginx # für Nginx
# ODER
sudo apt install certbot python3-certbot-apache # für Apache
# Zertifikat beziehen
sudo certbot --nginx -d yourdomain.com # für Nginx
# ODER
sudo certbot --apache -d yourdomain.com # für Apache
Certbot konfiguriert Ihren Webserver automatisch für HTTPS und richtet die automatische Erneuerung ein.
Weitere Details finden Sie unter SSL-Zertifikate.
Schritt 8: Installation verifizieren
Gehen Sie diese Checkliste durch:
| Prüfung | Wie | Erwartetes Ergebnis |
|---|---|---|
| Landing-Page lädt | https://yourdomain.com besuchen | Landing-Page sehen |
| Login funktioniert | https://yourdomain.com/login besuchen | Mit Superadmin-Zugangsdaten anmelden |
| Admin-Panel | https://yourdomain.com/admin/dashboard besuchen | Admin-Dashboard sehen |
| Storage-Link | https://yourdomain.com/storage/ besuchen | Kein 404-Fehler |
| Health-Check | https://yourdomain.com/up besuchen | „OK"-Text sehen |
| Cron läuft | Admin → Einstellungen prüfen | Keine Cron-Warnungen |
| E-Mail funktioniert | Admin → Einstellungen → E-Mail → Test senden | Test-E-Mail empfangen |
Post-Installations-Schritte
Nach Abschluss der Installation:
- Abonnementpläne überprüfen —
Admin → Pläne(Preise, Limits, Features bearbeiten) - Zahlungs-Gateways konfigurieren —
Admin → Einstellungen → Zahlungen(Stripe/PayPal API-Schlüssel) - Landing-Page anpassen —
Admin → Landing-Page - E-Mail-Zustellung testen —
Admin → Einstellungen → E-Mail → Test-E-Mail senden - Wildcard-DNS einrichten (optional) — für Mandanten-Subdomains. Siehe Wildcard-DNS-Setup.
- Ersten Mandanten erstellen — Im Inkognito-Fenster unter
/registerregistrieren
Installations-Fehlerbehebung
| Problem | Lösung |
|---|---|
| Leere weiße Seite | storage/logs/laravel.log auf Fehler prüfen. Meist ein Berechtigungsproblem. |
| 500 Server Error | Debug-Modus vorübergehend aktivieren: APP_DEBUG=true in .env setzen, dann den Fehler prüfen. |
| „Class not found" | Sicherstellen, dass das vendor/-Verzeichnis vorhanden und intakt ist. Falls nötig, aus dem heruntergeladenen Paket neu hochladen. |
| Datenbankverbindung abgelehnt | Zugangsdaten prüfen, sicherstellen, dass MySQL läuft, prüfen ob localhost vs. 127.0.0.1 einen Unterschied macht. |
| Installer lädt nicht | Sicherstellen, dass das Web-Root auf das public/-Verzeichnis zeigt. |
| CSS/JS lädt nicht | Browser-Cache leeren. Wenn Bilder fehlen, kümmert sich der Storage-Fallback auf Shared Hosting automatisch darum. Auf VPS /update als Superadmin besuchen, um den Symlink neu zu erstellen. |
| Berechtigung verweigert | Die chown- und chmod-Befehle aus Schritt 2 erneut ausführen. |
Weitere Informationen finden Sie unter Fehlerbehebung.
Nächste Schritte
- Web-Installer-Walkthrough — detaillierte Installer-Screenshots
- Apache-Konfiguration — Apache-Virtual-Host-Setup
- Nginx-Konfiguration — Nginx-Server-Block-Setup
- Konfiguration — Ihre
.envfeinabstimmen