Beginnen
Installieren Sie FleetHub in weniger als 10 Minuten auf cPanel, Hostinger oder einem privaten VPS.
Benutzer und Rollen
5 Flottenrollen mit Spatie-Berechtigungen – Administrator, Flottenmanager, Manager, Buchhalter, Fahrer.
Produktmerkmale
Fahrzeuge, Fahrer, Fahrzeuganfragen, Übergaben, Kraftstoffprotokolle, Gesamtbetriebskosten, Compliance, Flottenzustandswerte und mehr.
Anpassung
Benutzerdefinierte Felder nach Fahrzeugtyp, Marke, Sprache und Schnittstelle.
Hostinger installieren
Stellen Sie Schritt für Schritt das günstigste Single-Shared-Paket bereit.
Installieren Sie cPanel
Führen Sie die Bereitstellung Schritt für Schritt auf dem cPanel-Hosting durch – kein Terminal erforderlich.
Sicherheit & QR
HTTPS, HMAC-Signatur-Webhooks, Prüfprotokolle und schnelles QR-Scannen mit der Kamera.
Bericht und Export
7 Flottenberichte, Excel- und PDF-Export, Filter nach Datum.
E-Mail-Benachrichtigungen
Compliance-Erinnerungen, Wartung, Anfragen zu überfälligen Fahrzeugen und Führerscheinen.
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.
auth.login_subtitle nach Sprache bearbeiten → Farbe anpassen unter Einstellungen → Erscheinungsbild.
Kurzreferenz:
| Artikel | Beispiel | So ändern Sie |
|---|---|---|
| Logo & Name | ABC-Flotte | Einstellungen → Branding → App-Name |
| Anmeldeuntertitel | Geben Sie Informationen ein, um auf FleetHub zuzugreifen | Verwaltung → Übersetzungen → auth.login_subtitle |
| Browser-Tab-Titel | App-Name | Einstellungen → Branding → App-Name |
| App-Farben | Benutzerdefinierte Farbpalette | Einstellungen → 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)
- Laden Sie Projektdateien auf den Webserver hoch.
- Verweisen Sie im Stammverzeichnis des Dokuments auf den Ordner
public/. - Berechtigungszuweisung:
storage/undbootstrap/cache/müssen beschreibbar sein (chmod 775). - Kopieren Sie
.env.examplenach.envund legen SieAPP_KEYfest (führen Siephp artisan key:generateaus, wenn SSH verfügbar ist, oder sehen Sie sich cPanel-Einstellungen → Schritt 5 an). - Greifen Sie in Ihrem Browser auf
https://yourdomain.com/installzu. - 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
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).
| Schule | Standard / Beispiel | Notiz |
|---|---|---|
| Host | 127.0.0.1 | Gilt 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). |
| Port | 3306 | Standard-MySQL-Port. Nur ändern, wenn der Anbieter einen anderen Port verwendet (selten). |
| Datenbankname | uXXXXX_fleethub | Der 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). |
| Anmeldename | uXXXXX_fleethub | Das 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
| Fehlermeldung | Ursache und Lösung |
|---|---|
SQLSTATE[HY000] [1045] Access denied | Falscher 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 database | Der 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 refused | Es 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: sessions | Tritt 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 driver | Fehlende 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. |
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.
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.
- Laden Sie Laravel Herd von herd.laravel.com herunter und installieren Sie es.
- Stellen Sie den FleetHub-Projektordner auf
~/Herd/(macOS) oder%USERPROFILE%\Herd\(Windows) ein. Herd erstellt die Domäne.test– zum Beispielhttp://fleethub.test. - Ö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).
- 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). - Kopieren Sie
.env.examplenach.env, geben Sie die DB-Informationen ein und führen Sie dannphp artisan key:generateim Projektstammverzeichnis aus. - Öffnen Sie
http://fleethub.test/installin 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.
- Laden Sie XAMPP 8.2+ von apachefriends.org herunter und installieren Sie es.
- Kopieren Sie das FleetHub-Projekt nach
C:\xampp\htdocs\FleetHub\(Windows) oder/Applications/XAMPP/htdocs/FleetHub/(macOS). - Ö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.
- Gehen Sie zu
http://localhost/phpmyadmin→ Neu → erstellen Sie eine Datenbank mit dem Namenfleethubmit der Sortierung utf8mb4. - Im Projektordner:
.env.examplenach.envkopieren,DB_DATABASE=fleethub,DB_USERNAME=rootfestlegen,DB_PASSWORDleer lassen (XAMPP-Standard). Führen Siephp artisan key:generateaus. - Greifen Sie auf
http://localhost/FleetHub/public/installzu, um den Installationsassistenten auszuführen.
/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.
- Laden Sie Laragon Full von laragon.org herunter und installieren Sie es.
- In Laragon: Menü → PHP → Version – wechseln Sie zu PHP 8.2 oder 8.3.
- Kopieren Sie das FleetHub-Projekt nach
C:\laragon\www\FleetHub\. - Drücken Sie Alle starten. Laragon erstellt seinen eigenen Vhost:
http://fleethub.test(zeigt auf Ordnerpublic/). - Öffnen Sie HeidiSQL (im Lieferumfang enthalten) → Datenbank erstellen
fleethub. Standardinformationen: Benutzerroot, Passwort ist leer. - Bearbeiten Sie
.envmit DB-Informationen, führen Siephp artisan key:generateaus und greifen Sie dann aufhttp://fleethub.test/installzu.
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.
Schritt 1 – Bereiten Sie das Hosting vor
- Melden Sie sich bei Hostinger hPanel an.
- Gehen Sie zu Hosting → Verwaltung für Ihren Domainnamen.
- Stellen Sie die PHP-Version über Erweitert → PHP-Konfiguration auf 8.2 oder 8.3 ein.
- 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
- Gehen Sie in hPanel zu Datenbanken → MySQL-Datenbanken.
- Drücken Sie Neue Datenbank erstellen.
- Notieren Sie diese 3 Werte:
Datenbankname— zum Beispielu123_FleetHubAnmeldename— zum Beispielu123_adminPasswort— Selbst erstellt und sorgfältig gepflegt
Schritt 3 – Dateien hochladen
- Gehen Sie in hPanel zu Datei → Dateimanager.
- Navigieren Sie zu
public_html/(dies ist der Stamm des Domänennamens). - Löschen Sie alle Standarddateien
index.htmloderdefault.phpin diesem Ordner. - Klicken Sie auf Dateien hochladen und laden Sie alle
source.zipaus dem Installationspaket herunter.
Oder laden Sie den Inhalt des Ordners/source/direkt per FTP herunter, wenn Sie möchten. - 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. - Bestätigen Sie, dass
public_html/Folgendes enthält:app/,public/,vendor/,.htaccess,index.php(inpublic/),.envusw.
.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
- Öffnen Sie Ihren Browser und gehen Sie zu
https://yourdomain.com/install. - Sie sehen das FleetHub-Installationsprogramm.
- 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.
- 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)
- Gastgeber:
- Schritt 3: Migrieren – Klicken Sie auf „Migrationen und Seed ausführen“. Dauert ca. 10 Sekunden. Nicht aktualisieren.
- Schritt 4: Admin – Erstellen Sie ein Administratorkonto. Verwenden Sie starke Passwörter.
- 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.
- Gehen Sie in hPanel zu Erweitert → Cron-Jobs.
- Klicken Sie auf Cron-Job erstellen.
- Typ auswählen: Benutzerdefiniert (nicht „PHP“ – da Parameter übergeben werden müssen).
- Geben Sie den folgenden Befehl ein (ersetzen Sie
uXXXXXXdurch Ihren Hostinger-Benutzernamen):
Tipp: Öffnen Sie den Dateimanager, suchen Sie die Datei/usr/bin/php /home/uXXXXXX/public_html/artisan schedule:runartisan(Projektstammverzeichnis), klicken Sie mit der rechten Maustaste → Eigenschaften, um den vollständigen Pfad zu kopieren. - Stellen Sie den Zeitplan auf Jede Minute ein – alle fünf Felder (Minute, Stunde, Tag, Monat, Wochentag) sind auf
*eingestellt. - Drücken Sie Speichern.
FleetHub sendet überfällige Schadenserinnerungen, Wartungs-, Compliance- und Lizenzwarnungen, Abschreibungsaktualisierungen und automatische Neuberechnungen der Flottenzustandsbewertung.
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).
- Login-Administrator → Einstellungen → Registerkarte „System“ → Cron-URL kopieren.
- Melden Sie sich kostenlos unter cron-job.org an.
- 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:
- Gehen Sie in hPanel zu Email → E-Mail-Konten und erstellen Sie ein Konto (zum Beispiel
noreply@yourdomain.com). - Bearbeiten Sie die Datei
.envinpublic_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" - Speichern Sie die Datei.
- Melden Sie sich bei FleetHub an → Einstellungen → Registerkarte „E-Mail“ → Test-E-Mail senden. Wenn Sie es bekommen, sind Sie fertig.
Häufige Probleme bei Hostinger Single
„500 Internal Server Error“ nach dem Hochladen
- Stellen Sie sicher, dass
.htaccessim Stammverzeichnispublic_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 auf755setzen. - 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.logauf 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.
/home/CPANELUSER/ – siehe cPanel-Seitenleiste unter Allgemeine Informationen.
Schritt 1 – PHP-Version und Erweiterungen festlegen
- Melden Sie sich bei cPanel an.
- Öffnen Sie MultiPHP Manager (oder PHP-Version auswählen) und wählen Sie PHP 8.2 oder 8.3 für die Domain.
- Ö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
- Wenn die Erweiterung fehlt, aktivieren Sie sie in der Liste oder wenden Sie sich an den Host-Support.
Schritt 2 – SSL (HTTPS) aktivieren
- Gehen Sie zu SSL/TLS-Status (oder Let's Encrypt SSL / AutoSSL).
- Führen Sie AutoSSL aus oder installieren Sie ein kostenloses Zertifikat für die Domäne.
- HTTPS erforderlich für den QR-Scanner zum Öffnen der Browserkamera.
https://yourdomain.com und überprüfen Sie das Vorhängeschloss-Symbol.
Schritt 3 – Erstellen Sie eine MySQL-Datenbank und einen Benutzer
- Öffnen Sie Meine Datenbanken verwalten (im Abschnitt „Datenbanken“).
- 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 Formcpaneluser_fleethub. - Erstellen Sie unter MySQL-Benutzer einen Benutzer mit einem sicheren Passwort. Benutzernamen mit Präfix kopieren.
- 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). - Notieren Sie genau 3 in cPanel angezeigte Werte:
Datenbankname— zum Beispielu123_FleetHubAnmeldename— zum Beispielu123_adminPasswort— Selbst erstellt und sorgfältig gepflegt
Schritt 4 – Dateien hochladen
- Öffnen Sie Dateimanager und gehen Sie zu
public_html/(Dokumentstammverzeichnis). - Aktivieren Sie Einstellungen → Versteckte Dateien anzeigen, um
.htaccessund.envanzuzeigen. - Löschen Sie die Standardeinstellung
index.htmlinpublic_html/, falls vorhanden. - Laden Sie
source.zipund Extract hoch oder laden Sie den Inhalt des Ordners/source/über FTP hoch. - Nach der Dekomprimierung muss
public_html/app/,public/,vendor/,.htaccessRoot undartisanauf derselben Ebene haben.
.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.
- Kopieren Sie im Dateimanager
.env.examplenach.env(gleicher Ordner wieartisan). - Bearbeiten Sie
.envund 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 - Legen Sie
DB_CONNECTION=mysql–.env.examplestandardmäßig fest, um SQLite zu verwenden; Shared Hosting erfordert MySQL. - Setzen Sie
SESSION_DRIVER=fileundCACHE_STORE=filevor der ersten Migration (vermeiden Sie Sitzungstabellenfehler). - Setzen Sie
DB_PASSWORDin 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:generateaus. - Dateimanager – Erstellen Sie eine temporäre Datei
public/genkey.php, öffnen Sie den Browser, kopieren Sie die Ergebnisse nachAPP_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.envein.
genkey.php sofort nach dem Kopieren des Schlüssels. Lassen Sie Hilfsskripte nicht in der Produktion.
- Setzen Sie die Berechtigungen
storage/undbootstrap/cache/auf 755 (rekursiv), wenn der Installer einen Schreibfehler meldet.
Schritt 6 – Führen Sie den Web-Installer aus
- Öffnen Sie
https://yourdomain.com/installim Browser. - Schritt 1: Anforderungen – alle müssen PASSEN (grün). Korrigieren Sie die PHP-Erweiterung in Schritt 1, falls sie fehlt.
- Schritt 2: Datenbank – Geben Sie den Namen mit Präfix aus Schritt 3 ein:
- Gastgeber:
127.0.0.1orlocalhost - Hafen:
3306 - Datenbank:
cpaneluser_fleethub - Benutzername:
cpaneluser_admin - Passwort: (your MySQL password)
- Gastgeber:
- Schritt 3: Migrieren – Klicken Sie auf „Migrationen und Seed ausführen“. ~10 Sekunden. Aktualisieren Sie die Seite nicht.
- Deaktivieren Sie Demodaten einbeziehen, wenn Sie eine saubere Produktion installieren.
- Schritt 4: Admin – Erstellen Sie ein Administratorkonto.
- 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.
- Gehen Sie in cPanel zu Erweitert → Cron-Jobs.
- Stellen Sie in Neuen Cron-Job hinzufügen den Zeitplan auf Jede Minute (
* * * * *) ein. - Geben Sie den Befehl ein (ersetzen Sie
CPANELUSERdurch den cPanel-Benutzernamen in den allgemeinen Informationen):
Tipp: Der PHP-Pfad kann/usr/local/bin/php /home/CPANELUSER/public_html/artisan schedule:run/usr/local/bin/phpoder/usr/bin/phpsein. Der handwerkliche Weg ist normalerweise/home/CPANELUSER/public_html/artisan. - Klicken Sie zum Speichern auf Neuen Cron-Job hinzufügen.
public_html/public/? Cron zeigt immer noch auf /home/CPANELUSER/public_html/artisan – nicht mehr /public/.
- Melden Sie sich als Administrator an → Einstellungen → System → Cron-URL kopieren.
- Melden Sie sich kostenlos unter cron-job.org an.
- 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:
- Gehen Sie zu E-Mail-Konten → erstellen Sie z.
noreply@yourdomain.com. - Bearbeiten Sie
.envim 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" - Speichern, dann in FleetHub: Einstellungen → E-Mail → Test-E-Mail senden.
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 umDB_PASSWORD, wenn Sonderzeichen vorhanden sind.
Die Migration schlägt fehl, nachdem der Datenbankschritt abgeschlossen ist
- Der Assistent testet das Formular, aber Migrate zeigt
.envan. 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=mysqlin.envist (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
.htaccessund PHP 8.2+ an. - Siehe
storage/logs/laravel.logfür den tatsächlichen Fehler. - Bestätigen Sie, dass
APP_KEYin.enveingestellt 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
| Sperren | Beschreiben | Zum Beispiel |
|---|---|---|
APP_NAME | Der Anwendungsname wird in der Titelleiste angezeigt | FleetHub |
APP_URL | Die öffentliche URL der Installation | https://fleet.example.com |
APP_DEBUG | Stellen Sie false auf Produktion ein | false |
DB_* | Informationen zur Datenbankverbindung | mysql, 127.0.0.1, 3306, ... |
MAIL_MAILER | Mail-Treiber | smtp, log, mailgun |
MAIL_HOST | Hostname des SMTP-Servers | smtp.gmail.com |
MAIL_PORT | Port-SMTP | 587 |
MAIL_USERNAME | Benutzername SMTP | your@email.com |
MAIL_PASSWORD | SMTP-Passwort oder App-Token | ********** |
MAIL_FROM_ADDRESS | Standard-Von-Adresse | noreply@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
| Code | Sprache | Richtung |
|---|---|---|
en | English (default) | LTR |
vi | Tiếng Việt | LTR |
es | Español | LTR |
fr | Français | LTR |
de | Deutsch | LTR |
zh | 简体中文 | LTR |
ja | 日本語 | LTR |
pt-BR | Português (Brasil) | LTR |
ru | Русский | LTR |
ar | العربية | RTL |
hi | हिन्दी | LTR |
So ändern Sie die Sprache
- Klicken Sie auf das Flaggensymbol in der oberen rechten Ecke, um das Dropdown-Menü zu öffnen.
- Wählen Sie die Sprache aus der Liste aus.
- Die Seite wird neu geladen; Alle Beschriftungen, Daten und Währungsformate der Benutzeroberfläche werden übernommen.
- Die Auswahl wird sowohl im Benutzerkonto als auch in Cookies gespeichert (1 Jahr).
/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.
mkfü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:
| Rolle | Leistung |
|---|---|
| Admin | Vollständige Systemkontrolle – Benutzer, Abteilungen, Einstellungen, Prüfprotokolle, Webhooks, Übersetzungen |
| Fuhrparkmanagement | Verwalten Sie Fahrzeuge, Fahrer, Anfragen, Übergaben, Wartung und Kraftstoffprotokolle. Anfrage genehmigen; Vollständiger Bericht |
| Buchhalter | TCO-Tabellen, Kosten, Abschreibungen, Compliance-Berichte – finanzieller Fokus, hauptsächlich Ansicht |
| Abteilungsleiter | Durchsuchen Sie Ihre Zimmeranfragen, sehen Sie sich Fahrzeuge an und melden Sie sich bei den Abteilungen |
| Treiber | Sehen 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
- Navigieren Sie zu Fahrzeuge → Neue Fahrzeuge.
- Geben Sie Kennzeichen, Marke, Modell, Jahr, Kraftstoffart, Kategorie und Abteilung ein.
- Kaufdatum und Preis hinzufügen (erforderlich für Abschreibung und Gesamtbetriebskosten).
- Laden Sie Fotos hoch (mehrere Dateien, jeweils maximal 5 MB – auf Mobilgeräten automatisch komprimiert).
- 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
- Drücken Sie Importieren auf der Seite „Fahrzeuge“.
- Laden Sie Excel-Vorlagen herunter.
- Geben Sie die Daten ein – erforderliche Spalten:
license_plate,make,model,category_name. - 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_URLgeä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
- Wenn die Anfrage genehmigt wurde, erstellen Sie Exit Handover, bevor der Fahrer das Fahrzeug abholt.
- 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.
- Speichern Sie den PDF-Lieferbericht und laden Sie ihn für Ihre Unterlagen herunter.
- Bei Rückgabe des Fahrzeugs Übergabe erstellen – Status vergleichen, Zähler aktualisieren, Fahrerzuordnung löschen.
- 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.
| Verfahren | Rezept | Im Falle einer Verwendung |
|---|---|---|
| Gerade | (Cost - Salvage) / Useful Life | Am beliebtesten; Jedes Jahr gleichmäßig abschreiben |
| Das Gleichgewicht nimmt allmählich ab | 2 / Useful Life × Book Value | Schnelle 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:
- Gesamtbetriebskosten – Gesamtbetriebskosten pro Fahrzeug und gesamter Flotte
- Abschreibungsplan – Abschreibung pro Fahrzeug, mit Dateiexport
- Wartungskosten – Ausgaben nach Fahrzeug, Typ und Monat
- Kraftstoffverbrauch und -kosten – km/l-Trend, unregelmäßige Markierung
- Fahrzeuganfragenutzung – Fahrzeugbuchungsrate im Zeitverlauf
- Ablauf der Konformität – Fahrzeugpapiere und Führerschein laufen bald ab
- 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.deletedrequisition.approved,requisition.rejected,requisition.overdue,requisition.returnedhandover.completedcompliance.expiring,compliance.expiredmaintenance.due,maintenance.overdue,maintenance.completedfleet_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
| Zeit | Befehl | Zweck |
|---|---|---|
| Täglich 08:00 Uhr | fleethub:send-requisition-overdue-alerts | Der Antrag wurde genehmigt, aber bis zum Einsendeschluss nicht bezahlt |
| Täglich 08:30 Uhr | fleethub:send-maintenance-reminders | Denken Sie daran, dass bald Wartungsarbeiten fällig sind |
| Täglich 09:00 Uhr | fleethub:send-compliance-expiry-alerts | Die Einhaltung läuft in 14/30/7/1 Tagen ab |
| Täglich 09:30 Uhr | fleethub:send-driver-license-alerts | Achtung: Führerschein läuft bald ab |
| 1. Tag jedes Monats 02:00 Uhr | fleethub:update-vehicle-values | Aktualisieren Sie den aktuellen_Wert des Fahrzeugs anhand der Abschreibung |
| Täglich 03:00 Uhr | fleethub:recalculate-fleet-health-score | Flottengesundheitspunkte neu berechnen und zwischenspeichern |
Upgrade-Anleitungen
FleetHub v1.0.0 ist die Erstveröffentlichung auf CodeCanyon.
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
- Laravel 11 — MIT
- Vue 3 — MIT
- Inertia.js — MIT
- Tailwind CSS — MIT
- Spatie Permission, Media Library, Activitylog — MIT
- Phosphor Icons — MIT (duotone weight)
- ApexCharts — MIT
- html5-qrcode — Apache 2.0
- Simple QrCode — MIT
- Laravel Excel — MIT
- Laravel DomPDF — MIT