Zum Hauptinhalt springen

Web-Installer-Walkthrough

FeedbackPulse SaaS enthält einen ansprechenden, browserbasierten Installer. Keine Befehlszeile erforderlich (nach dem anfänglichen Dateiupload und composer install).


Auf den Installer zugreifen

Navigieren Sie zu:

https://yourdomain.com/install

Installer nicht sichtbar? Stellen Sie sicher, dass:

  • Ihr Webserver auf das public/-Verzeichnis zeigt
  • Apache mod_rewrite aktiviert ist (oder Nginx korrekte try_files hat)
  • Es KEINE storage/installed.lock-Datei gibt (diese blockiert den Installer nach der Erstinstallation)

Schritt 1: Willkommen & Lizenz

Der erste Bildschirm heißt Sie willkommen und fragt nach Ihrem Envato/CodeCanyon-Kaufcode.

Wo Sie Ihren Kaufcode finden:

  1. Bei CodeCanyon anmelden
  2. Zu Downloads → FeedbackPulse SaaS finden
  3. Auf DownloadLizenzzertifikat und Kaufcode klicken
  4. Der Kaufcode sieht so aus: a1b2c3d4-e5f6-7890-abcd-ef1234567890

Was er bewirkt:

  • Validiert Ihre Lizenz über die Envato API
  • Stellt sicher, dass Sie eine legitime Kopie haben
  • Schaltet den Rest des Installers frei

Schritt 2: Anforderungsprüfung

Der Installer scannt Ihren Server automatisch und prüft:

PHP-Version

  • PHP 8.4 oder höher ist erforderlich
  • Zeigt Ihre aktuelle PHP-Version an

Vendor-Abhängigkeiten

  • Prüft, ob vendor/autoload.php existiert (Composer-Abhängigkeiten müssen installiert oder hochgeladen sein)

PHP-Erweiterungen

Folgende werden geprüft:

  • pdo_mysql — Datenbankverbindung
  • mbstring — String-Verarbeitung
  • openssl — Verschlüsselung
  • tokenizer — Code-Verarbeitung
  • xml — XML-Verarbeitung
  • ctype — Zeichenvalidierung
  • json — JSON-Verarbeitung
  • bcmath — Mathematische Operationen
  • fileinfo — Dateityperkennung
  • curl — API-Anfragen

Verzeichnisberechtigungen

  • storage/ — Muss beschreibbar sein
  • bootstrap/cache/ — Muss beschreibbar sein

Ergebnisanzeige

  • Grüne Häkchen = Anforderung erfüllt
  • Rote Kreuze = Anforderung NICHT erfüllt (muss behoben werden, bevor fortgefahren werden kann)

Fehlgeschlagene Prüfungen beheben:

# Fehlende PHP-Erweiterungen installieren (Ubuntu)
sudo apt install php8.4-mysql php8.4-mbstring php8.4-xml php8.4-bcmath php8.4-curl php8.4-gd php8.4-zip

# Berechtigungen korrigieren
sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache

# PHP neu starten
sudo systemctl restart php8.4-fpm

Schritt 3: Datenbankkonfiguration

Geben Sie Ihre MySQL/MariaDB-Verbindungsdaten ein:

FeldBeispielHinweise
Datenbank-Host127.0.0.1127.0.0.1 statt localhost für Zuverlässigkeit verwenden
Datenbank-Port3306Standard-MySQL-Port
DatenbanknamefeedbackpulseMuss bereits existieren!
Datenbankbenutzernamefeedbackpulse_userMit vollen Rechten auf der Datenbank
Datenbankpasswortyour_secure_passwordDas Passwort des Benutzers

Vor diesem Schritt

Sie müssen die Datenbank zuerst erstellen:

-- In MySQL einloggen
mysql -u root -p

-- Datenbank erstellen
CREATE DATABASE feedbackpulse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Dedizierten Benutzer erstellen (empfohlen)
CREATE USER 'feedbackpulse_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON feedbackpulse.* TO 'feedbackpulse_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Was passiert, wenn Sie auf „Datenbank einrichten" klicken

  1. Der Installer testet die Verbindung
  2. Speichert Ihre Datenbankzugangsdaten in der .env-Datei
  3. Führt alle Datenbankmigrationen aus (erstellt ca. 30 Tabellen)
  4. Seeded Standard-Daten:
    • 3 Standard-Abonnementpläne (Starter, Growth, Pro)
    • Standard-Plattformeinstellungen
  5. Zeigt eine Erfolgsmeldung an

Hinweis: Session- und Cache-Treiber bleiben während der Installation als file für Stabilität. Sie werden beim Abschlussschritt automatisch zu database gewechselt.

Dieser Schritt kann je nach Server 10–30 Sekunden dauern.


Schritt 4: Admin-Konto

Erstellen Sie Ihr Superadmin-Konto:

FeldBeispielHinweise
Vollständiger NameMax MustermannIhr Anzeigename
E-Mail-Adresse[email protected]Wird für Login und Benachrichtigungen verwendet
Passwort(starkes Passwort)Mindestens 8 Zeichen. Ein starkes Passwort verwenden!
Passwort bestätigen(muss übereinstimmen)Muss übereinstimmen

Was passiert

  • Erstellt Ihr Benutzerkonto mit role = superadmin
  • Dies ist das einzige Superadmin-Konto, das automatisch erstellt wird
  • Sie verwenden dieses Konto für den Login unter /login und den Zugriff auf /admin/dashboard

Sicherheitstipp: Verwenden Sie ein einzigartiges, starkes Passwort. Sie können später in den Einstellungen 2FA aktivieren.


Schritt 5: E-Mail-Konfiguration

SMTP für den Versand von Transaktions-E-Mails konfigurieren:

FeldBeispielHinweise
SMTP-Hostsmtp.gmail.comSMTP-Server Ihres E-Mail-Anbieters
SMTP-Port587587 für TLS, 465 für SSL
SMTP-Benutzername[email protected]Normalerweise Ihre E-Mail-Adresse
SMTP-Passwortyour_app_passwordApp-spezifisches Passwort empfohlen
VerschlüsselungtlsTLS (empfohlen) oder SSL
Absenderadresse[email protected]Die „Von"-Adresse in ausgehenden E-Mails
AbsendernameFeedbackPulseDer „Von"-Name in ausgehenden E-Mails

Häufige SMTP-Anbieter

AnbieterHostPortVerschlüsselungHinweise
Gmailsmtp.gmail.com587TLSApp-Passwort erforderlich (kein reguläres Passwort)
Mailgunsmtp.mailgun.org587TLSGut für Transaktions-E-Mails
Amazon SESemail-smtp.{region}.amazonaws.com587TLSKostengünstig bei großem Volumen
SendGridsmtp.sendgrid.net587TLSapikey als Benutzername verwenden
Postmarksmtp.postmarkapp.com587TLSBeste Zustellbarkeit
Mailtrapsandbox.smtp.mailtrap.io587TLSNur zum Testen!

E-Mail jetzt nicht konfigurieren? Sie können diesen Schritt überspringen und später in Admin → Einstellungen → E-Mail konfigurieren. Die Plattform funktioniert ohne E-Mail, aber Funktionen wie Einladungen, Digests und Passwort-Resets werden nicht funktionieren.


Schritt 6: Installation abgeschlossen!

Sie sehen eine Erfolgsseite mit:

  • Datenbank konfiguriert und migriert
  • Admin-Konto erstellt
  • E-Mail konfiguriert
  • installed.lock-Datei erstellt
  • Session- und Cache-Treiber zu database gewechselt
  • CRON_TOKEN für webbasierten Cron automatisch generiert
  • Shared-Hosting-Hinweis (falls Symlink nicht erstellt werden konnte)

Cron-Job-Anweisungen (auf der Abschlussseite angezeigt)

Die Abschlussseite zeigt zwei Cron-Setup-Optionen mit Kopieren-Einfügen-Befehlen:

  1. CLI-Befehl — für VPS/dedizierte Server:

    * * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1
  2. URL/wget — für Shared Hosting (verwendet den automatisch generierten CRON_TOKEN):

    wget -q -O /dev/null "https://yourdomain.com/cron/run?token=YOUR_CRON_TOKEN"

Speichern Sie diese! Kopieren Sie den Cron-Befehl von der Abschlussseite, bevor Sie wegnavigieren. Ihren CRON_TOKEN finden Sie auch in der .env-Datei.

Die installed.lock-Datei

Der Installer erstellt storage/installed.lock, um zu verhindern, dass der Installer erneut ausgeführt wird. Dies ist eine Sicherheitsmaßnahme.

Um den Installer erneut auszuführen (z. B. bei einer Neuinstallation), löschen Sie diese Datei:

rm storage/installed.lock

Dann /install erneut aufrufen.


Post-Installations-Checkliste

Nach dem Abschluss des Installers:

  • Cron-Job einrichten mit den Anweisungen auf der Abschlussseite (siehe Cron-Jobs & Queue-Worker)
  • Unter https://yourdomain.com/login mit Ihren Superadmin-Zugangsdaten anmelden
  • Admin → Pläne besuchen — Abonnementpläne überprüfen und anpassen
  • Admin → Einstellungen → Zahlungen besuchen — Stripe/PayPal verbinden
  • Admin → Einstellungen → E-Mail besuchen — Test-E-Mail senden
  • Admin → Landing-Page besuchen — öffentliche Homepage anpassen
  • SSL einrichten (siehe SSL-Zertifikate)
  • Optional Wildcard-DNS einrichten (siehe Wildcard-DNS-Setup)

Nächste Schritte