Zum Hauptinhalt springen

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

  1. Mit FileZilla, WinSCP oder ähnlichem mit Ihrem Server verbinden
  2. In Ihr Web-Verzeichnis navigieren (normalerweise /var/www/ oder /home/user/public_html/)
  3. Den gesamten entpackten Ordner feedbackpulse-saas hochladen
  4. Sicherstellen, dass das Unterverzeichnis public/ zugänglich ist

Option C: Per cPanel File Manager

  1. Bei cPanel anmelden
  2. File Manager öffnen → zu public_html navigieren (oder ein Unterverzeichnis)
  3. Die ZIP-Datei hochladen
  4. Direkt dort entpacken
  5. 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:

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

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.php existiert)
    • PHP-Version (8.2+)
    • Erforderliche PHP-Erweiterungen
    • Verzeichnisberechtigungen (storage, bootstrap/cache)
    • Hosting-Umgebung (erkennt Shared Hosting, zeigt Kompatibilitätsinformationen)
  • Beheben Sie alle fehlgeschlagenen Punkte, bevor Sie fortfahren

Schritt 3: Datenbank-Setup

  • Geben Sie Ihre Datenbankzugangsdaten ein:
    • Host: 127.0.0.1 (oder localhost)
    • Port: 3306
    • Datenbankname: feedbackpulse (zuerst erstellen!)
    • Benutzername: Ihr Datenbankbenutzername
    • Passwort: Ihr Datenbankpasswort
  • 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) oder 465 (SSL)
    • Benutzername: Ihr SMTP-Benutzername
    • Passwort: Ihr SMTP-Passwort oder App-Passwort
    • Verschlüsselung: TLS (empfohlen)
    • Absenderadresse: [email protected]
  • 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_TOKEN fü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üfungWieErwartetes Ergebnis
Landing-Page lädthttps://yourdomain.com besuchenLanding-Page sehen
Login funktionierthttps://yourdomain.com/login besuchenMit Superadmin-Zugangsdaten anmelden
Admin-Panelhttps://yourdomain.com/admin/dashboard besuchenAdmin-Dashboard sehen
Storage-Linkhttps://yourdomain.com/storage/ besuchenKein 404-Fehler
Health-Checkhttps://yourdomain.com/up besuchen„OK"-Text sehen
Cron läuftAdmin → Einstellungen prüfenKeine Cron-Warnungen
E-Mail funktioniertAdmin → Einstellungen → E-Mail → Test sendenTest-E-Mail empfangen

Post-Installations-Schritte

Nach Abschluss der Installation:

  1. Abonnementpläne überprüfenAdmin → Pläne (Preise, Limits, Features bearbeiten)
  2. Zahlungs-Gateways konfigurierenAdmin → Einstellungen → Zahlungen (Stripe/PayPal API-Schlüssel)
  3. Landing-Page anpassenAdmin → Landing-Page
  4. E-Mail-Zustellung testenAdmin → Einstellungen → E-Mail → Test-E-Mail senden
  5. Wildcard-DNS einrichten (optional) — für Mandanten-Subdomains. Siehe Wildcard-DNS-Setup.
  6. Ersten Mandanten erstellen — Im Inkognito-Fenster unter /register registrieren

Installations-Fehlerbehebung

ProblemLösung
Leere weiße Seitestorage/logs/laravel.log auf Fehler prüfen. Meist ein Berechtigungsproblem.
500 Server ErrorDebug-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 abgelehntZugangsdaten prüfen, sicherstellen, dass MySQL läuft, prüfen ob localhost vs. 127.0.0.1 einen Unterschied macht.
Installer lädt nichtSicherstellen, dass das Web-Root auf das public/-Verzeichnis zeigt.
CSS/JS lädt nichtBrowser-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 verweigertDie chown- und chmod-Befehle aus Schritt 2 erneut ausführen.

Weitere Informationen finden Sie unter Fehlerbehebung.


Nächste Schritte