🌐 言語: 🇻🇳 Tiếng Việt · 🇬🇧 English · 🇯🇵 日本語(現在)
GP247 と S-Cart のインストール
はじめに
このページでは、GP247 3.x 系を使うサイトをゼロから新しくインストールする方法を説明します。対象のサイトは、フル機能の S-Cart ショップ、コンテンツサイトの GP247 CMS、またはお使いの Laravel アプリケーションに GP247 の管理画面だけを組み込んだもの のいずれかです。サイトのオーナー、運用担当者、開発者向けのドキュメントで、どのコマンドもそのままコピーすれば動きます。読み終える と、正しいインストール構成を選び、動くサイトを用意し、最初のセキュリティ作業まで終えられます。
ページの選び方
3 つのページはそれぞれ別の状況向けです。このページのコマンドを、ほかの 2 つのページの作業に使うことはできません。
| あなたの状況 | 読むページ |
|---|---|
| まだサイトがなく、新しく作りたい | GP247 と S-Cart のインストール(このページ) |
| 3.x 系のサイトを、より新しいバージョンにしたい | GP247 と S-Cart の更新 |
| 2.x 系またはそれより古いサイトを運用している | 3.x 系へのアップグレード |
⚠️ 注意: インストールコマンドはテーブルを作り直し、データを削除します。稼働中のサイトでは絶対に実行しないでください。
インストール構成の選び方
GP247 は 4 つのパッケージが積み重なってできています。後ろのパッケージは前のパッケージを必要とします。
flowchart LR
C["`**gp247/core**
管理画面`"] --> F["`**gp247/front**
ウェブサイト`"] --> S["`**gp247/shop**
ショップ`"] --> M["`**gp247/mcp**
AI エージェント`"]
gp247/core— 管理画面、ユーザー、権限、設定、プラグイン。gp247/front— ウェブサイトの画面: ページ、ニュース、メニュー、バナー、テンプレート。gp247/shop— 商品、カート、注文、決済、配送。gp247/mcp— AI エージェント(Claude、Cursor など)がショップを操作するための接続。
やりたいことに合わせて構成を選びます。
| やりたいこと | 構成 | 含まれるパッケージ | インストール方法 |
|---|---|---|---|
| フル機能のオンラインショップ | S-Cart | core + front + shop + mcp | composer create-project gp247/s-cart |
| コンテンツサイト(ページ、ニュース、テンプレート、プラグイン) | GP247 CMS | core + front | composer create-project gp247/cms |
| お使いの Laravel アプリケーション用の管理画面 | core のみ | core | Laravel プロジェクトで composer require gp247/core |
| 既存の Laravel プロジェクトにウェブサイト/ショップを組み込む | 自分で組み合わせ | core + front(+ shop) | パッケージごとに composer require |
- インストールコマンドは共通 — どの構成も最後は
php artisan gp247:installです。どのパッケージがあるかを自動で判別し、 core → front → shop → mcp の正しい順番でインストールします。 - パッケージは後から追加できます — たとえば CMS サイトで販売を始めたくなったら
gp247/shopを追加します。 既存サイトに front または shop を追加を参照してください。
ひと目でわかる
どの構成も 4 つの段階を通ります。
flowchart LR
A["1. 準備<br/>サーバー、DB"] --> B["2. コード取得<br/>構成に合わせて"] --> C["3. .env 編集<br/>gp247:install"] --> D["4. 確認と<br/>セキュリティ"]
コマンドの要約 — 慣れている方向けです。段階 2 ではどれか 1 行を選びます。
# 段階 2 — コードを取得(どれか 1 つ)
composer create-project gp247/s-cart my-site "^3.0" # S-Cart
composer create-project gp247/cms my-site "^3.0" # GP247 CMS
# (core のみ: 既存の Laravel プロジェクト内で)composer require gp247/core
# 段階 3 — .env の DB_*、APP_URL を編集してから:
cd my-site
php artisan gp247:install
# 段階 4
php artisan gp247:doctor
- 最初の管理者アカウントは
admin/adminです — 誰でも知っている情報なので、段階 4 ですぐに置き換えます。 - インストール後も段階 4 が残っています — 利用者に公開する前に、確認とセキュリティ作業を行います。
このページの内容
- 始める前に — システム要件と、用意しておくもの
- 手順: S-Cart — オンラインショップ、すべての手順
- 手順: GP247 CMS — コンテンツサイト
- 手順: Laravel プロジェクトに GP247 を追加 — core のみ、またはパッケージを組み合わせる
- その他の方法: Git、Docker、コマンドラインのないホスティング — 標準の方法との違い
- 結果の確認とセキュリティ — インストール直後に行うこと
- 問題が起きたとき — 症状と対処方法
始める前に
以下がそろっていれば、インストールコマンドは一度で完了します。
システム要件(どの構成でも共通です。Docker を使う場合はコンテナに含まれているため不要です):
| 項目 | 要件 |
|---|---|
| PHP | 8.3 以上 |
| PHP 拡張モジュール | pdo、pdo_mysql、mbstring、gd、fileinfo、xml、zip(ほかに Laravel が標準で必要とする openssl、ctype、curl など) |
| Laravel | 13 — S-Cart と GP247 CMS には同梱されています。自分で組み合わせる場合は Laravel 13 のプロジェクトが必要です |
| Composer | 2.x — インストールコマンドを実行するマシンにだけ必要です |
| データベース | MySQL または MariaDB |
| 書き込み可能なフォルダ | storage、bootstrap/cache、app/GP247、public/GP247、public/vendor、resources/views/vendor、vendor |
| Web サーバー | ドメインのドキュメントルートを、サイトの public/ フォルダに向けます |
インストールと運用に cron、キュー、Node.js は必要ありません。一部のオプション機能だけが必要とします — スケジュールとキューを参照してください。
準備するもの:
- 空のデータベース — phpMyAdmin またはホスティングの管理画面で作成し、DB 名、ユーザー名、パスワードを控えます。
- テーブル接頭辞
GP247_DB_PREFIX(既定はgp247_)— インストール後は変更できません。 - 管理画面のパス
GP247_ADMIN_PREFIX(既定はgp247_admin)— いつでも変更できます。
手順: S-Cart
フル機能のオンラインショップです: core + front + shop + MCP サーバー。
-
ターミナル(Windows では「コマンドプロンプト」または Laragon のターミナル)を開き、Composer がどの PHP で動いているかを 確認します。
composer diagnosePHP versionの行が 8.3 以上である必要があります。古い PHP だと、Composer は何も言わずに S-Cart 1.x をインストールします。 そのため、手順 2 では必ず"^3.0"を付けてください。 -
プロジェクトを作成します(
my-siteは好きなフォルダ名に変えてください)。composer create-project gp247/s-cart my-site "^3.0" cd my-siteComposer が
.envファイルとアプリケーションキーAPP_KEYを自動で作成します。 -
.envファイルを開き、お使いの DB とドメインに合わせて編集します。DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database DB_USERNAME=your_username DB_PASSWORD=your_password APP_URL=https://your-domainファイルに最初から入っている
DB_HOST=mysql-localは Docker 用です。直接インストールする場合は上のように変更します。 -
インストールコマンドを実行します。
php artisan gp247:install実行される手順が表示され、確認を求められます —
yesと入力します。完了すると、管理画面のパスとログイン情報admin/adminが表示されます。⚠️ 注意:
admin/adminは誰でも知っている情報です。最初にログインしたら、すぐにこのアカウントを置き換えてください — 結果の確認とセキュリティをご覧ください。 -
(任意 — テスト用サイトのみ) 商品、カテゴリ、記事のサンプルを読み込みます。
php artisan gp247:shop-sample -
ドメインのドキュメントルートを
public/フォルダに向け、ブラウザで開きます。ページ アドレス ウェブサイト/ショップ https://your-domain管理画面 https://your-domain/gp247_adminトップページが表示され、管理画面にログインできればインストール成功です。続けて 結果の確認とセキュリティを行ってください。
手順: GP247 CMS
コンテンツサイトです: core + front — ページ、ニュース、メニュー、バナー、テンプレート、プラグイン。商品、カート、注文は ありません。
-
プロジェクトを作成します。
composer create-project gp247/cms my-site "^3.0" cd my-site -
続けて S-Cart の手順 3、4、6 を行います:
.envの編集、php artisan gp247:installの実行、 ドメインをpublic/に向ける。インストールコマンドはサイトに core + front しかないことを判別し、その 2 つだけをインストールします。
後から販売を始める場合は shop を追加します — インストールし直す必要はありません。
手順: Laravel プロジェクトに GP247 を追加
Laravel 13 のプロジェクトがすでにある(または自分で作る)場合に、そこへ GP247 を組み込む方法です。
core のみ
core は /gp247_admin に管理画面(ユーザー、権限、設定、プラグイン)を追加します。アプリケーションの既存のページには影響しません。
-
(プロジェクトがない場合) 新しい Laravel プロジェクトを作成します。
composer create-project laravel/laravel my-site cd my-site -
core パッケージを追加します — パッケージは Laravel に自動で登録されるため、追加の宣言は必要ありません。
composer require gp247/core -
.envの DB 部分を S-Cart の手順 3 と同じように編集します。APP_KEYがない場合はphp artisan key:generateを実行します。 -
インストールします。
php artisan gp247:install -
(推奨) アプリケーションのエラーを GP247 のエラー報告の仕組みに通すため、
bootstrap/app.phpを開き、->withExceptions(function (Exceptions $exceptions) { … })の中に次を追加します。// GP247 add new $exceptions->report(function (\Throwable $e) { try { if (function_exists('gp247_handle_exception')) { gp247_handle_exception($e); } } catch (\Throwable $inner) { \Log::error($e->getMessage(), ['exception' => $e]); } }); -
https://your-domain/gp247_adminを開き、手順 4 で表示されたアカウントでログインします。
既存サイトに front または shop を追加
core だけのサイト(front を追加)や、GP247 CMS のサイト(shop を追加)に使います。front と shop は core と違って Laravel に 自動登録されないため、宣言の手順が 2 つ増えます。
-
パッケージを追加します(shop には front が必要です — サイトに front がなければ先に追加します)。
composer require gp247/front # ウェブサイト composer require gp247/shop # ショップ(front が必要) -
bootstrap/providers.phpで、既存のプロバイダーの後ろにパッケージを宣言します。return [ App\Providers\AppServiceProvider::class, GP247\Front\FrontServiceProvider::class, // front がある場合 GP247\Shop\ShopServiceProvider::class, // shop がある場合 ]; -
(front を追加する場合) front がトップページとウェブサイトの各ページを表示するため、Laravel 既定の web ルートを無効にします。
bootstrap/app.phpでweb:の行をコメントアウトします。->withRouting( //web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', )アプリケーション独自のルートが
routes/web.phpにある場合は、この行を無効にした後、別のファイルに移して読み込み直してください。 -
追加した部分だけをインストールします — データのあるサイトで
gp247:installを再実行してはいけません。php artisan gp247:front-install # front を追加した直後 php artisan gp247:shop-install # shop を追加した直後 -
php artisan gp247:infoを実行し、追加したパッケージの行が表示されることを確認します。トップページと管理画面を開いて確認します。
⚠️ 注意:
gp247:front-installとgp247:shop-installは、その部分のテーブルを作り直します。パッケージを追加した直後に 1 回だけ実行し、以降はgp247:updateだけを使ってください。
その他の方法: Git、Docker、コマンドラインのないホスティング
これらの方法でも、標準の方法と同じサイトができます。以下の各項目には、違う部分だけを書いています。
Git(S-Cart)
S-Cart の手順 1〜2 を次に置き換えます。
git clone https://github.com/gp247net/s-cart.git my-site
cd my-site
cp .env.example .env
composer install
php artisan key:generate
その後、手順 3 → 6 を続けます。
Docker(S-Cart)
Docker 一式は S-Cart のソースコードに含まれており、PHP、Web サーバー、MySQL をコンテナで動かします。お使いのマシン (開発環境)では:
git clone https://github.com/gp247net/s-cart.git my-site
cd my-site
cp .env.example .env
docker compose up -d --build
docker compose exec app php artisan key:generate
docker compose exec app php artisan gp247:install
http://localhost:8000 でサイトを開きます。
- 本番サーバー(prod) — すべての
docker composeコマンドに-f docker-compose.prod.ymlを付け、事前に.envを編集します (APP_ENV=production、APP_DEBUG=false、DB 情報、コンテナを実行するユーザー)。-fを忘れると、開発用の設定(デバッグ有効、 root 権限での実行)で動いてしまいます。 - 詳しいガイド(環境変数、データの保存場所、イメージの更新、1 台のサーバーで複数プロジェクト): S-Cart with Docker(英語)。
コマンドラインのないホスティング(すべての構成)
FTP と phpMyAdmin しかないホスティングでは、お使いのパソコンで完全にインストールしてから、コードと DB を移します。
flowchart TB
subgraph S1["お使いのパソコン"]
direction LR
A["選んだ構成で<br/>インストール"] --> B["DB を<br/>.sql に出力"]
end
subgraph S2["ホスティング"]
direction LR
C["フォルダを<br/>すべて転送"] --> D["phpMyAdmin<br/>で DB 取込"] --> E[".env を<br/>本番用に編集"]
end
S1 --> S2
- PHP 8.3 以上のパソコン(Laragon、XAMPP など)で、選んだ構成をローカルの DB にインストールします。ホスティングで使いたい テーブル接頭辞と同じものを使ってください。
- パソコン上の管理画面にログインし、サイトが動くことを確認します。
- ローカルの DB を
.sqlファイルに出力します(phpMyAdmin → エクスポート)。 - ホスティングで空の DB を作り、phpMyAdmin → インポートで
.sqlファイルを取り込みます。 - プロジェクトのフォルダを丸ごとホスティングに転送します —
vendor/、.env、storage/app/private/gp247-installed.txt(「インストール済み」を示すファイル)も含めます。 - ホスティング上の
.envを編集します:DB_*をホスティングの値に、APP_URLをドメインに、APP_ENV=production、APP_DEBUG=false。APP_KEYとGP247_ENCRYPTION_KEYはそのままにします。 - ドメインのドキュメントルートを
public/に向けてドメインを開きます。トップページ(core のみの構成では管理画面)が 表示されれば完了です。
結果の確認とセキュリティ
インストール直後のサイトはすでに動きますが、利用者に公開する前にこのリストをすべて済ませてください。
- 自動チェックを実行 —
php artisan gp247:doctorに fail の項目がないこと。管理画面のトップには、安全でない設定を 一覧表示する「システムアラート」ブロックがあります(Administrator だけに表示されます)。 - 本番環境の設定 —
APP_ENV=production、APP_DEBUG=false、HTTPS で運用: 安全な本番環境の設定。 - アカウント
admin/adminを置き換える — 自分用の Administrator アカウント(実際のメールアドレス、パスワード マネージャーに保存した強いパスワード)を作成し、新しいアカウントでログインし直してから、adminを無効化または削除します。 可能なら二要素認証も有効にします: アカウントadmin/adminの置き換え。 - 暗号化キーのバックアップ —
APP_KEYとGP247_ENCRYPTION_KEYを安全な場所に控えます。鍵を失うと、保存済みのパスワード (SMTP、決済ゲートウェイ)も失われます: 暗号化キーとバックアップ。 - メール送信 — メール送信システム。
- (shop あり) ショップの設定 — 通貨 · 税 · 決済 · 配送。
- (任意) プラグイン/テンプレート: プラグインとテンプレートのインストール。
問題が起きたとき
| 症状 | よくある原因 | 対処方法 |
|---|---|---|
Composer の完了後に Access denied for user 'root' と表示される |
Composer が古い PHP で動き、1.x を誤ってインストールした | 作成したフォルダを削除し、PHP 8.3 以上に切り替えて "^3.0" 付きで再インストール |
| ドメインを開くとファイル一覧、403 や 404 エラーが表示される | ドメインのドキュメントルートが public/ を向いていない |
ホスティングの管理画面/Web サーバーの設定で修正 |
| トップページが Laravel のウェルカムページのまま | front を追加したが、既定の web ルートが有効なまま | bootstrap/app.php の web: の行をコメントアウト(手順 3) |
front/shop を追加したのに gp247:install が core しかインストールしない |
front/shop のプロバイダーを宣言していない | bootstrap/providers.php に追加(手順 2) |
| 管理画面が 403 になる | GP247_ADMIN_PREFIX が public/ 内のフォルダ名(vendor、GP247)と同じ |
.env で別の名前を設定 |
| インストール直後に 500 エラー | フォルダの書き込み権限不足、拡張モジュール不足、DB 情報の誤り | php artisan gp247:doctor を実行し、storage/logs/laravel.log を確認 |
gp247:install が実行を拒否する |
スクリプト/CI で実行していて確認に答えられない | 通常のターミナルで実行。自動インストールなら --force=1 を付ける |
| 「システムアラート」ブロックが既定の管理者パスワードを警告する | アカウント admin / admin が残っている |
手順に沿って置き換える |
条件と制約(操作の前に確認)
gp247:install、gp247:front-install、gp247:shop-install を実行するとき
- テーブルを作り直します — インストール対象部分の既存の GP247 データは削除されます。そのため
gp247:installは必ず確認を求め (既定は「いいえ」)、サイトがインストール済みの場合は警告します。部分ごとのインストールコマンドは、パッケージを追加した 直後に 1 回だけ使います。 - 確認に答えられない環境では自動実行しません(スクリプト、CI、
--json)—gp247:installは上書きインストールせずに拒否します。--force=1は、データが失われることを自分で受け入れるという意味です。 - アカウント
admin/adminが必ず作成されます — コマンドラインでインストールしたサイトにはすべてこのアカウントがあり、 置き換えるまで「システムアラート」ブロックが知らせ続けます。
パッケージを組み合わせるとき
- 依存関係の順番は固定です — front には core が、shop には core と front が、MCP サーバーには shop が必要です。
- front と shop は
bootstrap/providers.phpでの宣言が必要です — core と MCP サーバーは自動で登録されます。
設定を選ぶとき
GP247_DB_PREFIXはインストール後に変更できません — すべてのテーブルにこの接頭辞が付いています。- サンプルデータ(
gp247:shop-sample)は shop のデータを削除してからデモデータを読み込みます — テスト用サイトだけで使ってください。
よくある質問(Q&A)
Q1: 会社紹介のウェブサイトだけが必要です。S-Cart をインストールする必要がありますか?
→ いいえ。GP247 CMS(core + front)を使ってください — 販売機能がない分、すっきりしています。後から販売が必要に なったら shop を追加します。
Q2: Laravel アプリケーションがすでにあり、管理画面だけを追加したいのですが?
→ core のみをインストールします: composer require gp247/core の後に php artisan gp247:install。アプリケーションの
既存のページはそのまま残ります。
Q3: cron やキューの設定は必要ですか?
→ インストールと運用には不要です。一部のオプション機能だけが必要とします — スケジュールとキューを 参照してください。
Q4: サンプルデータは必要ですか?
→ ショップを試しに見るためだけのものです。本番サイトでは使わないでください。サンプルデータは後から手作業で削除する必要があります。
Q5: Docker でのインストールでは、GP247 のコマンドに違いはありますか?
→ ありません。各 php artisan コマンドの前に docker compose exec app(本番では -f docker-compose.prod.yml も)を付けるだけです。
Q6: 稼働中のサイトで gp247:install を実行してしまいました。どうすればよいですか?
→ ほかの操作をすべて止め、最新のバックアップから DB を復元してください。インストールコマンドがテーブルを作り直したため、 データはバックアップにしか残っていません。
Q7: インストールした後、新しいバージョンにするにはどうしますか?
→ GP247 と S-Cart の更新のとおり、composer update の後に php artisan gp247:update を実行します。
インストールし直すことは決してありません。
📅 最終更新: 2026-11-07 · ✍️ 作成者 (Author): GP247