FleetHub Dokumentieren

Häufig gestellte Fragen

Läuft FleetHub mit dem günstigsten Hostinger-Single-Tarif?

Ja – FleetHub ist vollständig kompatibel mit Hostinger Single (~2,99 $/Monat). Der Single-Plan beinhaltet PHP 8.3, MySQL, Cron-Jobs und kostenloses SSL. Kein SSH, Composer oder Befehlszeile erforderlich. Siehe Abschnitt Hostinger installieren.

Benötige ich für die Installation technische Kenntnisse?

Sind nicht. Web Installer kümmert sich um alles: Anforderungstests, Datenbank, Migration und Erstellung eines Administratorkontos. Laden Sie einfach die Datei hoch, gehen Sie zu /install und folgen Sie den Anweisungen.

Wie funktionieren geplante E-Mails (Compliance-/Wartungswarnungen)?

FleetHub verwendet den Laravel-Planer. Sie müssen nur einen Cron-Job so konfigurieren, dass er jede Minute ausgeführt wird; Laravel führt jede Aufgabe automatisch pünktlich aus. Auf cPanel: Erweitert → Cron-Jobs. Auf Hostinger: hPanel → Erweitert → Cron-Jobs. Wenn der Host kein Cron hat, verwenden Sie die Cron-URL in der App mit cron-job.org.

Welche Abschreibungsmethoden werden unterstützt?

Drei Methoden: Gerade, Abnehmender Saldo und Produktionseinheiten (in Taktkilometern). Der Fahrzeugwert wird monatlich aktualisiert und in die TCO-Tabelle aufgenommen.

Funktioniert der QR-Scanner auf Telefonen?

Ja – Fahrer und Manager scannen den Fahrzeug-QR-Code mit der Browserkamera über html5-qrcode. Schnelle Scans (Treibstoff, Uhr, Probleme) erfordern eine Protokollierung. Erfordert HTTPS.

Kann ich private Felder ohne Code hinzufügen?

Haben. Admin → Benutzerdefinierte Felder ermöglicht das Hinzufügen unbegrenzter Attribute, das Markieren nach Fahrzeugtyp, obligatorische Markierungen und Drag-and-Drop-Sortierung.

Wie viele Sprachen unterstützt FleetHub?

11 Sprachen: Englisch, Vietnamesisch, Spanisch, Französisch, Deutsch, Chinesisch, Japanisch, Portugiesisch (BR), Russisch, Arabisch (RTL) und Hindi. Verwalten Sie Übersetzungen unter Administration → Übersetzungen.

Kann FleetHub auf geteiltem cPanel-Hosting installiert werden?

Ja – FleetHub läuft auf shared cPanel-Hosting mit PHP 8.2+, MySQL und Cron Jobs. Es ist kein Composer oder Node.js auf dem Server erforderlich. Siehe Abschnitt cPanel installieren.

Wie kann ich FleetHub umbenennen (Anmeldeseite, Registerkartentitel und Farben)?

FleetHub kann vom Administrator aus komplett umbenannt werden – keine Notwendigkeit, Code oder npm run build zu ändern. Anmeldelogo, Fußzeile, Abzeichen und Tab-Titel unter Einstellungen → Branding → App-Name. Mit der Registerkarte Aussehen können Sie die helle/dunkle Farbe anpassen.

Rebranding-Checkliste: Update App-Nameauth.login_subtitle nach Sprache bearbeiten → Farbe anpassen unter Einstellungen → Erscheinungsbild.

Kurzreferenz:

ArtikelBeispielSo ändern Sie
Logo & NameABC-FlotteEinstellungen → Branding → App-Name
AnmeldeuntertitelGeben Sie Informationen ein, um auf FleetHub zuzugreifenVerwaltung → Übersetzungenauth.login_subtitle
Browser-Tab-TitelApp-NameEinstellungen → Branding → App-Name
App-FarbenBenutzerdefinierte FarbpaletteEinstellungen → Erscheinungsbild

1. Logo und Name: Login-Administrator → Einstellungen → Branding → Aktualisieren App-Name (und ggf. Logo hochladen) → Speichern.

2. Untertitel anmelden: Bearbeiten Sie auth.login_subtitle in Verwaltung → Übersetzungen oder Datei lang/{locale}/auth.php.

3. App-Farbe: Einstellungen → Aussehen – separate Farbkonfigurationen für hell und dunkel. Klicken Sie zum Übernehmen auf Aussehen speichern.

Überblick

FleetHub ist ein Unternehmens-Flottenverwaltungssystem für firmeninterne Fahrzeuge (50–200 Fahrzeuge). Gebaut mit Laravel 11, Vue 3 und Tailwind CSS — umfasst Fahrzeuge, Fahrer, Anforderungen, Übergaben mit Schadenskarte, Kraftstoffprotokolle, Ausgaben, TCO-Analyse, Compliance-Tracking und Flotten-Gesundheitswert. Nicht für Taxi oder Autovermietung.

Scannen Sie QR schnell

Scannen Sie den Fahrzeug-QR, um den Kraftstoffverbrauch aufzuzeichnen, die Uhr zu aktualisieren oder Probleme zu melden – mobile Optimierung für Fahrer.

TCO-Tabelle

Gesamtbetriebskosten nach Fahrzeug und Flotte – Kauf, Kraftstoff, Wartung, Versicherung und mehr.

Autoübergabe

Import-/Exportübergabe mit 2D-Schadensdiagramm, Checkliste, Fotos, Unterschrift und PDF-Bericht.

Flottengesundheitsbewertung

Täglicher Score mit Details – überfällige Wartung, abgelaufene Compliance, Kraftstoffunregelmäßigkeiten.

Compliance-Verfolgung

Versicherung, Zulassung, Kfz-Steuer, Führerschein, Führerschein – Benachrichtigungen 14/30/7/1 Tag.

Flottenberichterstattung

7 integrierte Berichte, Diagramme, Excel- und PDF-Export.

Server erforderlich

  • PHP 8.2 oder höher (8.3 empfohlen)
  • MySQL 5.7+ oder MariaDB 10.3+
  • Composer 2.x (nur lokale Entwicklung – bei Shared Hosting nicht erforderlich)
  • Node.js 18+ und npm 9+ (nur für lokale Frontend-Builds)
  • Webserver: Apache oder Nginx

Erforderliche PHP-Erweiterung

  • OpenSSL, PDO, PDO_MySQL, Mbstring, Tokenizer, XML, Ctype, JSON, GD, Fileinfo

Laufwerkskapazität

Mindestens ~200 MB. Zusätzliche Bestimmungen für Fahrzeugfotos, Tankbelege, Übergabefotos und Compliance-Dokumente.

Einstellung

Option A – Web Installer (empfohlen)

  1. Laden Sie Projektdateien auf den Webserver hoch.
  2. Verweisen Sie im Stammverzeichnis des Dokuments auf den Ordner public/.
  3. Berechtigungszuweisung: storage/ und bootstrap/cache/ müssen beschreibbar sein (chmod 775).
  4. Kopieren Sie .env.example nach .env und legen Sie APP_KEY fest (führen Sie php artisan key:generate aus, wenn SSH verfügbar ist, oder sehen Sie sich cPanel-Einstellungen → Schritt 5 an).
  5. Greifen Sie in Ihrem Browser auf https://yourdomain.com/install zu.
  6. Folgen Sie dem Assistenten – Anforderungen → Datenbank → Migrieren → Admin-Konto → Fertig. Wählen Sie Demodaten einbeziehen, um Beispieldaten zu laden (siehe Benutzer und Rollen).

Option B – CLI installieren

# 1. Abhängigkeiten installieren
composer install --no-dev --optimize-autoloader
npm install
npm run build

# 2. Konfigurieren Sie die Umgebung
cp .env.example .env
php artisan key:generate

# 3. Bearbeiten Sie .env, um DB-Informationen festzulegen
# DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD

# 4. Erstellen Sie eine Tabelle und setzen Sie die Anfangsdaten ein
php artisan migrate --seed

# 5. Erstellen Sie einen Symlink-Speicher zum Hochladen
php artisan storage:link

# 6. Cache-Konfiguration für die Produktion
php artisan config:cache
php artisan route:cache
php artisan view:cache

# 7. Als installiert markieren
echo "Installed" > storage/installed.lock
Webserver-Konfiguration: Das Stammverzeichnis des Dokuments muss auf public/ zeigen. Apache verwendet das integrierte .htaccess. Nginx siehe Laravel-Bereitstellungsleitfaden.

Assistent Schritt 2 – Datenbankkonfiguration

Wenn der Assistent Schritt 2 erreicht, müssen Sie die MySQL-Verbindungsinformationen der erstellten Datenbank in das Hosting-Kontrollfeld eingeben. Die Datenbank muss bereits vorhanden sein (kann leer sein – im nächsten Schritt werden die Tabellen erstellt).

SchuleStandard / BeispielNotiz
Host127.0.0.1Gilt für 99 % des Shared Hostings (Hostinger, cPanel, Plesk). Bleiben Sie gleich, es sei denn, der Host stellt seinen eigenen MySQL-Hostnamen bereit (verwaltete Datenbank wie AWS RDS, DigitalOcean Managed Database).
Port3306Standard-MySQL-Port. Nur ändern, wenn der Anbieter einen anderen Port verwendet (selten).
DatenbanknameuXXXXX_fleethubDer vollständige Name wird im Hosting-Kontrollfeld angezeigt. Die meisten Shared Hosting-Angebote haben ein Präfix entsprechend der Benutzer-ID (z. B. Hostinger: u287094729_fleethub).
AnmeldenameuXXXXX_fleethubDas MySQL-Konto verfügt über Berechtigungen für die oben genannte Datenbank. NICHT root verwenden – Shared Hosting ist nicht erlaubt.
Passwort(Ihr DB-Passwort)Das Passwort, das Sie beim Erstellen eines MySQL-Benutzers festlegen oder kopieren. Die meisten Hosts werden beim Erstellen nur einmal angezeigt – verwenden Sie „Anzeigen/Zurücksetzen“, wenn sie nicht gespeichert werden.

Wo finde ich DB-Informationen für jede Art von Hosting?

  • Hostinger: hPanel → Datenbanken → Verwaltung → auf Datenbank klicken. Auf der Detailseite werden Name, Benutzername und die Schaltfläche „Passwort anzeigen“ angezeigt.
  • cPanel: cPanel → MySQL-Datenbanken. Datenbankliste oben, Benutzerliste unten. Verwenden Sie bei Bedarf „Passwort ändern“.
  • Plesk: Plesk → Datenbanken → Klicken Sie auf den Datenbanknamen. Auf der Detailseite werden Anmeldeinformationen angezeigt und es gibt eine Schaltfläche zum Zurücksetzen des Passworts.
  • DirectAdmin: DirectAdmin → MySQL-Verwaltung → Klicken Sie auf Datenbank. Anmeldeinformationen und Passwort-Reset finden Sie auf der Detailseite.
  • Externe/verwaltete Datenbank: AWS RDS, DigitalOcean Managed Database usw. Verwenden Sie benutzerdefinierten Hostnamen, Port (normalerweise 3306, sollte aber überprüft werden), DB-Namen, Benutzer und Passwort von der Cloud-Konsole. Stellen Sie sicher, dass die IP des Servers in der DB-Firewall auf der Whitelist steht.

Häufige Fehler und wie man sie behebt

FehlermeldungUrsache und Lösung
SQLSTATE[HY000] [1045] Access deniedFalscher Benutzername oder falsches Passwort oder der Benutzer hat keine Berechtigungen für diese Datenbank. Überprüfen Sie die Rechtschreibung noch einmal (einschließlich Benutzerpräfix auf dem gemeinsam genutzten Host). Setzen Sie das Passwort im Hosting-Kontrollpanel zurück, wenn Sie sich nicht sicher sind.
SQLSTATE[HY000] [1049] Unknown databaseDer Datenbankname ist falsch oder Sie haben die Datenbank nicht in der Systemsteuerung erstellt. Erstellen Sie es zuerst und geben Sie dann den genauen Namen (einschließlich Präfix) erneut ein.
SQLSTATE[HY000] [2002] Connection refusedEs kann keine Verbindung zum MySQL-Server hergestellt werden. Überprüfen Sie Host und Port. Versuchen Sie auf gemeinsam genutzten Hosts localhost anstelle von 127.0.0.1 oder umgekehrt. Stellen Sie bei verwalteter Datenbank sicher, dass die Server-IP auf der Whitelist steht.
SQLSTATE[42S02] Base table not found: sessionsTritt auf, wenn SESSION_DRIVER=database oder CACHE_STORE=database in .env festgelegt wird, bevor Tabellen vorhanden sind. Bearbeiten Sie .env, ändern Sie beide in file, speichern Sie und laden Sie dann den Assistenten neu. Wenn Sie möchten, können Sie es nach Abschluss der Installation wieder auf database ändern.
could not find driverFehlende oder deaktivierte PHP pdo_mysql-Erweiterung. Im Hosting-Kontrollfeld aktivieren. Auf cPanel: MultiPHP INI Editor → Erweiterungen oder PHP-Version auswählen → Erweiterungen. Auf Hostinger: hPanel → Erweitert → PHP-Konfiguration → Registerkarte PHP-Erweiterungen.
Tipp: Die Felder „Host“ und „Port“ sind mit den gängigsten Werten (127.0.0.1 und 3306) vorausgefüllt – diese bleiben beim Shared Hosting gleich. Sie müssen lediglich den Datenbanknamen, den Benutzernamen und das Passwort eingeben. Drücken Sie Test & Speichern Sie →, um die Verbindung zu überprüfen und mit Schritt 3 fortzufahren.

Localhost (Lokale Entwicklung)

Eine Kurzanleitung zum Ausführen von FleetHub auf Ihrem Computer zu Test- oder Entwicklungszwecken vor der Bereitstellung in der Produktion. Wählen Sie die für Ihr Betriebssystem geeignete Umgebung.

Empfohlen: Laravel Herd ist die schnellste Option unter macOS und Windows – kein Docker erforderlich, keine manuelle Apache/MySQL-Konfiguration erforderlich. XAMPP und Laragon sind gute kostenlose Optionen, wenn Sie mit einem traditionelleren Stack vertraut sind.

Option 1 – Laravel Herd (empfohlen, macOS und Windows)

Laravel Herd ist die offizielle lokale Umgebung des Laravel-Teams – kostenlos, nativ, kein Docker. Beinhaltet PHP 8.2/8.3/8.4, Nginx und (in Herd Pro) MySQL/Redis.

  1. Laden Sie Laravel Herd von herd.laravel.com herunter und installieren Sie es.
  2. Stellen Sie den FleetHub-Projektordner auf ~/Herd/ (macOS) oder %USERPROFILE%\Herd\ (Windows) ein. Herd erstellt die Domäne .test – zum Beispiel http://fleethub.test.
  3. Öffnen Sie Herd → Sites und bestätigen Sie, dass die PHP-Version 8.2 oder 8.3 ist. Klicken Sie mit der rechten Maustaste auf die Website → Sicher, um HTTPS zu aktivieren (erforderlich für QR-Scanner).
  4. Erstellen Sie eine MySQL-Datenbank. Gehen Sie mit Herd Pro zu Dienste → MySQL → In TablePlus öffnen. Wenn Sie nicht über Pro verfügen, installieren Sie MySQL Community oder verwenden Sie SQLite (DB_CONNECTION=sqlite, touch database/database.sqlite).
  5. Kopieren Sie .env.example nach .env, geben Sie die DB-Informationen ein und führen Sie dann php artisan key:generate im Projektstammverzeichnis aus.
  6. Öffnen Sie http://fleethub.test/install in Ihrem Browser und folgen Sie dem Assistenten.

Option 2 – XAMPP (Windows, macOS, Linux)

XAMPP bündelt Apache, MySQL/MariaDB und PHP. Kostenlos, plattformübergreifend. Wählen Sie unbedingt die Version PHP 8.2 oder höher.

  1. Laden Sie XAMPP 8.2+ von apachefriends.org herunter und installieren Sie es.
  2. Kopieren Sie das FleetHub-Projekt nach C:\xampp\htdocs\FleetHub\ (Windows) oder /Applications/XAMPP/htdocs/FleetHub/ (macOS).
  3. Öffnen Sie XAMPP Control Panel und starten Sie Apache und MySQL. Wenn der Port belegt ist, gehen Sie zu Config → service.conf, um Apache auf 8080 umzustellen.
  4. Gehen Sie zu http://localhost/phpmyadminNeu → erstellen Sie eine Datenbank mit dem Namen fleethub mit der Sortierung utf8mb4.
  5. Im Projektordner: .env.example nach .env kopieren, DB_DATABASE=fleethub, DB_USERNAME=root festlegen, DB_PASSWORD leer lassen (XAMPP-Standard). Führen Sie php artisan key:generate aus.
  6. Greifen Sie auf http://localhost/FleetHub/public/install zu, um den Installationsassistenten auszuführen.
Kompakte URL ohne /public/: erstellt einen virtuellen Host in C:\xampp\apache\conf\extra\httpd-vhosts.conf, zeigt DocumentRoot auf den Ordner public/ des Projekts und fügt dann 127.0.0.1 fleethub.local zur Hosts-Datei hinzu.

Option 3 – Laragon (Windows)

Laragon ist ein tragbarer Windows-Stack, der für Laravel entwickelt wurde – selbstgenerierter Vhost, kompakte URL, MySQL/MariaDB und HeidiSQL inklusive.

  1. Laden Sie Laragon Full von laragon.org herunter und installieren Sie es.
  2. In Laragon: Menü → PHP → Version – wechseln Sie zu PHP 8.2 oder 8.3.
  3. Kopieren Sie das FleetHub-Projekt nach C:\laragon\www\FleetHub\.
  4. Drücken Sie Alle starten. Laragon erstellt seinen eigenen Vhost: http://fleethub.test (zeigt auf Ordner public/).
  5. Öffnen Sie HeidiSQL (im Lieferumfang enthalten) → Datenbank erstellen fleethub. Standardinformationen: Benutzer root, Passwort ist leer.
  6. Bearbeiten Sie .env mit DB-Informationen, führen Sie php artisan key:generate aus und greifen Sie dann auf http://fleethub.test/install zu.

Option 4 – Vorhandener PHP-Server (kein Webserver erforderlich)

Einfachste Option: Laravel wird mit artisan serve geliefert, das einen PHP-Entwicklungsserver startet. Kein Apache oder Nginx erforderlich. Am besten zum schnellen Testen.

# Abhängigkeiten installieren und konfigurieren
cd /path/to/FleetHub
composer install
cp .env.example .env
php artisan key:generate

# Führen Sie die Migration aus und setzen Sie die Ausgangsdaten ein
php artisan migrate --seed

# Starten Sie den Entwicklungsserver
php artisan serve
# Dann zugreifen: http://127.0.0.1:8000/install

Häufige Probleme beim Ausführen von localhost

QR-Scanner öffnet die Kamera nicht auf http://

Die Browser-Kamera-API erfordert HTTPS, mit einer Ausnahme: http://localhost und http://127.0.0.1 gelten als sichere Kontexte. Wenn Sie über LAN-IP auf FleetHub zugreifen (z. B. http://192.168.1.10), wird die Kamera abgelehnt. Verwenden Sie localhost für dev oder aktivieren Sie HTTPS über Herd / mkcert.

Berechtigung für Speicher verweigert (macOS/Linux)

Wenn beim Protokollieren oder Zwischenspeichern der App ein Fehler auftritt, korrigieren Sie die Berechtigung: chmod -R 775 storage bootstrap/cache. Unter Windows besteht normalerweise keine Notwendigkeit.

Port ist belegt

Wenn Port 8000 bereits von einer anderen App belegt ist, verwenden Sie einen anderen Port:

php artisan serve --port=8001

E-Mail lokal testen

Echtes SMTP ist auf localhost normalerweise nicht verfügbar. Zwei sichere Optionen: (1) MAIL_MAILER=log in .env einfügen – die E-Mail wird protokolliert storage/logs/laravel.log statt gesendet; oder (2) verwenden Sie Mailtrap / MailHog, um ausgehende E-Mails in einem gefälschten Posteingang zu erfassen.

MAIL_MAILER=log
# Alle E-Mails werden in storage/logs/laravel.log protokolliert

Frontend-Assets (Vite / Tailwind)

Das Vue/Tailwind-Frontend von FleetHub ist bereits im Paket integriert. Wenn Sie die Vue-Komponente oder die Tailwind-Konfiguration bearbeiten, benötigen Sie Node.js 18+:

npm install
npm run dev    # Hot-Reload beim Entwickeln
npm run build  # Produktion erstellen (vor der Bereitstellung ausführen)

Bereitstellung auf Hostinger Single (Shared Hosting)

Dies wird Personen ohne VPS- oder technische Erfahrung empfohlen. FleetHub ist vollständig kompatibel mit dem günstigsten Hostinger Single Web Hosting-Plan (~2,99 $/Monat). Kein SSH, Composer oder Befehlszeile erforderlich – Single kommt mit nativen Cron-Jobs, PHP 8.3 und kostenlosem SSL.

Getestet auf: Hostinger Single, Premium, Business-Pläne (PHP 8.2+, MySQL 5.7+, Original-Cron-Jobs auf allen Ebenen verfügbar).

Schritt 1 – Bereiten Sie das Hosting vor

  1. Melden Sie sich bei Hostinger hPanel an.
  2. Gehen Sie zu Hosting → Verwaltung für Ihren Domainnamen.
  3. Stellen Sie die PHP-Version über Erweitert → PHP-Konfiguration auf 8.2 oder 8.3 ein.
  4. Stellen Sie sicher, dass diese PHP-Erweiterungen aktiviert sind (normalerweise standardmäßig):
    • OpenSSL, PDO, PDO_MySQL, Mbstring, GD, Tokenizer, XML, Ctype, JSON, Fileinfo

Schritt 2 – Erstellen Sie eine MySQL-Datenbank

  1. Gehen Sie in hPanel zu Datenbanken → MySQL-Datenbanken.
  2. Drücken Sie Neue Datenbank erstellen.
  3. Notieren Sie diese 3 Werte:
    • Datenbankname — zum Beispiel u123_FleetHub
    • Anmeldename — zum Beispiel u123_admin
    • Passwort — Selbst erstellt und sorgfältig gepflegt

Schritt 3 – Dateien hochladen

  1. Gehen Sie in hPanel zu Datei → Dateimanager.
  2. Navigieren Sie zu public_html/ (dies ist der Stamm des Domänennamens).
  3. Löschen Sie alle Standarddateien index.html oder default.php in diesem Ordner.
  4. Klicken Sie auf Dateien hochladen und laden Sie alle source.zip aus dem Installationspaket herunter.
    Oder laden Sie den Inhalt des Ordners /source/ direkt per FTP herunter, wenn Sie möchten.
  5. Wenn Sie eine ZIP-Datei hochladen, klicken Sie mit der rechten Maustaste → Extrahieren. Nach der Dekomprimierung müssen sich alle Dateien im Stammverzeichnis public_html/ befinden.
  6. Bestätigen Sie, dass public_html/ Folgendes enthält: app/, public/, vendor/, .htaccess, index.php (in public/), .env usw.
Important: Make sure file .htaccess exists at root public_html/. Es enthält Regeln zum Umschreiben von URLs. Wenn der Dateimanager versteckte Dateien verbirgt, klicken Sie auf Einstellungen → Versteckte Dateien anzeigen.

Schritt 4 – Führen Sie das Installationsprogramm aus

  1. Öffnen Sie Ihren Browser und gehen Sie zu https://yourdomain.com/install.
  2. Sie sehen das FleetHub-Installationsprogramm.
  3. Schritt 1: Anforderungen – Alle Punkte müssen bestehen (grün). Bei Fehlern wenden Sie sich an den Hostinger-Support, um die fehlende PHP-Erweiterung zu aktivieren.
  4. Schritt 2: Datenbank – Geben Sie die Informationen aus Schritt 2 oben ein:
    • Gastgeber: localhost
    • Hafen: 3306
    • Datenbank: u123_FleetHub
    • Benutzername: u123_admin
    • Passwort: (generiert von Hostinger)
  5. Schritt 3: Migrieren – Klicken Sie auf „Migrationen und Seed ausführen“. Dauert ca. 10 Sekunden. Nicht aktualisieren.
  6. Schritt 4: Admin – Erstellen Sie ein Administratorkonto. Verwenden Sie starke Passwörter.
  7. Fertig! – Sie sehen die Cron-URL (speichern!) und eine Anmeldeschaltfläche.

Schritt 5 – Richten Sie automatische E-Mail-Benachrichtigungen über Hostinger Cron ein

FleetHub nutzt den Planer von Laravel: Compliance-Warnungen, Wartungserinnerungen, überfällige Anfragen, Führerscheine, Fahrzeugwertaktualisierungen und Neuberechnung der Flottenzustandsbewertung. Konfigurieren Sie a cron auf hPanel.

  1. Gehen Sie in hPanel zu Erweitert → Cron-Jobs.
  2. Klicken Sie auf Cron-Job erstellen.
  3. Typ auswählen: Benutzerdefiniert (nicht „PHP“ – da Parameter übergeben werden müssen).
  4. Geben Sie den folgenden Befehl ein (ersetzen Sie uXXXXXX durch Ihren Hostinger-Benutzernamen):
    /usr/bin/php /home/uXXXXXX/public_html/artisan schedule:run
    Tipp: Öffnen Sie den Dateimanager, suchen Sie die Datei artisan (Projektstammverzeichnis), klicken Sie mit der rechten Maustaste → Eigenschaften, um den vollständigen Pfad zu kopieren.
  5. Stellen Sie den Zeitplan auf Jede Minute ein – alle fünf Felder (Minute, Stunde, Tag, Monat, Wochentag) sind auf * eingestellt.
  6. Drücken Sie Speichern.

FleetHub sendet überfällige Schadenserinnerungen, Wartungs-, Compliance- und Lizenzwarnungen, Abschreibungsaktualisierungen und automatische Neuberechnungen der Flottenzustandsbewertung.

Dokumentstammverzeichnis auf public_html/public/ gesetzt? Kein Problem – Laravel-Code befindet sich immer noch im Stammverzeichnis public_html/, daher bleibt der Cron-Pfad /home/uXXXX/public_html/artisan (fügen Sie /public/ nicht hinzu).
Backup-Plan für Hosts ohne Cron: Wenn Sie Hostinger nicht verwenden oder Ihr Provider keine Cron-Jobs hat, stellt FleetHub auch eine Webhook-Aktivierungs-URL bereit.
  1. Login-Administrator → Einstellungen → Registerkarte „System“ → Cron-URL kopieren.
  2. Melden Sie sich kostenlos unter cron-job.org an.
  3. Cronjob erstellen, URL einfügen, Alle 15 Minuten einstellen, speichern.

Schritt 6 – E-Mail (SMTP) konfigurieren

Hostinger stellt mit jedem Plan E-Mail-Konten zur Verfügung. Für FleetHub-Benachrichtigungen:

  1. Gehen Sie in hPanel zu Email → E-Mail-Konten und erstellen Sie ein Konto (zum Beispiel noreply@yourdomain.com).
  2. Bearbeiten Sie die Datei .env in public_html/ über den Dateimanager:
    MAIL_MAILER=smtp
    MAIL_HOST=smtp.hostinger.com
    MAIL_PORT=587
    MAIL_USERNAME=noreply@yourdomain.com
    MAIL_PASSWORD=your_email_password
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=noreply@yourdomain.com
    MAIL_FROM_NAME="Your Company Name"
  3. Speichern Sie die Datei.
  4. Melden Sie sich bei FleetHub an → Einstellungen → Registerkarte „E-Mail“ → Test-E-Mail senden. Wenn Sie es bekommen, sind Sie fertig.
SMTP-Limit für den Single-Plan: Hostinger Single erlaubt den Versand von ca. 100 E-Mails pro Stunde. Verwenden Sie für größere Bereitstellungen einen dedizierten Anbieter wie SendGrid, Mailgun oder Postmark (kostenlose Pläne verfügbar).

Häufige Probleme bei Hostinger Single

„500 Internal Server Error“ nach dem Hochladen

  • Stellen Sie sicher, dass .htaccess im Stammverzeichnis public_html/ vorhanden ist und Umschreibungsregeln enthält.
  • Bestätigen Sie, dass die PHP-Version in hPanel auf 8.2 oder 8.3 eingestellt ist.
  • Überprüfen Sie storage/logs/laravel.log über den Dateimanager, um den tatsächlichen Fehler anzuzeigen.

Beim Hochladen wird die Meldung „Berechtigung verweigert“ angezeigt

Normalerweise legt Hostinger die richtigen Berechtigungen selbst fest, aber wenn nicht:

  • Klicken Sie im Dateimanager mit der rechten Maustaste auf storage/Berechtigungen → rekursiv auf 755 setzen.
  • Das Gleiche gilt für bootstrap/cache/.

Der QR-Scanner öffnet die Kamera nicht

Die Browser-Kamera-API erfordert HTTPS. Hostinger bietet kostenloses SSL über Let's Encrypt an – aktivieren Sie es in hPanel unter SSL → Verwalten.

Geplante E-Mails werden nicht versendet

  • In hPanel → Cron-Jobs → überprüfen Sie die Spalte Letzter Lauf im Cron-Eintrag. Wenn leer, läuft Cron nicht – bestätigen Sie, dass der Artisan-Pfad korrekt ist.
  • Testen Sie den Befehl manuell: Öffnen Sie Terminal in hPanel (falls verfügbar) und führen Sie den Cron-Befehl aus. Liegt ein Fehler vor, weist die Fehlermeldung eindeutig auf das Problem hin (falsche PHP-Version, falscher Pfad usw.).
  • Bestätigen Sie, dass SMTP korrekt konfiguriert ist (Einstellungen → E-Mail → Test senden).
  • Überprüfen Sie storage/logs/laravel.log auf Scheduler-Fehler.

Langsame Leistung

Hostinger Single teilt sich CPU/RAM. Wenn Ihre Gruppe mehr als 20 Personen umfasst, berücksichtigen Sie Folgendes:

  • Upgrade auf Premium (~3,99 $/Monat) – schnellere Server, mehr Ressourcen, mehr Datenbanken.
  • Oder Business (~5,99 $/Monat) – dedizierte Ressourcen, tägliche Backups, Staging-Umgebung.

Bereitstellung auf cPanel (Shared Hosting)

Dieser Leitfaden gilt für Standard-cPanel-Shared-Hosting (Namecheap, Bluehost, GoDaddy und die meisten günstigen Hosts). FleetHub verfügt bereits über vendor/ und einen Frontend-Build – Composer, npm oder Terminal auf dem Server sind nicht erforderlich. Wenn cPanel kein Terminal hat, verwenden Sie SSH-Zugriff oder die Methoden im Dateimanager unten.

Getestet: cPanel 110+ mit PHP 8.2/8.3, MySQL 5.7+/MariaDB 10.3+, Apache und Cron Jobs. Das Home-Verzeichnis ist normalerweise /home/CPANELUSER/ – siehe cPanel-Seitenleiste unter Allgemeine Informationen.

Schritt 1 – PHP-Version und Erweiterungen festlegen

  1. Melden Sie sich bei cPanel an.
  2. Öffnen Sie MultiPHP Manager (oder PHP-Version auswählen) und wählen Sie PHP 8.2 oder 8.3 für die Domain.
  3. Öffnen Sie MultiPHP INI Editor oder PHP Extensions und bestätigen Sie, dass die folgenden Erweiterungen aktiviert sind:
    • OpenSSL, PDO, PDO_MySQL, Mbstring, GD, Tokenizer, XML, Ctype, JSON, Fileinfo
  4. Wenn die Erweiterung fehlt, aktivieren Sie sie in der Liste oder wenden Sie sich an den Host-Support.

Schritt 2 – SSL (HTTPS) aktivieren

  1. Gehen Sie zu SSL/TLS-Status (oder Let's Encrypt SSL / AutoSSL).
  2. Führen Sie AutoSSL aus oder installieren Sie ein kostenloses Zertifikat für die Domäne.
  3. HTTPS erforderlich für den QR-Scanner zum Öffnen der Browserkamera.
Tipp: Warten Sie einige Minuten, nachdem Sie SSL aktiviert haben, öffnen Sie dann https://yourdomain.com und überprüfen Sie das Vorhängeschloss-Symbol.

Schritt 3 – Erstellen Sie eine MySQL-Datenbank und einen Benutzer

  1. Öffnen Sie Meine Datenbanken verwalten (im Abschnitt „Datenbanken“).
  2. Geben Sie in Neue Datenbank erstellen einen Namen ein (z. B. fleethub) und erstellen Sie. cPanel fügt automatisch ein Präfix hinzu – den vollständigen Namen in der Form cpaneluser_fleethub.
  3. Erstellen Sie unter MySQL-Benutzer einen Benutzer mit einem sicheren Passwort. Benutzernamen mit Präfix kopieren.
  4. Wählen Sie in Benutzer zur Datenbank hinzufügen den Benutzer und die Datenbank aus, fügen Sie hinzu und gewähren Sie dann ALLE PRIVILEGES. Dieser Schritt kann leicht übersehen werden – das Fehlen führt zu einem Fehler Access denied (1045).
  5. Notieren Sie genau 3 in cPanel angezeigte Werte:
    • Datenbankname — zum Beispiel u123_FleetHub
    • Anmeldename — zum Beispiel u123_admin
    • Passwort — Selbst erstellt und sorgfältig gepflegt

Schritt 4 – Dateien hochladen

  1. Öffnen Sie Dateimanager und gehen Sie zu public_html/ (Dokumentstammverzeichnis).
  2. Aktivieren Sie Einstellungen → Versteckte Dateien anzeigen, um .htaccess und .env anzuzeigen.
  3. Löschen Sie die Standardeinstellung index.html in public_html/, falls vorhanden.
  4. Laden Sie source.zip und Extract hoch oder laden Sie den Inhalt des Ordners /source/ über FTP hoch.
  5. Nach der Dekomprimierung muss public_html/ app/, public/, vendor/, .htaccess Root und artisan auf derselben Ebene haben.
Wichtig: .htaccess Root leitet alle Anfragen an public/ weiter – normalerweise muss das Dokument-Root manuell ändern.

Schritt 5 – Bereiten Sie .env vor, bevor Sie das Installationsprogramm ausführen

Führen Sie diesen Schritt vor aus, wenn Sie /install öffnen. Laravel benötigt APP_KEY, um gültig zu sein und die DB-Konfiguration in .env korrekt zu sein.

  1. Kopieren Sie im Dateimanager .env.example nach .env (gleicher Ordner wie artisan).
  2. Bearbeiten Sie .env und legen Sie das Minimum fest:
    APP_NAME=FleetHub
    APP_ENV=production
    APP_DEBUG=false
    APP_URL=https://yourdomain.com
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=cpaneluser_fleethub
    DB_USERNAME=cpaneluser_admin
    DB_PASSWORD="your_password"
    
    SESSION_DRIVER=file
    CACHE_STORE=file
  3. Legen Sie DB_CONNECTION=mysql.env.example standardmäßig fest, um SQLite zu verwenden; Shared Hosting erfordert MySQL.
  4. Setzen Sie SESSION_DRIVER=file und CACHE_STORE=file vor der ersten Migration (vermeiden Sie Sitzungstabellenfehler).
  5. Setzen Sie DB_PASSWORD in Anführungszeichen, wenn das Passwort Sonderzeichen enthält (#, $, ! usw.).

APP_KEY generieren (kein Terminal erforderlich)

Viele cPanel-Pläne beinhalten kein Webterminal. Verwenden Sie eine der folgenden Methoden:

  • SSH-Zugriff (cPanel → Sicherheit → SSH-Zugriff): PuTTY/PowerShell-Verbindung, führen Sie cd ~/public_html && php artisan key:generate aus.
  • Dateimanager – Erstellen Sie eine temporäre Datei public/genkey.php, öffnen Sie den Browser, kopieren Sie die Ergebnisse nach APP_KEY= und löschen Sie die Datei dann sofort.
    <?php
    echo 'base64:' . base64_encode(random_bytes(32));
  • Auf dem PC – wenn PHP lokal vorhanden ist: php -r "echo 'base64:'.base64_encode(random_bytes(32));", dann fügen Sie .env ein.
Sicherheit: Löschen Sie genkey.php sofort nach dem Kopieren des Schlüssels. Lassen Sie Hilfsskripte nicht in der Produktion.
  • Setzen Sie die Berechtigungen storage/ und bootstrap/cache/ auf 755 (rekursiv), wenn der Installer einen Schreibfehler meldet.

Schritt 6 – Führen Sie den Web-Installer aus

  1. Öffnen Sie https://yourdomain.com/install im Browser.
  2. Schritt 1: Anforderungen – alle müssen PASSEN (grün). Korrigieren Sie die PHP-Erweiterung in Schritt 1, falls sie fehlt.
  3. Schritt 2: Datenbank – Geben Sie den Namen mit Präfix aus Schritt 3 ein:
    • Gastgeber: 127.0.0.1 or localhost
    • Hafen: 3306
    • Datenbank: cpaneluser_fleethub
    • Benutzername: cpaneluser_admin
    • Passwort: (your MySQL password)
  4. Schritt 3: Migrieren – Klicken Sie auf „Migrationen und Seed ausführen“. ~10 Sekunden. Aktualisieren Sie die Seite nicht.
  5. Deaktivieren Sie Demodaten einbeziehen, wenn Sie eine saubere Produktion installieren.
  6. Schritt 4: Admin – Erstellen Sie ein Administratorkonto.
  7. Fertig! – Cron-URL im letzten Bildschirm speichern.

Schritt 7 – Cron-Jobs für E-Mail-Benachrichtigungen konfigurieren

FleetHub benötigt jede Minute einen Cron, damit Laravel Compliance-Benachrichtigungen, Wartungserinnerungen, überfällige Anfragen und andere geplante E-Mails senden kann.

  1. Gehen Sie in cPanel zu Erweitert → Cron-Jobs.
  2. Stellen Sie in Neuen Cron-Job hinzufügen den Zeitplan auf Jede Minute (* * * * *) ein.
  3. Geben Sie den Befehl ein (ersetzen Sie CPANELUSER durch den cPanel-Benutzernamen in den allgemeinen Informationen):
    /usr/local/bin/php /home/CPANELUSER/public_html/artisan schedule:run
    Tipp: Der PHP-Pfad kann /usr/local/bin/php oder /usr/bin/php sein. Der handwerkliche Weg ist normalerweise /home/CPANELUSER/public_html/artisan.
  4. Klicken Sie zum Speichern auf Neuen Cron-Job hinzufügen.
Dokumentstamm ist public_html/public/? Cron zeigt immer noch auf /home/CPANELUSER/public_html/artisan – nicht mehr /public/.
Kein Cron? Cron-URL in der App verwenden:
  1. Melden Sie sich als Administrator an → Einstellungen → System → Cron-URL kopieren.
  2. Melden Sie sich kostenlos unter cron-job.org an.
  3. Erstellen Sie einen Job, der diese URL alle 15 Minuten aufruft.

Schritt 8 – E-Mail-Konfiguration (SMTP)

Erstellen Sie ein cPanel-E-Mail-Konto für ausgehende Benachrichtigungen:

  1. Gehen Sie zu E-Mail-Konten → erstellen Sie z. noreply@yourdomain.com.
  2. Bearbeiten Sie .env im Dateimanager:
    MAIL_MAILER=smtp
    MAIL_HOST=mail.yourdomain.com
    MAIL_PORT=587
    MAIL_USERNAME=noreply@yourdomain.com
    MAIL_PASSWORD=your_email_password
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=noreply@yourdomain.com
    MAIL_FROM_NAME="Your Company Name"
  3. Speichern, dann in FleetHub: Einstellungen → E-Mail → Test-E-Mail senden.
SMTP-Shared-Hosting-Limit: Viele cPanel-Hosts begrenzen ~100–500 E-Mails/Stunde. Große Teams sollten SendGrid, Mailgun oder Postmark verwenden.

Häufige Probleme bei cPanel

„Zugriff für Benutzer verweigert“ (SQLSTATE 1045)

  • Kopieren Sie den Datenbanknamen und den Benutzernamen genau aus cPanel – einschließlich des Präfixes.
  • Bestätigen Sie Benutzer zur Datenbank hinzufügen mit ALLEN PRIVILEGEN.
  • Setzen Sie das MySQL-Passwort in cPanel zurück und aktualisieren Sie .env – verwenden Sie Klammern um DB_PASSWORD, wenn Sonderzeichen vorhanden sind.

Die Migration schlägt fehl, nachdem der Datenbankschritt abgeschlossen ist

  • Der Assistent testet das Formular, aber Migrate zeigt .env an. Stellen Sie sicher, dass sie übereinstimmen.
  • Löschen Sie bootstrap/cache/config.php, falls vorhanden, und versuchen Sie es dann erneut.
  • Stellen Sie sicher, dass DB_CONNECTION=mysql in .env ist (nicht SQLite).

„Ungültiger Standardwert“ bei der Migration (1067)

Der strikte Modus von MySQL beim Shared Hosting kann für einige Spalten Standardwerte verweigern. Siehe storage/logs/laravel.log und stellen Sie PHP 8.2+ mit allen Erweiterungen sicher.

„500 Internal Server Error“ nach dem Hochladen

  • Schauen Sie sich das Original .htaccess und PHP 8.2+ an.
  • Siehe storage/logs/laravel.log für den tatsächlichen Fehler.
  • Bestätigen Sie, dass APP_KEY in .env eingestellt ist – eine leere Taste verursacht Fehler 500.

Es gibt kein Terminal in cPanel

Normal bei vielen gemeinsam genutzten Paketen. Verwenden Sie SSH-Zugriff (falls aktiviert), genkey.php vorübergehend in Schritt 5 oder generieren Sie den Schlüssel auf dem lokalen PC.

QR-Scanner öffnet die Kamera nicht

Aktivieren Sie SSL über SSL/TLS-Status → AutoSSL und greifen Sie mit https:// zu.

Konfiguration

.env-Datei

SperrenBeschreibenZum Beispiel
APP_NAMEDer Anwendungsname wird in der Titelleiste angezeigtFleetHub
APP_URLDie öffentliche URL der Installationhttps://fleet.example.com
APP_DEBUGStellen Sie false auf Produktion einfalse
DB_*Informationen zur Datenbankverbindungmysql, 127.0.0.1, 3306, ...
MAIL_MAILERMail-Treibersmtp, log, mailgun
MAIL_HOSTHostname des SMTP-Serverssmtp.gmail.com
MAIL_PORTPort-SMTP587
MAIL_USERNAMEBenutzername SMTPyour@email.com
MAIL_PASSWORDSMTP-Passwort oder App-Token**********
MAIL_FROM_ADDRESSStandard-Von-Adressenoreply@example.com

In der App installieren

Die meisten nicht sensiblen Optionen werden unter Admin → Einstellungen konfiguriert:

  • Allgemein: Firmenname/E-Mail/Telefon, Marke
  • Fahrzeugflotte: Fahrzeugcode-Präfix, Vorlage für Übergabe-Checkliste, Wartungsstandard, öffentlicher Fahrzeugseitenmodus
  • E-Mail: Senden Sie eine Test-E-Mail, um SMTP zu testen
  • Benachrichtigungen: Konformitätswarnungen, Wartung, Fahrzeuganforderungen, Lizenz aktivieren/deaktivieren
  • Mehrsprachig: Zeitzone, Datumsformat, Währung – gilt für die gesamte App
  • Compliance: Voreinstellungen für Compliance-Typen verwalten (Versicherung, Zulassung, Kfz-Steuer ...)
  • Marke: App-Name und Logo – aktualisierter Login, Fußzeile, Tab-Titel
  • Erscheinungsbild: Passen Sie die Farbe, den Status und den Text der Marke für hell/dunkel an – siehe Rebranding-Leitfaden in den FAQ

Mehrsprachige Unterstützung

FleetHub ist in 11 Sprachen verfügbar, darunter Arabisch (RTL) und Hindi. Benutzer ändern die Sprache über das Flag-Dropdown in der oberen rechten Ecke.

Verfügbare Sprachen

CodeSpracheRichtung
enEnglish (default)LTR
viTiếng ViệtLTR
esEspañolLTR
frFrançaisLTR
deDeutschLTR
zh简体中文LTR
ja日本語LTR
pt-BRPortuguês (Brasil)LTR
ruРусскийLTR
arالعربيةRTL
hiहिन्दीLTR

So ändern Sie die Sprache

  1. Klicken Sie auf das Flaggensymbol in der oberen rechten Ecke, um das Dropdown-Menü zu öffnen.
  2. Wählen Sie die Sprache aus der Liste aus.
  3. Die Seite wird neu geladen; Alle Beschriftungen, Daten und Währungsformate der Benutzeroberfläche werden übernommen.
  4. Die Auswahl wird sowohl im Benutzerkonto als auch in Cookies gespeichert (1 Jahr).
Öffnen Sie die .html-Datei der App nicht direkt. FleetHub ist eine serverseitige Laravel + Vue-Anwendung – das Ändern der POST-Sendesprache auf /locale/{code} funktioniert nur, wenn ein PHP-Server läuft. Zugriff immer über echte Domain (Produktion) oder http://localhost:8000 (Entwicklung mit php artisan serve). Dokumentationsdateien wie diese sind völlig eigenständig und können direkt geöffnet werden.

Benutzerdefinierte Sprache hinzufügen (Administrator)

Gehen Sie zu Administration → Übersetzungen (Administrator hat die Berechtigung Übersetzungen verwalten):

  • Klicken Sie auf „Gebietsschema hinzufügen“ – geben Sie den Code (z. B. mk für Mazedonisch), den Anzeigenamen, den Namen des Gebietsschemas, den Namen der SVG-Flag-Datei, die Richtung (LTR/RTL) und das ursprüngliche Gebietsschema ein, um die Übersetzung zu kopieren.
  • Das neue Gebietsschema wird im Sprachumschalter und in der Standardsprachenliste unter Einstellungen → Lokalisierung angezeigt.
  • Die DB-Übersetzung überschreibt automatisch die Datei in lang/{code}/.

Übersetzungsredakteur

Der Editor listet alle Übersetzungsschlüssel nach Datei auf (Assets, Navigation, Einstellungen...). Jeder Schlüssel zeigt die Baseline-Datei und die Override-DB (falls vorhanden) an.

  • Filtern Sie nach Gebietsschema, Übersetzungsgruppe oder Textsuche.
  • Klicken Sie auf den Wert, um ihn inline zu bearbeiten. Jetzt in der Datenbank speichern.
  • Reset-Taste, um zur Basisdatei zurückzukehren.
  • Integriertes Gebietsschema (en, vi, es...) kann bearbeitet werden; Vollständig benutzerdefiniertes Gebietsschema aus der Datenbank.
  • Nur Benutzer mit der Berechtigung Übersetzungen verwalten können auf diese Seite zugreifen.

CSV-Import/Export

  • Export – Laden Sie alle Schlüssel eines Gebietsschemas als CSV herunter (group,key,value).
  • Importieren – CSV in derselben Spalte hochladen; Override-DB aktualisiert, neuer Schlüssel hinzugefügt.

Standardgebietsschema entsprechend dem Benutzer

Jeder Benutzer hat die Spalte locale. Dank des HasLocalePreference-Vertrags von Laravel werden Benachrichtigungs-E-Mails automatisch entsprechend der Sprache des Empfängers gesendet.

Die Standardsprache der Site befindet sich unter Einstellungen → Lokalisierung → Standardsprache. Einzelne Benutzer überschreiben den Sprachumschalter in der Kopfzeile.

Funktionsliste (15 Modulgruppen)

Fahrzeugmanagement

  • Automatisch generierter Fahrzeugcode (VH-Präfix)
  • Nummernschild, Fahrgestellnummer, Marke, Modell, Kraftstoffart
  • Generieren Sie QR-Codes und drucken Sie sie in großen Mengen aus
  • Status, Status, Zählerverfolgung
  • Excel in großen Mengen importieren/exportieren
  • Klonen Sie ein Auto, wenn Sie viele ähnliche Autos kaufen
  • Detailseite mit 7 Registerkarten und Lebenszyklus-Zeitleiste

Anforderungen & Übergabe

  • Anfrage bearbeiten → Genehmigung → Zahlung
  • Kalender und Erkennung doppelter Kalender
  • 2D-Schadensdiagramm + digitale Signatur
  • PDF-Übergabebericht exportieren

Wartung

  • Planen Sie Prävention und Korrektur
  • Planen Sie nach Prioritätsstufe
  • Planen Sie Ihre nächste vorbeugende Wartung selbst
  • Ausgabenverfolgung → automatische Ausgabensynchronisierung
  • E-Mail-Erinnerung vor Fälligkeitsdatum

Compliance & Kraftstoff

  • Compliance-Bereich (Versicherung, Registrierung, Lizenzierung)
  • Überwachen Sie den Ablauf des Führerscheins
  • Tankprotokoll, Belege hochladen und Fotos komprimieren
  • Prüfen Sie gegen Uhrenbetrug

Gesamtbetriebskosten und Abschreibungen

  • 3 Abschreibungsmethoden, einschließlich Produktionseinheiten (km)
  • TCO-Tabelle mit Kosten-/km-Index
  • Treibstoff- und Wartungskosten automatisch synchronisieren
  • Diagramm der Abschreibungskurve

Bericht

  • 7 Arten von Flottenberichten
  • Excel + PDF exportieren
  • Dashboard ApexCharts
  • Nach Zeitraum filtern

Fuhrpark betreiben

  • Flottengesundheitsbewertung, täglich neu berechnet
  • Fahrer verwalten, Führerscheine synchronisieren
  • Fahrzeugkosten (Versicherung, Maut, Parken...)
  • Schneller QR-Scan für Fahrer (Kraftstoff, Zähler, Vorfälle)

Mehrsprachig

  • 11 UI-Sprachen + benutzerdefiniertes Gebietsschema
  • Übersetzungseditor, Inline-Suche und -Bearbeitung
  • CSV für Batch-Updates importieren/exportieren
  • In der gesamten App gelten Zeitzone und Währung

Marke und Aussehen

  • Titel der Browser-Registerkarte unter Einstellungen → Branding → App-Name
  • Passen Sie die Farbe unter Einstellungen → Erscheinungsbild (hell und dunkel) an.

Benutzer und Rollen

FleetHub verfügt über 5 Rollen für den internen Flottenbetrieb:

RolleLeistung
AdminVollständige Systemkontrolle – Benutzer, Abteilungen, Einstellungen, Prüfprotokolle, Webhooks, Übersetzungen
FuhrparkmanagementVerwalten Sie Fahrzeuge, Fahrer, Anfragen, Übergaben, Wartung und Kraftstoffprotokolle. Anfrage genehmigen; Vollständiger Bericht
BuchhalterTCO-Tabellen, Kosten, Abschreibungen, Compliance-Berichte – finanzieller Fokus, hauptsächlich Ansicht
AbteilungsleiterDurchsuchen Sie Ihre Zimmeranfragen, sehen Sie sich Fahrzeuge an und melden Sie sich bei den Abteilungen
TreiberSehen Sie sich in der Warteschleife befindliche Fahrzeuge an, zeichnen Sie Kraftstoffprotokolle auf, scannen Sie schnell QR und sehen Sie sich Ihre Anfragen an

Demokonto (Passwort: password): admin@fleethub.test, manager@fleethub.test, dept@fleethub.test, accountant@fleethub.test, driver@fleethub.test. Aktivieren Sie Demodaten bei der Installation oder dem Seeding. Spatie-Berechtigungen – Administratoren können jede Berechtigung feinabstimmen.

Fahrzeugmanagement

Neues Auto erstellen

  1. Navigieren Sie zu Fahrzeuge → Neue Fahrzeuge.
  2. Geben Sie Kennzeichen, Marke, Modell, Jahr, Kraftstoffart, Kategorie und Abteilung ein.
  3. Kaufdatum und Preis hinzufügen (erforderlich für Abschreibung und Gesamtbetriebskosten).
  4. Laden Sie Fotos hoch (mehrere Dateien, jeweils maximal 5 MB – auf Mobilgeräten automatisch komprimiert).
  5. Speichern – Fahrzeugcode und QR-Code werden automatisch generiert.

Fahrzeugcodeformat

Standard: {PREFIX}-{YEAR}-{NNNN}, zum Beispiel VH-2026-0001. Konfigurieren Sie unter Einstellungen → Flotte → Fahrzeugcode-Präfix.

Massenimport

  1. Drücken Sie Importieren auf der Seite „Fahrzeuge“.
  2. Laden Sie Excel-Vorlagen herunter.
  3. Geben Sie die Daten ein – erforderliche Spalten: license_plate, make, model, category_name.
  4. Dateien hochladen.

QR-Code und Schnellscan

Jedes Fahrzeug verfügt bei der Erstellung automatisch über einen QR-Code. Scannen Sie, um die Seite für öffentliche Fahrzeuge zu öffnen oder schnelle Aktionen in der App für angemeldete Fahrer durchzuführen.

Drucken Sie QR-Etiketten

  • Einzeletikett: Klicken Sie auf das Druckersymbol am Fahrzeug.
  • Stapeldruck: Mehrere Fahrzeuge auswählen → QR-Etiketten drucken. A4-Format, 2 Etiketten/Reihe.

In der App scannen

Klicken Sie auf der Fahrzeugseite auf QR scannen. Kameras zulassen. Funktioniert auf modernen Browsern mit HTTPS oder Localhost.

Öffentliche Autoseite

Jedes Fahrzeug verfügt über eine öffentliche URL unter /v/{vehicle_code} – nützlich für eine schnelle Identifizierung, ohne dass eine Anmeldung erforderlich ist.

  • Konfigurieren Sie unter Einstellungen → Flotte → Öffentliche Fahrzeugseite: Öffentlich, Anmeldung erforderlich oder Aus.
  • Im Gastmodus werden nur grundlegende Informationen angezeigt (Kennzeichen, Marke/Modell). Für schnelles Handeln ist eine Anmeldung erforderlich.
  • Nachdem Sie APP_URL geändert haben, drücken Sie in den Einstellungen Alle QR-Codes neu generieren.

Verfahren

Fordern Sie ein Auto an

Der Mitarbeiter sendet eine Anfrage für die Nutzung eines Fahrzeugs. Stream: requested → approved → returned (oder rejected). Fuhrparkleiter oder Leiter der Genehmigungsabteilung. Der Kalender zeigt Fahrzeugreservierungen für die gesamte Flotte an. Geben Sie das Fahrzeug überfällig zurück und senden Sie eine Warn-E-Mail.

Autoübergabe

  1. Wenn die Anfrage genehmigt wurde, erstellen Sie Exit Handover, bevor der Fahrer das Fahrzeug abholt.
  2. Erfassen Sie die Uhr, füllen Sie die Checkliste aus, markieren Sie Schäden auf 2D-Diagrammen, fügen Sie Fotos und digitale Signaturen bei.
  3. Speichern Sie den PDF-Lieferbericht und laden Sie ihn für Ihre Unterlagen herunter.
  4. Bei Rückgabe des Fahrzeugs Übergabe erstellen – Status vergleichen, Zähler aktualisieren, Fahrerzuordnung löschen.
  5. Abschluss der Rückgabe markiert die Anforderung als zurückgegeben und setzt den Fahrzeugstatus auf verfügbar.

Abschreibung und Gesamtbetriebskosten

FleetHub berechnet den Fahrzeugwertverlust mithilfe einer von drei Methoden. Die Abschreibung ist zusammen mit den Kraftstoff- und Kostenprotokollen in der TCO-Tabelle enthalten.

VerfahrenRezeptIm Falle einer Verwendung
Gerade(Cost - Salvage) / Useful LifeAm beliebtesten; Jedes Jahr gleichmäßig abschreiben
Das Gleichgewicht nimmt allmählich ab2 / Useful Life × Book ValueSchnelle Abschreibung; steuerliche Zwecke
Produktionseinheit(km in diesem Zeitraum / insgesamt erwartete km) × (Kaufpreis − Liquidationswert)Fahrzeug hat erwartete Gesamtkilometer (laut Uhr)

Der Standardwert erbt von der Fahrzeugkategorie. current_value aktualisiert sich monatlich über fleethub:update-vehicle-values. TCO = Kaufpreis + Gesamtkosten des Fahrzeugs im ausgewählten Zeitraum.

Benutzerdefinierte Felder

Admin → Benutzerdefinierte Felder ermöglichen das Hinzufügen unbegrenzter Eigenschaften zu Fahrzeugen:

  • Typ: Text, Zahl, Datum, Auswahl, Textbereich, Datei, Kontrollkästchen
  • Geltungsbereich: gilt für alle Kategorien oder bestimmte Fahrzeugkategorien
  • Anordnen: Drag-Drop-Griff
  • Pflichtfeld wird beim Speichern des Fahrzeugs überprüft

Bericht

Sieben integrierte Flottenberichte, auf die über das Menü „Berichte“ zugegriffen werden kann:

  1. Gesamtbetriebskosten – Gesamtbetriebskosten pro Fahrzeug und gesamter Flotte
  2. Abschreibungsplan – Abschreibung pro Fahrzeug, mit Dateiexport
  3. Wartungskosten – Ausgaben nach Fahrzeug, Typ und Monat
  4. Kraftstoffverbrauch und -kosten – km/l-Trend, unregelmäßige Markierung
  5. Fahrzeuganfragenutzung – Fahrzeugbuchungsrate im Zeitverlauf
  6. Ablauf der Konformität – Fahrzeugpapiere und Führerschein laufen bald ab
  7. Fahrzeugzuordnung nach Abteilung – Fahrzeuge und Nutzung nach Abteilung

Alle Berichte unterstützen den Export von Excel und PDF über die Schaltfläche oben auf der Seite.

Webhook-Integration

FleetHub kann externe Dienste benachrichtigen, wenn wichtige Flottenereignisse vorliegen.

Verfügbarkeitsereignis

  • vehicle.created, vehicle.updated, vehicle.deleted
  • requisition.approved, requisition.rejected, requisition.overdue, requisition.returned
  • handover.completed
  • compliance.expiring, compliance.expired
  • maintenance.due, maintenance.overdue, maintenance.completed
  • fleet_health_score.dropped

Nutzlastformat

{
  "event": "handover.completed",
  "timestamp": "2026-06-23T08:00:00+00:00",
  "data": {
    "vehicle_id": 1,
    "vehicle_code": "VH-2026-0001",
    "license_plate": "51A-12345",
    "handover_id": 12,
    "direction": "outgoing",
    "driver_id": 4
  }
}

Signatur überprüfen

Wenn die Anforderung als geheim konfiguriert ist, verfügt sie über einen Header X-FleetHub-Signature, der den HMAC-SHA256 des Hauptteils enthält. Überprüfen Sie Ihre Seite:

$expected = hash_hmac('sha256', $rawBody, $secret);
if (hash_equals($expected, $request->header('X-FleetHub-Signature'))) {
  // gültig
}

Wiederholungsrichtlinie

Die Zustellung schlägt fehl und es wird alle 200 ms dreimal erneut versucht. Nach 10 aufeinanderfolgenden Fehlern schaltet sich der Webhook selbst ab.

Geplante Aufgaben

FleetHub verwendet den Laravel-Planer für Hintergrundaufgaben. Nur one cron – Laravel führt jeden fleethub:-Befehl pünktlich aus.

Geteiltes Hosting (Cron Jobs cPanel / Hostinger)

Siehe cPanel installieren → Schritt 7 oder Hostinger installieren → Schritt 5. Kurz gesagt: Erweitert → Cron-Jobs, Befehl:

/usr/bin/php /home/uXXXXXX/public_html/artisan schedule:run

Kalender: jede Minute (* in allen fünf Feldern).

cPanel-Cron-Befehl

Ersetzen Sie CPANELUSER durch Ihren cPanel-Benutzernamen:

/usr/local/bin/php /home/CPANELUSER/public_html/artisan schedule:run

VPS/privater Server (crontab)

Führen Sie crontab -e mit dem Webbenutzer aus und fügen Sie hinzu:

* * * * * cd /path/to/FleetHub && php artisan schedule:run >> /dev/null 2>&1

Fallback: Externe URL anpingen

Wenn der Host kein Cron hat, verwenden Sie die Cron-URL in der App (Einstellungen → System) mit cron-job.org (kostenlos, alle 15 Minuten).

Die Aufgabe wird automatisch ausgeführt

ZeitBefehlZweck
Täglich 08:00 Uhrfleethub:send-requisition-overdue-alertsDer Antrag wurde genehmigt, aber bis zum Einsendeschluss nicht bezahlt
Täglich 08:30 Uhrfleethub:send-maintenance-remindersDenken Sie daran, dass bald Wartungsarbeiten fällig sind
Täglich 09:00 Uhrfleethub:send-compliance-expiry-alertsDie Einhaltung läuft in 14/30/7/1 Tagen ab
Täglich 09:30 Uhrfleethub:send-driver-license-alertsAchtung: Führerschein läuft bald ab
1. Tag jedes Monats 02:00 Uhrfleethub:update-vehicle-valuesAktualisieren Sie den aktuellen_Wert des Fahrzeugs anhand der Abschreibung
Täglich 03:00 Uhrfleethub:recalculate-fleet-health-scoreFlottengesundheitspunkte neu berechnen und zwischenspeichern

Upgrade-Anleitungen

FleetHub v1.0.0 ist die Erstveröffentlichung auf CodeCanyon.

FleetHub v1.0.0 ist die erste öffentliche Veröffentlichung. Es gibt keine frühere Version zum Upgrade. Upgrade-Anleitungen werden bei neuen Versionen ergänzt.

Fehlerbehebung

„Berechtigung verweigert“ für den Speicher

chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache

QR-Scanner öffnet die Kamera nicht

Die Browser-Kamera-API erfordert HTTPS. Installieren Sie SSL oder verwenden Sie beim Testen localhost.

E-Mail nicht erhalten

Überprüfen Sie storage/logs/laravel.log auf Fehler. Verwenden Sie Einstellungen → E-Mail → Test-E-Mail senden, um die SMTP-Informationen zu bestätigen. Stellen Sie sicher, dass der SMTP-Server das Senden von IPs zulässt.

Datenbank „Zugriff verweigert“ (1045) auf cPanel

Falscher Benutzer/Passwort, Benutzer wurde der Datenbank nicht zugewiesen oder Sonderzeichen im Passwort sind beschädigt .env. Siehe cPanel installieren → Häufige Probleme.

Migrationsfehler 1067 (Ungültiger Standardwert)

Der strenge MySQL-Modus auf Shared Hosting lehnt mehrere timestamp NOT NULL-Spalten ab. Ab v2.1.0+ behoben. Das Aktualisieren des Pakets oder das Ändern von yêu cầu xe_date / expected_return_date in dateTime bei der Migration erfordert xes.

APP_KEY fehlt / Fehler 500 vor der Installation

Laravel benötigt APP_KEY in .env, bevor die App ausgeführt wird. Wenn cPanel kein Terminal hat, siehe cPanel installieren → Schritt 5 (SSH, genkey.php oder auf PC erstellen).

Einstellungen zurücksetzen

Löschen Sie storage/installed.lock und greifen Sie erneut auf /install zu. Vorhandene Daten werden gelöscht, wenn die Migration erneut ausgeführt wird.

Leistung – Liste langsamer Autos

Führen Sie php artisan optimize aus. Stellen Sie sicher, dass der MySQL-Index auf vehicles.vehicle_code, vehicles.license_plate, vehicles.status steht.

Änderungsprotokoll

v1.0.0 – Erste Veröffentlichung (2026–06)

  • CRUD das Fahrzeug mit selbst generiertem QR-Code und öffentlicher Seite /v/{vehicle_code}
  • 5 Rollen (Administrator, Flottenmanager, Manager, Buchhalter, Fahrer)
  • Verwalten Sie Fahrer, synchronisieren Sie den Ablauf des Führerscheins mit dem Compliance-Bereich
  • Fahrzeuganforderungsprozess mit Zeitplan und Überfälligkeitswarnungen
  • Übergeben Sie das Fahrzeug mit 2D-Schadensdiagramm, Checkliste, Unterschrift und PDF
  • Kraftstoffprotokoll, Betrugsbekämpfung, automatische Kostensynchronisierung
  • Fahrzeugkosten- und TCO-Tabelle mit Kosten-/km-Analyse
  • Abschreibung – linear, abnehmender Saldo, Produktionseinheiten (km)
  • Der Artikel entspricht der Ablaufwarnung für 30/14/7/1 Tag
  • Planen Sie Wartung, vorbeugende Selbsterneuerung und verfolgen Sie die Kosten
  • Flottengesundheitsbewertung, tägliche Neuberechnung und detaillierte Modalitäten
  • 7 Flottenberichte, Excel- und PDF-Export
  • Benutzerdefinierte Felder (7 Typen) nach Fahrzeugkategorie
  • Webhooks signieren HMAC (X-FleetHub-Signature) und versuchen es erneut
  • Spatie Activitylog-Überwachungsprotokoll mit Diff
  • Mehrsprachige Benutzeroberfläche: 11 Gebietsschemas, darunter Arabisch RTL und Hindi
  • Unternehmen, Flotte, E-Mail, Benachrichtigung, voreingestellte Compliance-Einstellungen
  • Web-Installer mit Demo-Daten-Seeder
  • Dunkler Modus, UI-Mobile-First, Bilder beim Hochladen komprimieren

Notiz

Es wird eine Open-Source-Bibliothek verwendet