FleetHub ドキュメント

よくある質問

FleetHub を最も安価な Hostinger Single プランで実行できますか?

はい — FleetHub は以下と完全に互換性があります Hostinger シングル (~$2.99/月)。シングルには、PHP 8.3、MySQL、ネイティブ Cron ジョブ、無料 SSL など、FleetHub に必要なものがすべて含まれています。 SSH、Composer、コマンドラインは必要ありません。を参照してください。 ホスティンガーのセットアップ ステップバイステップガイドのセクションを参照してください。

設置するには技術的なスキルが必要ですか?

いいえ、 Webベースのインストーラー 要件のチェック、データベースのセットアップ、移行、管理者アカウントの作成など、すべてを処理します。ファイルをアップロードするだけです。 /インストール ブラウザで をクリックし、ウィザードに従います。

スケジュールされた電子メール (コンプライアンス/メンテナンス アラート) はどのように機能しますか?

FleetHub は Laravel のスケジューラを使用します。あなたは設定するだけです 1 つの cron ジョブ これは毎分実行され、Laravel は各タスクを正しい時刻 (毎日 08:00、毎月など) に内部的にディスパッチします。 cPanel の場合は、次のように設定します。 上級 → Cron ジョブ。ホスティンガーの場合は、次を使用します。 hPanel → 詳細 → Cron ジョブ。見る cPanelのセットアップ → ステップ7 または ホスティンガーのセットアップ → ステップ 5。ホストに cron がない場合は、無料のアプリ内 Cron URL を使用します。 cron-job.org サービス。

どのような減価償却方法がサポートされていますか?

3 つの方法: 直線定率法、 そして 生産単位 (走行距離計のキロ数に基づく)。車両の価値は TCO ダッシュボードに入力され、毎月自動更新されます。

QR スキャナーは携帯電話でも機能しますか?

はい - ドライバーと管理者は、ブラウザ カメラで車両の QR コードをスキャンできます。 html5-qrコード。クイック スキャン アクション (燃料ログ、走行距離計、インシデント レポート) にはログインが必要です。唯一の要件は、 HTTPS

コーディングせずに独自のフィールドを追加できますか?

はい。 管理者 → カスタムフィールド 無制限の属性 (テキスト、数値、日付、選択、テキストエリア、ファイル、チェックボックス) を追加し、それらを車両カテゴリにスコープし、必須としてマークし、ドラッグ アンド ドロップで並べ替えることができます。

FleetHub は何言語をサポートしていますか?

すぐに使用できる 11 のロケール: 英語、ベトナム語、スペイン語、フランス語、ドイツ語、中国語、日本語、ポルトガル語 (BR)、ロシア語、アラビア語 (完全な RTL サポート)、ヒンディー語。管理者は翻訳を管理します 管理 → 翻訳

FleetHub を cPanel 共有ホスティングにインストールできますか?

はい - FleetHub はあらゆる標準で動作します cPanel 共有ホスティング PHP 8.2 以降、MySQL、および Cron ジョブを使用して計画します。サーバー上に Composer や Node.js は必要ありません。パッケージはビルド済みで出荷されます。を参照してください。 cPanelのセットアップ セクション。

FleetHub のブランド (ログイン ページ、ページ タイトル、色) を変更するにはどうすればよいですか?

FleetHub は管理画面から完全にリブランドできます — コード編集や npm run build は不要です。ログインロゴ、フッター、バッジ、ブラウザのタブタイトルは Settings → Branding → App Name に従います。Appearance タブでライト/ダークモードの色をカスタマイズできます。

リブランドチェックリスト: App Name を更新 → 言語ごとに auth.login_subtitle を編集 → Settings → Appearance で色をカスタマイズ。

クイックリファレンス:

項目変更方法
ロゴと名称ABC フリートSettings → Branding → App Name
ログインサブタイトルFleetHub にアクセスするには認証情報を入力Administration → Translationsauth.login_subtitle
ブラウザタブタイトルアプリ名Settings → Branding → App Name
アプリの色カスタムパレットSettings → Appearance

1. ロゴと名称: 管理者でサインイン → Settings → BrandingApp Name を更新(必要ならロゴをアップロード)→ Save。

2. ログインサブタイトル: Administration → Translationsauth.login_subtitle を編集、または lang/{locale}/auth.php を直接編集。

3. アプリの色: Settings → Appearance — ライト/ダークそれぞれの色を設定。Save appearance で全体に適用。

概要

FleetHub は社内車両(50~200 台)向けのエンタープライズ車両資産管理システムです。Laravel 11、Vue 3、Tailwind CSS で構築 — 車両、ドライバー、車両申請、損傷マッピング付き引き渡し、燃料ログ、経費、TCO 分析、コンプライアンス追跡、フリートヘルススコアをカバーします。タクシーやレンタカー事業向けではありません

QR クイックスキャン

車両 QR をスキャンして燃料記録、オドメーター更新、インシデント報告 — ドライバー向けモバイルファースト。

TCO ダッシュボード

車両別・フリート全体の総所有コスト — 購入、燃料、メンテナンス、保険など。

車両引き渡し

出庫/入庫引き渡し(2D 損傷マッパー、チェックリスト、写真、署名、PDF レポート付き)。

フリートヘルススコア

日次スコアと内訳 — 期限超過メンテナンス、期限間近コンプライアンス、燃料異常。

コンプライアンス追跡

保険、車検、道路税、許可証、運転免許 — 30/14/7/1 日前のアラート。

フリートレポート

7 種類の組み込みレポート(チャート、Excel/PDF エクスポート)。

サーバー要件

  • PHP 8.2 以降 (8.3 推奨)
  • MySQL 5.7 以降または MariaDB 10.3 以降
  • Composer 2.x (for local development only — not required on shared hosting)
  • Node.js 18 以降および npm 9 以降 (ローカル フロントエンド ビルドのみ)
  • Webサーバー: ApacheまたはNginx

必要な PHP 拡張機能

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

ディスク容量

最小 ~ 200 MB。車両の写真、燃料の領収書、引き渡し画像、コンプライアンス文書用の余分なスペースを確保してください。

インストール

オプション A — Web インストーラー (推奨)

  1. プロジェクト ファイルを Web サーバーにアップロードします。
  2. ドメインドキュメントルートを指定します 公共/
  3. 権限を設定します。 ストレージ/ そして ブートストラップ/キャッシュ/ 書き込み可能である必要があります (chmod 775)。
  4. コピー .env.example.env そしてセット APP_KEY (走る php 職人キー:生成 SSH/ターミナルを使用している場合、または次を参照してください。 cPanelのセットアップ → ステップ5)。
  5. 訪問 https://yourdomain.com/install ブラウザで。
  6. ウィザードに従って、「要件」→「データベース」→「移行」→「管理者アカウント」→「完了」を選択します。チェック デモデータを含める デモアカウントを使用してサンプルフリートをロードするには(「 ユーザーと役割)。

オプション B — CLI インストール

# 1. 依存関係をインストールする
composer install --no-dev --optimize-autoloader
npm install
npm run build

# 2. 環境の設定
cp .env.example .env
php artisan key:generate

# 3. .env を編集して DB 認証情報を設定します
# DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD

# 4. データベーステーブルを作成し、初期データをシードする
php artisan migrate --seed

# 5. アップロード用のストレージのシンボリックリンクを作成する
php artisan storage:link

# 6. 実稼働用のキャッシュ構成
php artisan config:cache
php artisan route:cache
php artisan view:cache

# 7. インストール済みとしてマークします
echo "Installed" > storage/installed.lock
Web サーバーの構成: ドキュメントルートは、 公共/ ディレクトリ。 Apache の場合、含まれる .htaccess URL の書き換えを処理します。 Nginx については、 Laravel デプロイメントガイド

ウィザードのステップ 2 — データベースの構成

ウィザードがステップ 2 に到達したら、ホスティング パネルで作成したデータベースの MySQL 接続の詳細を入力します。

分野デフォルト / 例注意事項
Host127.0.0.199% の共有ホストで動作します。ホスティングがカスタム MySQL ホスト名を提供しない限り、このデフォルトのままにしてください。
Port3306標準の MySQL ポート。プロバイダーが標準以外のポートを使用している場合にのみ変更してください。
データベース名uXXXXXX_fleethubホスティング パネルに表示されるフルネーム (プレフィックスを含む)。
ユーザー名uXXXXXX_fleethub上記のデータベースに対する権限を持つ MySQL ユーザー。 使用しないでください 共有ホスティングについて。
パスワード(DBパスワード)MySQL ユーザーの作成時に設定したパスワード。

ホストパネルごとにこれらの認証情報を見つける場所

  • Hostinger: hPanel → データベース → 管理 → データベースをクリックします。
  • cPanel: cPanel → MySQL データベース。データベースのリストには名前が表示されます。ユーザーは以下にリストされています。
  • Plesk: 「Plesk」→「データベース」→データベース名をクリックします。
  • DirectAdmin: DirectAdmin → MySQL Management → データベースをクリックします。
  • 外部/マネージドDB: AWS RDS、DigitalOcean マネージド データベースなど。クラウド コンソールから認証情報を使用します。

よくあるエラーとその修正方法

エラーメッセージ原因と修正
SQLSTATE[HY000] [1045] Access deniedユーザー名またはパスワードが間違っているか、ユーザーがこのデータベースにアクセスできません。
SQLSTATE[HY000] [1049] Unknown databaseデータベース名が間違っているか、データベースをまだ作成していません。
SQLSTATE[HY000] [2002] Connection refusedMySQL サーバーにアクセスできません。試す ローカルホスト の代わりに 127.0.0.1 またはその逆。
SQLSTATE[42S02] Base table not found: sessionsセット SESSION_DRIVER=ファイル そして CACHE_STORE=ファイル.env 移住前。
could not find driverPHP pdo_mysql 拡張子がありません。ホスティング パネルで有効にします。
ヒント: ホストとポートにはあらかじめ入力されています。 127.0.0.1 そして 3306 — 共有ホスティングではそのままにしておきます。

Localhost (ローカル開発)

運用環境に展開する前に、テストまたは開発のためにコンピューター上で FleetHub を実行するためのクイック ガイド。オペレーティング システムに一致する環境を選択してください。

推奨: Laravel Herd は macOS と Windows 上で最速のパスです。Docker や手動の Apache/MySQL 構成は必要ありません。従来のスタックを好む場合は、XAMPP と Laragon が無料の代替手段として適しています。

オプション 1 — Laravel Herd (推奨、macOS および Windows)

ララベルの群れ Laravel チームによる公式のローカル環境です。無料、ネイティブ、Docker なしです。 PHP 8.2/8.3/8.4、Nginx、および (Herd Pro の) MySQL/Redis をバンドルします。

  1. ダウンロードしてインストールする ララベルの群れ から herd.laravel.com
  2. FleetHub プロジェクト フォルダーをその中に置きます ~/群れ/ (macOS) または %USERPROFILE%\群れ\ (Windows)。 Herd は、 。テスト ドメイン — 例: http://fleethub.test
  3. 開ける 群れ → サイト PHP のバージョンが次であることを確認します。 8.2または8.3。サイトを右クリック → 安全な HTTPS を有効にします (QR スキャナーに必要)。
  4. MySQL データベースを作成します。と ハードプロ、 使用 サービス → MySQL → TablePlus で開く。それ以外の場合はインストールします MySQL コミュニティ または SQLite (DB_CONNECTION=sqlitetouch データベース/database.sqlite)。
  5. コピー .env.example.env、DB認証情報を入力して実行します。 php 職人キー:生成 プロジェクトのルートから。
  6. 開ける http://fleethub.test/install ブラウザで をクリックし、インストーラー ウィザードに従います。

オプション 2 — XAMPP (Windows、macOS、Linux)

XAMPP Apache、MySQL/MariaDB、および PHP をバンドルします。無料かつクロスプラットフォーム。必ずバージョンを選択してください PHP 8.2以降

  1. ダウンロード XAMPP 8.2+ から apachefriends.org そしてそれをインストールします。
  2. FleetHub プロジェクトをにコピーします C:\xampp\htdocs\FleetHub\ (Windows) または /アプリケーション/XAMPP/htdocs/FleetHub/ (macOS)。
  3. 開ける XAMPP コントロール パネル そして始めます アパッチ そして MySQL。ポートがビジーな場合は、次を使用します。 設定→service.conf Apache を 8080 に切り替えます。
  4. に行く http://localhost/phpmyadmin新しい → という名前のデータベースを作成します。 フリートハブ utf8mb4照合を使用します。
  5. プロジェクトフォルダー内:コピー .env.example.env、 セット DB_DATABASE=フリースハブDB_USERNAME=ルート、 離れる DB_パスワード 空 (XAMPP のデフォルト)。走る php 職人キー:生成
  6. 訪問 http://localhost/FleetHub/public/install をクリックしてインストーラー ウィザードを実行します。
きれいな URL なし /公共/: に仮想ホストを作成します C:\xampp\apache\conf\extra\httpd-vhosts.conf ポインティング ドキュメントルート プロジェクトの 公共/ フォルダーを選択し、追加します 127.0.0.1 フリーハブ.ローカル ホストファイルに。

オプション 3 — ララゴン (Windows)

ララゴン は、Laravel 用に設計されたポータブル Windows スタックです。自動仮想ホスト、きれいな URL、MySQL/MariaDB、およびバンドルされた HeidiSQL です。

  1. ダウンロード ララゴンフル から ララゴン.org そしてそれをインストールします。
  2. ララゴンでは: メニュー → PHP → バージョン — に切り替えます PHP 8.2 または 8.3
  3. FleetHub プロジェクトをにコピーします C:\laragon\www\FleetHub\
  4. クリック すべて開始。 Laragon は vhost を自動作成します。 http://fleethub.test (を指して、 公共/ フォルダ)。
  5. 開ける ハイジSQL (バンドル) → データベースを作成する フリートハブ。デフォルトの認証情報: ユーザー 、パスワードが空です。
  6. 編集 .env DB 認証情報を使用して実行します。 php 職人キー:生成を訪問してください。 http://fleethub.test/install

オプション 4 — 組み込み PHP サーバー (Web サーバーは必要ありません)

最も単純なオプション: Laravel には同梱されています。 職人が奉仕する、開発用 PHP サーバーが起動します。 Apache や Nginx は必要ありません。簡単なテストに最適です。

# 依存関係をインストールして構成する
cd /path/to/FleetHub
composer install
cp .env.example .env
php artisan key:generate

# 移行を実行し、初期データをシードする
php artisan migrate --seed

# 開発サーバーを起動します
php artisan serve
# それから訪問してください: http://127.0.0.1:8000/install

ローカルホストの一般的な注意点

QR スキャナ カメラが http:// で開かない

ブラウザ カメラ API には HTTPS が必要ですが、次の 1 つの例外があります。 http://ローカルホスト そして http://127.0.0.1 セキュアなコンテキストとして扱われます。 LAN IP 経由で FleetHub にアクセスする場合 (例: http://192.168.1.10)、カメラは拒否します。使用 ローカルホスト dev の場合は、Herd / mkcert 経由で HTTPS を有効にします。

ストレージでアクセス許可が拒否されました (macOS / Linux)

アプリがログまたはキャッシュしようとしたときに書き込みエラーが発生した場合は、権限を修正します。 chmod -R 775 ストレージ ブートストラップ/キャッシュ。 Windows では、これは通常必要ありません。

ポートはすでに使用されています

ポート 8000 が別のアプリによって使用されている場合は、別のポートを使用します。

php artisan serve --port=8001

ローカルでメールをテストする

本物の SMTP は、ほとんどのローカルホスト設定では利用できません。 2 つの安全なオプション: (1) セット MAIL_MAILER=ログ.env — 電子メールは次の宛先にダンプされます ストレージ/ログ/laravel.log 送信される代わりに。または (2) 使用する メールトラップ / メールホッグ 送信メールを偽の受信箱にキャプチャします。

MAIL_MAILER=log
# すべての電子メールは storage/logs/laravel.log に書き込まれます

Frontend assets (Vite / Tailwind)

FleetHub の Vue/Tailwind フロントエンドはパッケージに事前に組み込まれています。 Vue コンポーネントまたは Tailwind 構成を編集する場合は、Node.js 18 以降が必要になります。

npm install
npm run dev    # 開発中のホットリロード
npm run build  # 実稼働ビルド (デプロイ前に実行)

Hostinger Single への展開 (共有ホスティング)

これは、VPS や技術的な経験のないユーザーに推奨されるパスです。 FleetHub は最も安価なものと完全に互換性があります Hostinger 単一 Web ホスティング プラン (~$2.99/月)。 SSH も Composer もコマンド ラインも必要ありません。シングルには、ネイティブ cron ジョブ、PHP 8.3、すぐに使用できる無料の SSL が含まれています。

テスト対象: Hostinger シングル、プレミアム、ビジネス プラン (PHP 8.2 以降、MySQL 5.7 以降、すべての層にネイティブ Cron ジョブが含まれます)。

ステップ 1 — ホスティングを準備する

  1. にログインします ホスティンガー hPanel
  2. に行く ホスティング → 管理 あなたのドメインのために。
  3. PHP バージョンを次のように設定します 8.2または8.3 経由 詳細 → PHP 設定
  4. これらの PHP 拡張機能が有効になっていることを確認します (通常はデフォルト)。
    • OpenSSL, PDO, PDO_MySQL, Mbstring, GD, Tokenizer, XML, Ctype, JSON, Fileinfo

ステップ 2 — MySQL データベースを作成する

  1. hPanel で、次の場所に移動します。 データベース → MySQL データベース
  2. クリック 新しいデータベースの作成
  3. 次の 3 つの値に注意してください。
    • データベース名 — 例えば u123_フリートハブ
    • ユーザー名 — 例えば u123_管理者
    • パスワード — 自動生成されるので安全に保管してください

ステップ 3 — ファイルをアップロードする

  1. に行く ファイル → ファイルマネージャー hPanelで。
  2. に移動します public_html/ (これはドメインのルートです)。
  3. デフォルトを削除する インデックス.html または デフォルト.php そのフォルダー内にあります。
  4. クリック ファイルをアップロードする 全体をアップロードします ソース.zip パッケージから。
    またはコンテンツをアップロードしてください /ソース/ 必要に応じて、FTP 経由でフォルダーを直接ダウンロードできます。
  5. ZIP をアップロードした場合は、右クリック→ 抽出する。抽出後、すべてのファイルはルートにあるはずです。 public_html/
  6. 確認する public_html/ 含まれるもの: アプリ/公共/ベンダー/.htaccessインデックス.php (で 公共/)、 .env、など。
重要: ファイルを確認してください .htaccess の根元に存在します public_html/。 URL 書き換えルールが含まれています。ファイル マネージャーで隠しファイルが非表示になっている場合は、 設定→隠しファイルを表示

ステップ 4 — インストーラーを実行する

  1. ブラウザを開いて、次の場所に移動します https://yourdomain.com/install
  2. FleetHub インストーラーが表示されます。
  3. ステップ 1: 要件 — すべてのチェックに合格する必要があります (緑色)。いずれかが失敗した場合は、Hostinger サポートに連絡して、不足している PHP 拡張機能を有効にしてください。
  4. ステップ 2: データベース — 上記のステップ 2 の認証情報を入力します。
    • Host: localhost
    • Port: 3306
    • Database: u123_FleetHub
    • Username: u123_admin
    • パスワード: (Hostinger が生成したもの)
  5. ステップ 3: 移行する — [移行とシードの実行] をクリックします。最大 10 秒かかります。リフレッシュしないでください。
  6. ステップ 4: 管理者 — 管理者アカウントを作成します。強力なパスワードを使用してください。
  7. 終わり! — Cron URL (これを保存してください) とログイン用のボタンが表示されます。

ステップ5 — Hostinger Cron経由で自動電子メールアラートを設定する

FleetHub は、コンプライアンス期限切れアラート、メンテナンス リマインダー、申請期限切れ通知、運転免許証アラート、車両価値の更新、およびフリート健全性スコアの再計算などのバックグラウンド タスクに Laravel のスケジューラを使用します。設定 1つ hPanel と Laravel の cron ジョブは、いつどのタスクを実行するかを決定します。

  1. hPanel で、次の場所に移動します。 上級 → Cron ジョブ
  2. クリック Cron ジョブの作成
  3. タイプを選択してください: カスタム (「PHP」ではありません。引数を渡す必要があります)。
  4. コマンドとして、「(置き換える)」と入力します。 uXXXXXX Hostinger アカウントのユーザー名を使用):
    /usr/bin/php /home/uXXXXXX/public_html/artisan schedule:run
    ヒント: ファイルマネージャーを開き、 職人 ファイル(プロジェクトのルート)を右クリック→「プロパティ」を選択してフルパスをコピーします。
  5. スケジュールを設定してください 毎分 — 5 つのフィールド (分、時、日、月、曜日) がすべて次のように設定されています。 *
  6. クリック 保存

以上です。FleetHub は、申請期限超過のリマインダー、メンテナンス アラート、コンプライアンスおよびライセンスの有効期限切れアラートを送信し、車両の減価償却値を更新し、フリートの健全性スコアを自動的に再計算するようになりました。

ドキュメントルートを次のように設定 public_html/public/? 問題ありません。Laravel コードはまだ次の場所にあります。 public_html/ root なので cron パスは残ります /home/uXXXX/public_html/artisan (追加しないでください /公共/)。
cron を使用しないホストのフォールバック: Hostinger を使用していない場合、またはプロバイダーに cron ジョブがない場合、FleetHub は Webhook トリガー URL も公開します。
  1. 管理者としてログイン → 設定→システムタブ → Cron URL をコピーします。
  2. 無料でサインアップしてください cron-job.org
  3. cronジョブを作成し、URLを貼り付け、設定します 15分ごと、 保存。

ステップ 6 — 電子メール (SMTP) を構成する

Hostinger は各プランでメール アカウントを提供します。 FleetHub 通知に使用するには:

  1. hPanel で、次の場所に移動します。 メール → メールアカウント そしてそれを作成します(例: Noreply@yourdomain.com)。
  2. を編集します .env ファイルに入れる public_html/ ファイルマネージャー経由:
    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. ファイルを保存します。
  4. FleetHub にログイン → 「設定」→「メール」タブ→「テストメールの送信」。受け取れば完了です。
シングルの SMTP 制限: Hostinger Single では、1 時間あたり最大 100 件の送信メールが可能です。大規模な展開の場合は、SendGrid、Mailgun、Postmark などの専用プロバイダーを使用します (無料枠が利用可能)。

Hostinger Single に関する一般的な問題

アップロード後に「500 内部サーバー エラー」が発生する

  • 確認する .htaccess に存在します public_html/ ルートにあり、書き換えルールが含まれています。
  • hPanel で PHP バージョンが 8.2 または 8.3 に設定されていることを確認します。
  • チェック ストレージ/ログ/laravel.log 実際のエラーについてはファイルマネージャー経由で確認してください。

アップロード時に「許可が拒否されました」

Hostinger は通常、正しい権限を設定しますが、そうでない場合は次のようになります。

  • 右クリック ストレージ/ ファイルマネージャーで → 権限 →に設定 755 再帰的に。
  • 同じ ブートストラップ/キャッシュ/

QRコードスキャナカメラが開かない

ブラウザカメラ API には次のものが必要です HTTPS。 Hostinger は Let's Encrypt 経由で無料の SSL を提供します。これを hPanel で有効にします。 SSL → 管理

予約したメールが送信されない

  • hPanel → Cron Jobs → をチェックしてください。 最後の実行 cron エントリの列。空の場合、cron は起動していません。artisan パスが正しいことを確認してください。
  • コマンドを手動でテストします: open ターミナル hPanel (利用可能な場合) で cron コマンドを実行します。エラーが発生した場合は、エラー メッセージによって問題 (間違った PHP バージョン、間違ったパスなど) が特定されます。
  • SMTP が正しく構成されていることを確認します ([設定] → [電子メール] → [テストの送信])。
  • チェック ストレージ/ログ/laravel.log スケジューラーエラーの場合。

パフォーマンスが遅い

Hostinger Single は共有 CPU/RAM を備えています。チームのユーザー数が 20 人を超える場合は、次のことを考慮してください。

  • にアップグレード中 プレミアム (~$3.99/月) — より高速なサーバー、より多くのリソース、複数のデータベース。
  • または 仕事 (~$5.99/月) — 専用リソース、毎日のバックアップ、ステージング環境。

cPanel への展開 (共有ホスティング)

このガイドでは標準的なものについて説明します cPanel 共有ホスティング (Namecheap、Bluehost、GoDaddy、およびほとんどの低予算ホスト)。 FleetHub には以下が付属します ベンダー/ 事前に構築されたフロントエンド アセット — Composer、npm、または Web ターミナルは必要ありません。 cPanel にターミナルがない場合は、次を使用します。 SSHアクセス または、以下のファイル マネージャーの回避策を参照してください。

テスト対象: cPanel 110 以降、PHP 8.2/8.3、MySQL 5.7 以降、MariaDB 10.3 以降、Apache、およびネイティブ Cron ジョブ。ホームディレクトリは通常、 /ホーム/CPANELUSER/ — cPanel のサイドバーを確認します。 一般情報

ステップ 1 — PHP のバージョンと拡張機能を設定する

  1. にログインします cパネル
  2. 開ける マルチPHPマネージャー (または PHPバージョンの選択) を選択し、ドメインを次のように設定します。 PHP 8.2 または 8.3
  3. 開ける MultiPHP INI エディター または PHP 拡張機能 これらが有効になっていることを確認します。
    • OpenSSL, PDO, PDO_MySQL, Mbstring, GD, Tokenizer, XML, Ctype, JSON, Fileinfo
  4. 拡張機能が見つからない場合は、拡張機能リストでそれを有効にするか、ホストのサポートに問い合わせてください。

ステップ 2 — SSL (HTTPS) を有効にする

  1. に行く SSL/TLSステータス (または SSLを暗号化しましょう /AutoSSL)。
  2. 走る AutoSSL または、ドメインの無料の証明書をインストールします。
  3. HTTPS は 必須 ブラウザ内 QR スキャナでカメラにアクセスします。
ヒント: SSL を有効にしてから数分待ってから、次のサイトにアクセスしてください。 https://あなたのドメイン.com 南京錠アイコンが表示されることを確認します。

ステップ 3 — MySQL データベースとユーザーを作成する

  1. 開ける 私のデータベースを管理する (「データベース」の下)。
  2. 新しいデータベースの作成、名前を入力します (例: フリートハブ) をクリックし、「作成」をクリックします。 cPanel はアカウントのプレフィックスを自動的に追加します。フルネームは次のようになります。 cpaneluser_fleethub
  3. MySQL ユーザー、強力なパスワードを持つユーザーを作成します。接頭辞付きの完全なユーザー名をコピーします。
  4. データベースにユーザーを追加、ユーザーとデータベースを選択し、「追加」をクリックしてから付与します。 すべての特権。このステップは見逃しがちですが、これを行わないと次のような結果になります。 アクセスが拒否されました (1045) エラー。
  5. cPanel に示されているとおり、次の 3 つの値に注意してください。
    • データベース名 — 例えば u123_フリートハブ
    • ユーザー名 — 例えば u123_管理者
    • パスワード — 自動生成されるので安全に保管してください

ステップ 4 — ファイルをアップロードする

  1. 開ける ファイルマネージャー そしてに行きます public_html/ (ドメインのドキュメントルート)。
  2. 有効にする 設定→隠しファイルを表示 それでわかります .htaccess そして .env
  3. デフォルトを削除する インデックス.htmlpublic_html/ 存在する場合。
  4. パッケージをアップロードする ソース.zip そして 抽出する それをアップロードするか、そのコンテンツをアップロードします /ソース/ FTP経由でフォルダに移動します。
  5. 抽出後、 public_html/ を含める必要があります アプリ/公共/ベンダー/、 根 .htaccess、 そして 職人 同じレベルで。
重要:.htaccess すべてのリクエストを 公共/ フォルダー — そうします ない ほとんどのホストではドキュメント ルートを手動で変更する必要があります。

ステップ 5 — インストーラーを実行する前に .env を準備する

このステップを完了してください 前に 訪問 /インストール。 Laravel には有効なファイルが必要です APP_KEY でデータベース設定を修正してください .env

  1. ファイルマネージャーで、コピーします .env.example.env (と同じフォルダ 職人)。
  2. 編集 .env そして最小限に設定します:
    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. セット DB_CONNECTION=mysql — デフォルト .env.example SQLiteを使用します。共有ホスティングには MySQL が必要です。
  4. セット SESSION_DRIVER=ファイル そして CACHE_STORE=ファイル 最初の移行の前に (「セッション テーブルが見つかりません」エラーを回避します)。
  5. 包む DB_パスワード 特殊文字が含まれる場合は二重引用符で囲みます (#$、など)。

APP_KEY を生成します (ターミナルは必要ありません)

多くの cPanel プランには Web ターミナルが含まれていません。次のいずれかの方法を使用します。

  • SSHアクセス (cPanel → セキュリティ → SSH アクセス): PuTTY または PowerShell に接続し、実行します。 cd ~/public_html && php 職人キー:生成
  • ファイルマネージャーヘルパー - 作成する public/genkey.php 一時的にブラウザでアクセスし、出力をコピーします。 APP_KEY=、すぐにファイルを削除してください。
    <?php
    echo 'base64:' . base64_encode(random_bytes(32));
  • パソコン上で — PHP がローカルにインストールされている場合は、実行します php -r "echo 'base64:'.base64_encode(random_bytes(32));" 結果をに貼り付けます .env
安全: 消去 genkey.php キーをコピーするとすぐに。ヘルパー スクリプトを運用サーバー上に絶対に残さないでください。
  • セット ストレージ/ そして ブートストラップ/キャッシュ/ へのアクセス許可 755 (再帰的) インストーラーが書き込みエラーを報告した場合。

ステップ 6 — Web インストーラーを実行する

  1. 開ける https://yourdomain.com/install ブラウザで。
  2. ステップ 1: 要件 — すべてのチェックに合格する必要があります (緑色)。上記の手順 1 で不足している PHP 拡張機能を修正します。
  3. ステップ 2: データベース — ステップ 3 で取得した正確な接頭辞付きの名前を入力します。
    • Host: 127.0.0.1 or localhost
    • Port: 3306
    • Database: cpaneluser_fleethub
    • Username: cpaneluser_admin
    • Password: (your MySQL password)
  4. ステップ 3: 移行する — [移行とシードの実行] をクリックします。最大 10 秒かかります。ページを更新しないでください。
  5. チェックを外します デモデータを含める クリーンな実稼働インストールの場合。
  6. ステップ 4: 管理者 — 管理者アカウントを作成します。
  7. 終わり! — 最後の画面に表示される Cron URL を保存します。

ステップ 7 — 電子メールアラート用の Cron ジョブをセットアップする

FleetHub では、Laravel がコンプライアンス アラート、メンテナンス リマインダー、要求期限切れ通知、およびその他のスケジュールされた電子メールを送信できるように、1 分ごとに 1 つの cron ジョブを実行する必要があります。

  1. cPanel で、次の場所に移動します。 上級 → Cron ジョブ
  2. 新しい Cron ジョブを追加、スケジュールを次のように設定します 毎分 (* * * * *)。
  3. コマンドを入力します(置換 パネルユーザー 一般情報から cPanel ユーザー名を置き換えます):
    /usr/local/bin/php /home/CPANELUSER/public_html/artisan schedule:run
    ヒント: PHP パスは次のとおりです。 /usr/local/bin/php または /usr/bin/php — 不明な場合はホストに尋ねてください。職人パスはプロジェクトをアップロードした場所です (通常は /home/CPANELUSER/public_html/artisan)。
  4. クリック 新しい Cron ジョブを追加 保存するために。
ドキュメントルートを次のように設定 public_html/public/? クロンはまだ指摘しています /home/CPANELUSER/public_html/artisan — 追加しないでください /公共/
cron は利用できませんか? 代わりにアプリ内の Cron URL を使用してください。
  1. 管理者としてログイン → 設定→システム →Cron URLをコピーします。
  2. に登録してください cron-job.org (無料)。
  3. その URL にアクセスするジョブを 15 分ごとに作成します。

ステップ 8 — 電子メール (SMTP) を構成する

送信通知用の cPanel 電子メール アカウントを作成します。

  1. に行く 電子メールアカウント →作成例 Noreply@yourdomain.com
  2. 編集 .env ファイルマネージャーで:
    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. 保存してから、FleetHub で次のようにします。 「設定」→「メール」→「テストメールを送信」
共有ホスティングの SMTP 制限: 多くの cPanel ホストでは、送信メールの上限が 100 ~ 500/時間に制限されています。大規模なチームの場合は、SendGrid、Mailgun、または Postmark を使用します。

cPanel に関する一般的な問題

"Access denied for user" (SQLSTATE 1045)

  • データベース名とユーザー名をコピーします その通り cPanel から — アカウントのプレフィックスを含む。
  • 完了したことを確認する データベースにユーザーを追加 すべての特権を備えています。
  • cPanel で MySQL パスワードをリセットして更新する .env — 引用符で囲みます DB_パスワード 特殊文字が含まれている場合。

データベース ステップが完了した後に移行が失敗する

  • ウィザードはフォームから認証情報をテストしますが、Migrate は次の情報を読み取ります。 .env。両方が一致していることを確認してください。
  • 消去 ブートストラップ/キャッシュ/config.php 存在する場合は、再試行してください。
  • 確保する DB_CONNECTION=mysql に設定されています .env (SQLiteではありません)。

移行中の「無効なデフォルト値」 (1067)

共有ホスティングの MySQL 厳密モードでは、特定のカラムのデフォルトが拒否される場合があります。チェック ストレージ/ログ/laravel.log 正確な移行エラーを確認するには、必要な拡張機能がすべて有効になっている PHP 8.2 以降を確認してください。

アップロード後に「500 内部サーバー エラー」が発生する

  • ルートを確認する .htaccess が存在し、PHP は 8.2 以降です。
  • チェック ストレージ/ログ/laravel.log 実際のエラーについては。
  • 確認する APP_KEY に設定されています .env — 空のキーは 500 個のエラーを引き起こします。

cPanelにターミナルがありません

これは多くの共有プランでは正常です。使用 SSHアクセス (有効な場合)、一時的な genkey.php ステップ 5 の方法を使用するか、ローカル PC でキーを生成します。

QRスキャナカメラが開かない

SSL を有効にする SSL/TLS ステータス → AutoSSL からサイトにアクセスします https://

構成

.env ファイル

説明
APP_NAMEタイトルバーにアプリケーション名が表示されるFleetHub
APP_URLインストールのパブリック URLhttps://fleet.example.com
APP_DEBUGに設定します 間違い 生産中false
DB_*データベース接続の詳細mysql, 127.0.0.1, 3306, ...
MAIL_MAILERMail driversmtp, log, mailgun
MAIL_HOSTSMTPサーバーのホスト名smtp.gmail.com
MAIL_PORTSMTPポート587
MAIL_USERNAMESMTPユーザー名your@email.com
MAIL_PASSWORDSMTPパスワードまたはアプリトークン**********
MAIL_FROM_ADDRESSデフォルトの差出人アドレスnoreply@example.com

アプリ内設定

機密性の低いオプションのほとんどは、次から構成できます。 管理者→設定:

  • 一般的な: 会社名/メールアドレス/電話番号、ブランド名
  • 艦隊: 車両コードプレフィックス、引き継ぎチェックリストテンプレート、メンテナンスデフォルト、公共車両ページモード
  • 電子メール: SMTP を検証するためにテスト電子メールを送信します
  • 通知: コンプライアンス、メンテナンス、要求、およびライセンスのアラートを切り替えます
  • ローカリゼーション: タイムゾーン、日付形式、通貨 - アプリ全体に適用されます
  • コンプライアンス: コンプライアンス タイプのプリセットを管理します (保険、登録、道路税など)
  • ブランディング: アプリ名とロゴ — ログイン、フッター、ブラウザー ページのタイトルを更新します
  • 外観: ライト モードとダーク モードのブランド、ステータス、テキストの色をカスタマイズします。「」を参照してください。 ブランド変更ガイド よくある質問の中で

多言語サポート

FleetHub には、RTL アラビア語やヒンディー語を含む 11 の言語が標準で付属しています。ユーザーは、右上のヘッダーにあるフラグのドロップダウンを使用して言語を切り替えます。

出荷される言語

コード言語方向
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

言語を切り替える方法

  1. 右上のヘッダーにある旗のアイコンをクリックして、ドロップダウンを開きます。
  2. リストから言語を選択してください。
  3. ページがリロードされます。すべての UI ラベル、日付、通貨形式が切り替わります。
  4. 選択内容はユーザー アカウントと Cookie の両方に保存されます (1 年間)。
アプリの .html ファイルを直接開かないでください。 FleetHub は Laravel + Vue サーバーサイド アプリです - POST の言語切り替え /ロケール/{コード}これは、PHP サーバーが実行されている場合にのみ機能します。常に実際のドメイン (運用環境) 経由でアクセスするか、 http://ローカルホスト:8000 (開発者と php 職人サーブ)。一方、このようなドキュメント ファイルは完全にスタンドアロンであり、直接開くことができます。

カスタム言語の追加 (管理者)

に行く 管理 → 翻訳 (管理者ユーザー 翻訳を管理する 許可):

  • 「ロケールを追加」をクリックします — コードを入力します (例: mk マケドニア語の場合)、表示名、ネイティブ名、フラグ SVG ファイル名、方向 (LTR/RTL)、および翻訳のコピー元のベース ロケール。
  • 新しいロケールが言語スイッチャーと [設定] → [ローカリゼーション] のデフォルト言語リストに表示されます。
  • DB に保存された翻訳は、ファイル翻訳を自動的にオーバーライドします。 lang/{コード}/

Translation Editor

エディターには、ファイルごとにグループ化されたすべての翻訳キーがリストされます (アセット、ナビゲーション、設定など)。キーは、ファイルのベースラインとデータベースのオーバーライドを示します。

  • ロケール、翻訳グループ、または検索テキストでフィルターします。
  • インラインで編集するには値をクリックします。変更はすぐにデータベースに保存されます。
  • キーをリセットしてファイルのベースラインに戻します。
  • 組み込みロケール (en、vi、es など) は編集できます。カスタム ロケールは完全に DB 駆動です。
  • を持つユーザーのみ 翻訳を管理する 権限があればこのページにアクセスできます。

CSV import / export

  • 輸出 — ロケールのすべてのキーを CSV としてダウンロード (グループ、キー、値)。
  • 輸入 — 同じ列を含む CSV をアップロードします。既存の DB オーバーライドが更新され、新しいキーが挿入されます。

ユーザーごとのデフォルトのロケール

各ユーザーは ロケール カラム。 Laravel のおかげで、電子メール通知は受信者の優先言語で自動的に送信されます。 ロケール設定あり 契約。

サイトのデフォルト言語は以下で設定されます 設定 → ローカリゼーション → デフォルト言語。個々のユーザーは、ヘッダー言語スイッチャーを介してこれをオーバーライドします。

機能リスト (15 モジュール グループ)

車両管理

  • 自動生成された車両コード (VH プレフィックス)
  • ナンバープレート、VIN、メーカー、モデル、燃料の種類
  • QRコード生成&一括印刷
  • ステータス、状態、走行距離計の追跡
  • Excelの一括インポート/エクスポート
  • 同一の車両を購入するためのクローン車両
  • ライフサイクル タイムラインを含む 7 タブの詳細ページ

申請と引き渡し

  • 申請→承認→返品のワークフロー
  • カレンダービューと競合検出
  • 2Dダメージマッパー+デジタル署名
  • PDF引き継ぎレポートのエクスポート

メンテナンス

  • 予防および是正のスケジュール設定
  • 優先度ごとのカレンダー表示
  • 次の予防策を自動スケジュールする
  • コスト追跡 → 経費の自動同期
  • 期限前にメールでリマインダーを送信する

コンプライアンスと燃料

  • 一般的なコンプライアンス項目(保険、登録、許可)
  • 運転免許証の有効期限の追跡
  • レシートのアップロードと圧縮を備えた燃料ログ
  • 不正行為防止走行距離計の検証

TCO と減価償却

  • 3つの減価償却方法生産単位 (km)
  • コスト/km メトリクスを含む TCO ダッシュボード
  • 燃料とメンテナンスを経費に自動同期
  • 減価償却曲線グラフ

レポート

  • 7つのフリートレポートタイプ
  • Excel + PDF エクスポート
  • ApexCharts ダッシュボード
  • 日付範囲フィルター

フリート運用

  • 毎日の再計算によるフリート健全性スコア
  • ライセンス同期によるドライバー管理
  • 車両費用(保険料、高速料金、駐車場代など)
  • ドライバーの QR クイックスキャン (燃料、走行距離計、事故)

ローカライゼーション

  • 11 の組み込み UI 言語 + カスタム ロケール
  • 検索とインライン編集を備えた翻訳エディター
  • 一括翻訳更新のための CSV インポート/エクスポート
  • タイムゾーンと通貨の設定はアプリ全体に適用されます

ブランディングと外観

  • 「設定」→「ブランディング」→「アプリ名」からのブラウザページのタイトル
  • 「設定」→「外観」でアプリの色をカスタマイズします(ライト&ダークモード)

ユーザーと役割

FleetHub には内部フリート運用向けの 5 つの事前設定済み役割があります:

役割能力
Adminフル システム アクセス - ユーザー、部門、設定、監査ログ、Webhook、翻訳
Fleet Manager車両、ドライバー、要求、引き渡し、メンテナンス、燃料ログを管理します。要求を承認する。完全なレポートへのアクセス
会計士TCO ダッシュボード、経費、減価償却、コンプライアンス レポート — 財務を重点的に読む
Department Head自分の部門の要求を承認し、部門の車両とレポートを表示します
Driver割り当てられた車両の表示、燃料ログの送信、クイックスキャンアクション、自身の要求の表示

デモアカウント (パスワード: パスワード): admin@fleethub.testマネージャー@fleethub.testdept@fleethub.test会計士@fleethub.testdriver@fleethub.test。インストールまたはシード中にデモ データを有効にします。権限は Spatie の役割です。管理者は権限ごとに微調整できます。

車両管理

車両の作成

  1. 車両 → 新規車両 に移動します。
  2. ナンバー、メーカー、モデル、年式、燃料タイプ、カテゴリ、部門を入力します。
  3. 購入日と価格を追加します(減価償却と TCO に必要)。
  4. 画像をアップロードします(複数ファイル対応、各 5 MB まで — モバイルで自動圧縮)。
  5. 保存 — 車両コードと QR コードが自動生成されます。

車両コード形式

デフォルト: {PREFIX}-{YEAR}-{NNNN}、例 VH-2026-0001Settings → Fleet → Vehicle Code Prefix で設定可能。

一括インポート

  1. 車両ページで Import をクリックします。
  2. Excel テンプレートをダウンロードします。
  3. データを入力 — 必須列: license_platemakemodelcategory_name
  4. ファイルをアップロードします。

QR コードとクイックスキャン

すべての車両は、作成時に QR コードを自動的に受け取ります。スキャンすると、認証されたドライバー向けの公共車両ページまたはアプリ内クイック アクションが開きます。

ラベルの印刷

  • シングルラベル: 車両の行のプリンター アイコンをクリックします。
  • バッチプリント:複数の車両を選択→QRラベルを印刷します。 A4 フォーマット、1 行あたり 2 つのラベル。

アプリ内スキャン

クリック QRをスキャン 車両ページで。カメラの許可を許可します。 HTTPS またはローカルホストを備えた最新のブラウザで動作します。

公共車両ページ

各車両には公開 URL があります。 /v/{車両コード} — ログインせずに素早く識別するのに役立ちます。

  • で設定します 設定 → フリート → 公共車両ページ:パブリック、ログインが必要、または無効。
  • ゲスト モードでは、基本的な読み取り専用情報 (プレート、メーカー/モデル) が表示されます。ドライバーのクイックアクションにはログインが必要です。
  • 変更後 APP_URL、 クリック すべての QR コードを再生成する 設定で。

ワークフロー

車両申請

従業員は必要な車両の購買依頼を提出します。流れ: リクエスト→承認→返品 (または 拒否されました)。フリートマネージャーまたは部門長が承認します。カレンダー ビューにはフリート全体の予約が表示されます。返却期限を過ぎた場合、電子メールアラートがトリガーされます。

車両引き渡し

  1. 要求が承認されたら、 送信ハンドオーバー ドライバーが車に乗る前に。
  2. 走行距離計を記録し、チェックリストに記入し、2D マッパーで損傷をマークし、写真を添付し​​、デジタル署名を取得します。
  3. 記録用に PDF 引き継ぎレポートを保存してダウンロードします。
  4. 車両が返却されたら、 受信ハンドオーバー — 状態を比較し、走行距離計を更新し、ドライバーの割り当てをクリアします。
  5. 受信した引き渡しが完了すると、要求が返されたものとしてマークされ、車両のステータスが利用可能に戻ります。

減価償却と TCO

FleetHub は、3 つの方法のいずれかを使用して車両の減価償却を計算します。減価償却費は、燃料ログや経費とともに TCO ダッシュボードに表示されます。

方法使用事例
直線(Cost - Salvage) / Useful Life最も一般的です。毎年等しい減価償却費
定率法2 / Useful Life × Book Value加速されました。税金目的
生産単位(今回の走行距離 / 予想総走行距離) × (コスト − サルベージ)総走行距離が予測可能な車両 (オドメーターベース)

デフォルトは車両カテゴリから継承されます。 現在の値 経由で毎月自動更新されます フリートハブ:車両値の更新。 TCO = 購入コスト + 選択した期間の車両費用の合計。

カスタムフィールド

[管理] → [カスタム フィールド] を使用すると、車両に無制限のカスタム属性を追加できます。

  • 種類: テキスト、数値、日付、選択 (ドロップダウン)、テキストエリア、ファイル、チェックボックス
  • 範囲: すべてのカテゴリまたは特定の車両カテゴリに適用されます
  • 再注文: グリップハンドルをドラッグアンドドロップします。
  • 必須フィールドは車両の保存時に検証されます

レポート

7 つの組み込みフリート レポートには、[レポート] メニューからアクセスできます。

  1. TCO の概要 — 車両ごとおよびフリート全体の総所有コスト
  2. 減価償却スケジュール — 輸出による車両ごとの価値の損失
  3. 維持費 — 車両、種類、月ごとの支出
  4. 燃料消費量とコスト — km/l の傾向と異常のハイライト
  5. リクエストの使用法 — 車両ごとの長期にわたる予約率
  6. コンプライアンスの有効期限 — 車の書類と運転免許証がまもなく期限切れになります
  7. 部門の車両割り当て — 部門ごとの車両と使用状況

すべてのレポートのサポート エクセル そして PDF ページヘッダーのボタンからエクスポートします。

Webhooks

FleetHub は、主要なフリート イベントについて外部サービスに通知できます。

利用可能なイベント

  • 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

ペイロード形式

{
  "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
  }
}

署名の検証

シークレットが設定されている場合、リクエストにはヘッダーが含まれます X-FleetHub-署名 ペイロード本体の HMAC-SHA256 が含まれます。お客様側で確認してください:

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

再試行ポリシー

配信が失敗すると、200 ミリ秒の遅延で 3 回再試行されます。 10 回連続して失敗すると、Webhook は自動的に無効になります。

スケジュールされたタスク

FleetHub はバックグラウンド ジョブに Laravel のスケジューラーを使用します。必要なのは 1つ cron エントリ — Laravel はそれぞれをディスパッチします フリーハブ: 適切なタイミングでコマンドを実行します。

共有ホスティング (cPanel / Hostinger Cron ジョブ UI)

見る cPanelのセットアップ → ステップ7 または ホスティンガーのセットアップ → ステップ 5。要するに: 上級 → Cron ジョブ、 指示:

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

スケジュール: 1分ごと (* 5 つのフィールドすべてで)。

cPanelのcronコマンド

交換する パネルユーザー cPanel ユーザー名を使用して:

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

VPS / 専用サーバー(crontab)

走る crontab -e Web ユーザーとして以下を追加します。

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

フォールバック: 外部 URL pinger

ホストに cron がない場合は、アプリ内 Cron URL ([設定] → [システム] タブ) を次のように使用します。 cron-job.org (無料、15分ごと)。

自動的に実行されるジョブ

時間指示目的
毎日08:00fleethub:send-requisition-overdue-alerts要求は承認されましたが、要求された終了日を過ぎても返されませんでした
毎日08:30fleethub:send-maintenance-reminders今後のメンテナンスのリマインダー
毎日09:00fleethub:send-compliance-expiry-alerts30/14/7/1 日で期限切れになるコンプライアンス項目
毎日09:30fleethub:send-driver-license-alerts運転免許証の有効期限切れに関するアラート
毎月1日02:00fleethub:update-vehicle-values車両の現在価値を減価償却から更新
毎日03:00fleethub:recalculate-fleet-health-scoreフリート健全性スコアを再計算してキャッシュする

アップグレードガイド

FleetHub v1.0.0 は CodeCanyon 初回リリースです。

FleetHub v1.0.0 が初の公開リリースです。アップグレード元の旧バージョンはありません。新バージョン公開時にアップグレードガイドが追加されます。

トラブルシューティング

ストレージで「アクセス許可が拒否されました」

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

QRコードスキャナーでカメラが開かない

ブラウザカメラ API には次のものが必要です HTTPS。 SSLをインストールするか使用します ローカルホスト テスト用。

メールが届かない

チェック ストレージ/ログ/laravel.log。使用 「設定」→「メール」→「テストメールを送信」 SMTP を検証します。

cPanel のデータベース「アクセスが拒否されました」(1045)

ユーザー名/パスワードが間違っているか、ユーザーとデータベースの割り当てがありません。見る cPanel セットアップ → 一般的な問題

共有ホスティングでの移行エラー

確保する SESSION_DRIVER=ファイル そして CACHE_STORE=ファイル.env 最初の移行前。チェック ストレージ/ログ/laravel.log 詳細については。

インストール前に APP_KEY が見つからない / 500 エラーが発生する

Laravel に必要なもの APP_KEY.env。見る cPanelのセットアップ → ステップ5 ターミナルを使用しない生成方法の場合。

インストールをリセットする

消去 ストレージ/インストール済み.ロック そして訪問してください /インストール また。移行を再実行すると、既存のデータは消去されます。

パフォーマンス - 遅い車両リスト

走る php職人の最適化。 MySQL インデックスが存在することを確認します。 車両.車両コード車両.ナンバープレート車両のステータス (移行によって作成されます)。

変更履歴

v1.0.0 — 初回リリース (2026-06)

  • QR コード自動生成を備えた車両 CRUD と公開ページ /v/{車両コード}
  • 5 つのユーザー ロール (管理者、フリート マネージャー、部門長、会計士、ドライバー)
  • ライセンスの有効期限をコンプライアンス項目と同期してドライバーを管理
  • カレンダーと期限超過アラートを備えた車両申請ワークフロー
  • 2D ダメージ マッパー、チェックリスト、署名、PDF を使用した車両引き渡し
  • 走行距離計の不正行為防止と自動経費同期による燃料ログ管理
  • 車両費用とキロあたりのコスト分析を備えた TCO ダッシュボード
  • 減価償却エンジン — 定額法、定率法、生産単位 (km)
  • 30/14/7/1 日の有効期限アラートを備えた一般的なコンプライアンス項目
  • 予防的な自動更新とコスト追跡によるメンテナンスのスケジュール設定
  • 毎日の再計算と内訳モーダルを備えたフリート健全性スコア
  • Excel および PDF エクスポートを備えた 7 つのフリート レポート
  • 車両カテゴリーを範囲としたカスタムフィールド(7種類)
  • HMAC 署名を使用した Webhook (X-FleetHub-署名) と自動再試行
  • 差分ビューアを使用した Spatie Activitylog による監査ログ
  • 多言語 UI: RTL アラビア語とヒンディー語を含む 11 のロケール
  • 会社、フリート、電子メール、通知、コンプライアンスのプリセットの設定 UI
  • デモ データ シーダーを備えた Web ベースのインストール ウィザード
  • ダークモード、モバイルファーストUI、アップロード時の画像圧縮

クレジット

オープンソースライブラリを使用