🌐 言語: 🇻🇳 Tiếng Việt · 🇬🇧 English · 🇯🇵 日本語(現在)
インストールと更新のコマンド
はじめに
このページでは、GP247 のサイトをゼロから動く状態にするコマンド(gp247:install)と、パッケージを上げるたびに最新の状態に
保つコマンド(gp247:update)、さらに core、front、shop、mcp の各パッケージのインストール/更新/アンインストールの
コマンドを説明します。対象は、コマンドラインを使えるサイトオーナーと開発者です。読み終えると、新しいサイトで実行するコマンド、
稼働中のサイトで実行するコマンド、本番サイトでは決して実行してはいけないコマンドが分かります。インストール/更新の
全手順(サーバーの準備、Composer、インストール後の確認)は インストールガイド と
サイトの更新 にあります。
ひと目でわかる
gp247:install と gp247:update は「まとめ役」のコマンドです。サイトにあるパッケージを自動で調べ、下位のコマンドを
正しい順序で呼び出します。gp247:install の流れは次のとおりです。
flowchart LR
A["core-install"] --> B["front-install<br/>front が<br/>ある場合"]
B --> C["shop-install<br/>shop が<br/>ある場合"]
C --> D["mcp-install<br/>mcp が<br/>ある場合"]
D -.-> E["shop-sample<br/>--sample<br/>のときだけ"]
- 新しいサイト →
gp247:install、稼働中のサイト →gp247:update。 実データのあるサイトに例外はありません。 installは front と shop のテーブルを作り直します — 販売中のサイトで実行すると、カテゴリー、商品、注文が失われます。updateは追加とアップグレードだけを行い、データは削除しません。何度実行しても安全です。- 下位のコマンド(
core-update、shop-updateなど)を自分で入力することはほとんどありません。まとめ役の 2 つが呼び出します。
このページの内容
- install と update の選び方 — 2 つのコマンドの比較
gp247:install— 新しいサイトをインストール — オプション、管理者パスワードgp247:update— 稼働中のサイトを更新 — 手順、オプション- 公開済みファイルの更新(
--publish) — 安全なトークンはどれか - パッケージごとのコマンド — 下位のコマンドを自分で入力する場面
- 翻訳とサンプルデータ —
language-update、shop-sample
install と update の選び方
2 つのコマンドは似ていますが、正反対の場面で使います。
gp247:install |
gp247:update |
|
|---|---|---|
| 使う場面 | 新しいサイト、空のデータベース | 稼働中のサイト、composer update の後 |
| データのテーブル | 新規作成。front/shop は削除して作り直す | アップグレード部分だけを実行し、データはそのまま |
| 確認 | あり(既定はいいえ) | なし(上書きする --publish トークンを選んだ場合を除く) |
| 再実行 | front/shop のデータを失う | 問題なし |
| 安全度 | データのあるサイトでは 🛑 | ✅ |
gp247:install — 新しいサイトをインストール
新しいサイト向けの一括インストールです。core を入れた後、vendor/ にあれば front、shop、mcp を入れます。パッケージの
選択は自動です。--with-shop のようなフラグはありません。
| オプション | 値 | 意味 |
|---|---|---|
--force |
0(既定)または 1 |
1:確認せずにインストール(Docker、スクリプト向け)。0:確認を求め、対話できない環境では拒否 |
--admin-password |
文字列 | 管理者アカウントのパスワード(12〜64 文字)。省略すると、コマンドがランダムに生成します |
--sample |
フラグ | shop のサンプルデータも作成 — 開発/デモ用マシン専用 |
-
データベース接続を記入した
.envファイルを用意します(インストールガイド を参照)。 -
サイトのフォルダーで、次のように入力します。
php artisan gp247:install -
コマンドがインストール計画とデータ消失の警告を表示し、
Proceed with installation?と尋ねます。続けるにはyesと入力します。 -
完了すると、最後のブロックに管理画面の URL、ユーザー名、**パスワード(一度だけ表示されます)**が表示されます。すぐに 控え、アカウントのメールアドレスを実在するものに変更して、「パスワードをお忘れの方」を使えるようにしてください。
確認なしでインストールし(Docker、スクリプト)、パスワードを自分で指定する場合:
php artisan gp247:install --force=1 --admin-password="12文字以上のパスワード"
⚠️ 注意: コマンドラインに入力したパスワードは、ターミナルの履歴に残ります。共有マシンでは、コマンドに生成させてから 管理画面で変更してください。
💡 ヒント: パスワードを控え忘れた場合:インストールしたばかりでデータがないサイトなら
gp247:installをもう一度実行します。 データのあるサイトならgp247:admin-passwordを使います — メンテナンス を参照してください。
gp247:update — 稼働中のサイトを更新
composer update は vendor/ のコードを入れ替えるだけで、サイトのデータと公開済みファイルは古いバージョンのままです。
gp247:update は、これらを新しいコードに合わせます。流れは 3 段階です。
flowchart TB
subgraph S1["手順 1:準備"]
direction LR
A["変更前の<br/>スナップ<br/>ショット"]
end
subgraph S2["手順 2:データの<br/>アップグレード"]
direction LR
B["core-update"] --> C["front-update"] --> D["shop-update"] --> E["mcp-update"]
end
subgraph S3["手順 3:仕上げ"]
direction LR
F["拡張機能の<br/>データ"] --> G["公開<br/>指定時のみ"] --> H["cache-rebuild"]
end
S1 --> S2 --> S3
- 変更前のスナップショット:バックアップ機能が有効なら、GP247 は何かを変える前に、影響を受けるデータのスナップショットを 自動で取ります — バックアップと復元 を参照してください。
- 各パッケージはインストール済みのときだけ更新されます:shop のないサイトでは
shop-updateを飛ばします。途中の手順が 失敗すると、コマンドは止まり、どの手順かを表示します。 - 拡張機能のデータ:
git pull、Composer、手動コピーでファイルを入れ替えたプラグイン/テンプレートは、データの更新 (ext-update --local)が実行されます。失敗した拡張機能は警告だけで、後の手順は止まりません。 - 再インストールの手順は実行されません — データはそのまま残ります。
| オプション | 意味 |
|---|---|
--overwrite-lang |
gp247:language-update も実行:翻訳をパッケージの既定値に戻します — 編集した翻訳は上書きされます |
--publish=<トークン> |
公開済みファイル(アセット、ビュー)をトークン単位で再コピー — 後述 |
--skip-pre-change |
変更前のスナップショットを取らない。自分でバックアップした直後のときだけ使います |
普段の使い方:
-
バックアップ:
php artisan gp247:backup-run(または自分の方法でデータベースをバックアップ)。 -
パッケージを更新します。
composer update -
サイトを更新します。
php artisan gp247:update成功すると、手順ごとに
==> gp247:...の行が表示され、エラーなく終了します。 -
もう一度点検します:
php artisan gp247:doctor。
ℹ️ 情報: GP247 が v2.1 で公開されて以来、データ構造の変更にはすべて、
gp247:updateで実行されるアップグレード用 マイグレーションが付いています。php artisan migrateを自分で入力する必要はありません。
公開済みファイルの更新(--publish)
一部のファイルは、パッケージからサイトへコピーされています(管理画面の CSS/JS、編集のために取り出したビュー)。
composer update ではこれらは更新されません。既定の gp247:update は何もコピーしません。--publish= に 1 つ以上の
トークンをカンマ区切りで指定します。
| トークン | コピー先 | 安全度 |
|---|---|---|
core-public |
public/GP247 — 管理画面の CSS/JS |
✅ 再生成されるファイルで、手で編集しない |
front-public |
public/GP247/Templates/GP247Front — ストアフロントの CSS/JS |
✅ 通常は自動で更新されるので、指定はまれ |
core-view |
resources/views/vendor/gp247-admin |
🛑 編集した管理画面のビューを上書き |
shop-view-admin |
resources/views/vendor/gp247-shop-admin |
🛑 編集した shop 管理画面のビューを上書き |
front-template |
app/GP247/Templates/GP247Front — テンプレートの外枠(AppConfig、Provider、Route、config.php、Lang/ など) |
🛑 テンプレートの外枠を上書き |
front-view |
app/GP247/Templates/GP247Front — Blade のツリー全体 |
🛑 上書きし、以後これらのファイルは修正を受け取れなくなる |
shop-view-front |
front-view と同様(shop のビュー) |
🛑 同上 |
all |
上のすべてのトークン | 🛑 |
php artisan gp247:update --publish=core-public
- ストアフロントの 1 画面を編集したいときは
front-viewを使わないでください —gp247:template-publish --file=で、 そのファイルだけを取り出します(テンプレート)。 - サイトが別のテンプレートを使っている場合、
allは GP247Front を飛ばします:GP247Front の 4 つのトークンは通知つきで スキップされます。トークンを明示すればコピーされます。 - ターミナルでは、🛑 のトークンは警告のうえ確認を求めます(既定はいいえ)。断るとコピーだけが省かれ、更新の手順は
実行されます。スクリプト/
--jsonでは、🛑 のトークンはそのままコピーされます — トークン名を入力したことが同意になります。 - 書き込めないコピー先(読み取り専用のホスティング)は警告だけで、コマンド全体は失敗しません。
パッケージごとのコマンド
各パッケージには、gp247:install/gp247:update が内部で呼び出す専用のコマンドがあります。CMS だけのサイトに shop を
追加するときなど、意図して 1 つの部分だけを扱いたいときに自分で入力します。
| パッケージ | インストール | 更新 | アンインストール |
|---|---|---|---|
| core | gp247:core-install 🛑 |
gp247:core-update ✅ |
— |
| front | gp247:front-install 🛑 |
gp247:front-update ✅ |
gp247:front-uninstall 🛑 |
| shop | gp247:shop-install 🛑 |
gp247:shop-update ✅ |
gp247:shop-uninstall 🛑 |
| mcp | gp247:mcp-install ✅ |
gp247:mcp-update ✅ |
gp247:mcp-uninstall 🛑 |
インストールのコマンド(*-install)
core-install— core のテーブル、既定データ、アセット、storageリンクを作成し、インストール済みの印を付けます。 インストール済みのサイトでは拒否します(「GP247 has been installed」)。--force=1はこのチェックと確認の両方を省きます。gp247:installと同じく--admin-passwordを受け付けます。APP_KEYがなければ自動で作成します。front-install、shop-install— 先にアンインストールしてからインストールします。パッケージの古いテーブルを削除し、 作り直し、既定データを読み込みます。パッケージを「きれいに再インストール」する方法でもあります。shopにはcoreとfrontのインストールが先に必要です。mcp-install— 設定、メニュー、権限を作成するだけです。MCP は自分のテーブルを持たないので、何も削除しません。MCP の エンドポイントは、管理画面で有効にするまで無効のままです — MCP を参照してください。
更新のコマンド(*-update)
各コマンドは、パッケージの upgrade/ フォルダーのマイグレーションだけを実行します(テーブル作成部分は決して実行しません)。
そのためデータは残り、適用済みのマイグレーションは飛ばされます。
core-update— core のアップグレード用マイグレーションを実行し、既定データとロケールデータを足りないものだけ追加する 方式で読み込み直し、core のバージョンを表示します。front-update、shop-update— front/shop のアップグレード用マイグレーション。エラー時は... upgrade failedと表示し、 ログに記録します。mcp-update— MCP の設定、メニュー、権限を更新し、旧 McpServer プラグインのデータ(あれば)を移します。
アンインストールのコマンド(*-uninstall)
front-uninstall、shop-uninstall— パッケージのテーブルを削除します。その部分のデータはすべて失われます(shop なら カテゴリー、商品、注文など)。先にバックアップしてください。mcp-uninstall— MCP の設定、メニュー、権限を削除し、すべての MCP トークンを無効化します。エージェントは直ちに アクセスできなくなります。確認を求めます。スクリプトでは--forceが必要です。composer remove gp247/mcpの前に実行してください。
翻訳とサンプルデータ
この 2 つのコマンドは既定のインストール/更新の流れには含まれず、どちらもデータを上書きします。
gp247:language-update⚠️ — core、front、shop(インストール済みのもの)のすべての翻訳を、パッケージの既定値どおりに 戻します。core-updateと違い、管理画面で編集した文字列も上書きします。更新で翻訳が修正され、標準の翻訳を使いたいときに 使います。テキストを多くカスタマイズしている場合は、先にバックアップしてください。gp247:shop-sample🛑 — 現在の shop データをすべて消した後、サンプルデータ(多階層のカテゴリー、ブランド、仕入先、 単品/セット/グループ商品、プロモーション)を作成します。開発用またはデモ用のマシンだけで使ってください。
php artisan gp247:language-update
条件と制約(操作の前に確認)
インストールするとき
- core なしでは front/shop をインストールできません — front と shop は core のテーブルに書き込むためです。
- 管理者パスワードは 12〜64 文字です — 長さが合わないとインストールの前に止まるので、中途半端なサイトは残りません。
--force=1がないと、スクリプトからのインストールは拒否されます(エラーコードconfirmation_required) — 自動実行の コマンドが誤ってデータを消すことがないようにするためです。core-installは、インストール済みの印(storage/app/private/gp247-installed.txt)があるサイトを拒否します — 既存のサイトに上書きインストールしないためです。
更新するとき
--publishのトークン名を間違えると、何も実行せずにすぐ止まります(invalid_publish_target) — 入力ミスで更新を 1 回無駄にしないためです。- 変更前のスナップショットが失敗すると、コマンドは止まります(
pre_change_stopped)。ターミナルでは、スナップショット なしで続けるかを尋ねます(既定はいいえ)。 - あるパッケージの手順が失敗すると、後の手順は実行されません — 原因を直して再実行してください。完了した手順は飛ばされます。
アンインストールするとき
- スクリプトでの
mcp-uninstallには--forceが必要です — すべてのエージェントのアクセスを直ちに断つためです。
よくある質問(Q&A)
Q1: 稼働中のサイトで誤って gp247:install を実行してしまいました。
→ yes を入力していなければ、何も変わっていません。インストールされてしまった場合、front/shop のデータは作り直されています。
すべての操作を止め、最新のバックアップから復元してください — 状況別の復元ガイド を参照してください。
Q2: composer update の後、core-update、shop-update を 1 つずつ実行しますか?
→ いいえ。gp247:update がすべてを正しい順序で実行します。意図して 1 つの部分だけを扱うときだけ、下位のコマンドを入力します。
Q3: gp247:update は php artisan migrate を自動で実行しますか?
→ はい。ただし各 GP247 パッケージのアップグレード部分(upgrade/)だけです。自分の Laravel プロジェクトのマイグレーションは、
これまでどおり php artisan migrate で実行します。
Q4: 更新で追加された翻訳が表示されません。
→ core-update は足りない文字列を追加するだけです。パッケージが既存の文字列を変更した場合は、
php artisan gp247:update --overwrite-lang を実行してください(注意:編集した文字列は上書きされます)。
Q5: 更新後も管理画面の見た目が変わりません。
→ php artisan gp247:update --publish=core-public で管理画面の CSS/JS を再コピーし、ページを再読み込み(Ctrl+F5)してください。
Q6: CMS だけのサイトに販売機能を追加したいです。
→ composer require gp247/shop の後、php artisan gp247:shop-install を実行します。gp247:install は front も再インストール
するので実行しないでください。詳しくは 既存サイトに front または shop を追加 を参照してください。
Q7: gp247:update が front_update_failed(または shop_update_failed)を報告します。
→ そのパッケージのアップグレード用マイグレーションが失敗しています。メッセージとログ(storage/logs)を読み、原因(多くは
データベースの権限や重複データ)を直してから、gp247:update を再実行してください。
Q8: gp247:update が何をするか、事前に確認できますか?
→ コマンド全体の試行モードはありません。拡張機能のデータ部分は php artisan gp247:ext-update --local --all --dry-run で
確認できます。本番サイトを更新する前には、必ずバックアップしてください。
📅 最終更新: 2026-11-08 · ✍️ 作成者 (Author): GP247