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_rewriteaktiviert ist (oder Nginx korrektetry_fileshat)- 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:
- Bei CodeCanyon anmelden
- Zu Downloads → FeedbackPulse SaaS finden
- Auf Download → Lizenzzertifikat und Kaufcode klicken
- 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.phpexistiert (Composer-Abhängigkeiten müssen installiert oder hochgeladen sein)
PHP-Erweiterungen
Folgende werden geprüft:
pdo_mysql— Datenbankverbindungmbstring— String-Verarbeitungopenssl— Verschlüsselungtokenizer— Code-Verarbeitungxml— XML-Verarbeitungctype— Zeichenvalidierungjson— JSON-Verarbeitungbcmath— Mathematische Operationenfileinfo— Dateityperkennungcurl— API-Anfragen
Verzeichnisberechtigungen
storage/— Muss beschreibbar seinbootstrap/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:
| Feld | Beispiel | Hinweise |
|---|---|---|
| Datenbank-Host | 127.0.0.1 | 127.0.0.1 statt localhost für Zuverlässigkeit verwenden |
| Datenbank-Port | 3306 | Standard-MySQL-Port |
| Datenbankname | feedbackpulse | Muss bereits existieren! |
| Datenbankbenutzername | feedbackpulse_user | Mit vollen Rechten auf der Datenbank |
| Datenbankpasswort | your_secure_password | Das 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
- Der Installer testet die Verbindung
- Speichert Ihre Datenbankzugangsdaten in der
.env-Datei - Führt alle Datenbankmigrationen aus (erstellt ca. 30 Tabellen)
- Seeded Standard-Daten:
- 3 Standard-Abonnementpläne (Starter, Growth, Pro)
- Standard-Plattformeinstellungen
- Zeigt eine Erfolgsmeldung an
Hinweis: Session- und Cache-Treiber bleiben während der Installation als
filefür Stabilität. Sie werden beim Abschlussschritt automatisch zudatabasegewechselt.
Dieser Schritt kann je nach Server 10–30 Sekunden dauern.
Schritt 4: Admin-Konto
Erstellen Sie Ihr Superadmin-Konto:
| Feld | Beispiel | Hinweise |
|---|---|---|
| Vollständiger Name | Max Mustermann | Ihr 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
/loginund 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:
| Feld | Beispiel | Hinweise |
|---|---|---|
| SMTP-Host | smtp.gmail.com | SMTP-Server Ihres E-Mail-Anbieters |
| SMTP-Port | 587 | 587 für TLS, 465 für SSL |
| SMTP-Benutzername | [email protected] | Normalerweise Ihre E-Mail-Adresse |
| SMTP-Passwort | your_app_password | App-spezifisches Passwort empfohlen |
| Verschlüsselung | tls | TLS (empfohlen) oder SSL |
| Absenderadresse | [email protected] | Die „Von"-Adresse in ausgehenden E-Mails |
| Absendername | FeedbackPulse | Der „Von"-Name in ausgehenden E-Mails |
Häufige SMTP-Anbieter
| Anbieter | Host | Port | Verschlüsselung | Hinweise |
|---|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | TLS | App-Passwort erforderlich (kein reguläres Passwort) |
| Mailgun | smtp.mailgun.org | 587 | TLS | Gut für Transaktions-E-Mails |
| Amazon SES | email-smtp.{region}.amazonaws.com | 587 | TLS | Kostengünstig bei großem Volumen |
| SendGrid | smtp.sendgrid.net | 587 | TLS | apikey als Benutzername verwenden |
| Postmark | smtp.postmarkapp.com | 587 | TLS | Beste Zustellbarkeit |
| Mailtrap | sandbox.smtp.mailtrap.io | 587 | TLS | Nur zum Testen! |
E-Mail jetzt nicht konfigurieren? Sie können diesen Schritt überspringen und später in
Admin → Einstellungen → E-Mailkonfigurieren. 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
databasegewechselt CRON_TOKENfü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:
-
CLI-Befehl — für VPS/dedizierte Server:
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1 -
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_TOKENfinden 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.lockDann
/installerneut 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/loginmit Ihren Superadmin-Zugangsdaten anmelden -
Admin → Plänebesuchen — Abonnementpläne überprüfen und anpassen -
Admin → Einstellungen → Zahlungenbesuchen — Stripe/PayPal verbinden -
Admin → Einstellungen → E-Mailbesuchen — Test-E-Mail senden -
Admin → Landing-Pagebesuchen — öffentliche Homepage anpassen - SSL einrichten (siehe SSL-Zertifikate)
- Optional Wildcard-DNS einrichten (siehe Wildcard-DNS-Setup)
Nächste Schritte
- Apache-Konfiguration oder Nginx-Konfiguration
- Umgebungsvariablen — Ihre
.envfeinabstimmen - Cron-Jobs & Queue-Worker — automatisierte Aufgaben einrichten