Skip to main content

はじめに

Square Cloud で Laravel アプリケーション を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。

前提条件

  • Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
  • 有効なプラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。
このガイドは PHP ランタイムで動作します。

プロジェクトの作成

手元のマシンに PHP と Composer が必要です。Composer で Laravel インストーラーをインストールします。
次に、プロジェクトを作成して開発サーバーを起動します。
開発サーバーは通常 http://localhost:8000 でリッスンします。以下は routes/web.php における基本的なルートの例です。
routes/web.php

本番用にビルドする

PHP の依存関係は、下記の START コマンドで Composer が Square Cloud 上にインストールします。アプリケーションがフロントエンドのアセットに Vite を使用している場合 (デフォルト)、ZIP を作成する前に npm run build を実行して、public/build フォルダが含まれるようにしてください。

本番用サーバーを選ぶ

START コマンドがない場合、Square Cloud はプロジェクトのルートをドキュメントルートとして PHP の組み込みサーバー (php -S 0.0.0.0:80) を実行します。Laravel のドキュメントルートは public/ フォルダであるため、ルートは 404 エラーを返し、.env などのファイルが公開されるおそれがあります。必ず Laravel 独自のサーバーを実行する START コマンドを設定してください。

ポートとホスト

php artisan serve では、コマンドラインで --host=0.0.0.0 --port=80 の両方を指定する必要があります。--host=0.0.0.0 を指定しないと 127.0.0.1 でしかリッスンせず、サイトがタイムアウトします。

Square Cloud の設定

プロジェクトのルートに squarecloud.app ファイルを作成します。
squarecloud.app
このコマンドは起動のたびに次の処理を行います。
  • composer install --no-dev --optimize-autoloader は本番用の依存関係を vendor/ にインストールします。
  • php artisan migrate --force は保留中のデータベースマイグレーションを適用します。本番環境でマイグレーションを実行するには --force が必要です。
  • php artisan serve --host=0.0.0.0 --port=80 は、Laravel のルーターを通じて public/ フォルダからアプリケーションを、ポート 80 のすべてのネットワークインターフェースで配信します。
MAIN=public/index.php は PHP ランタイムを選択します。ダッシュボードからアップロードする場合も、同じメインファイルと起動コマンドを設定してください。

環境変数

ローカルの .env ファイルをアップロードする代わりに、ダッシュボードまたは squarecloud app env set を使って、アプリケーションに次の環境変数を設定します。

Square Cloud プロキシを信頼する

Square Cloud はプロキシを介して HTTPS でサイトを配信します。Laravel が https:// のリンクとアセットの URL を生成するように、bootstrap/app.php でプロキシを信頼します。
bootstrap/app.php

Swoole でパフォーマンスを向上する

php artisan serve は一度に 1 つのリクエストしか処理しません。トラフィックが多い場合、PHP ランタイムにはすでに Swoole が含まれています。Laravel Octane (composer require laravel/octane) を使って、アプリケーションを Swoole 上で実行してください。

Swoole

Square Cloud で PHP アプリケーションを Swoole 上で実行します。

ZIP に含めるもの

  • プロジェクト全体: app/、bootstrap/、config/、database/、public/ (Vite を使う場合は public/build を含む)、resources/、routes/、storage/、artisan、composer.json、composer.lock。
  • squarecloud.app。
vendor/ と node_modules/ (vendor/ はサーバー上で Composer がインストールします)、ローカルの .env ファイルは含めないでください。

デプロイと動作確認

ダッシュボード経由

1

アップロードページにアクセス

アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2

環境を設定

zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3

プロジェクトをデプロイ

最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
Square Cloud へのアプリケーションのアップロード
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ダッシュボードでアプリケーションのステータスが running になるのを待ち、起動時のエラーがないかログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

CLI 経由

この方法を使用するには、プロジェクトのルートに squarecloud.app という名前の設定ファイルが必要です。このファイルは、アプリケーションの実行方法を Square Cloud に伝えます。

設定ファイルガイド

アプリケーションの環境を定義する squarecloud.app 設定ファイルの作成方法を学びます。
1

CLI をインストール

Square Cloud CLI をインストールします。すでにお持ちの場合は、同じコマンドを実行すると更新されます:
2

ログイン

次のコマンドを実行します。ブラウザが開くので、そこでログインを承認すれば CLI の準備は完了です。API キーをコピーする必要はありません。スクリプトや CI については、CLI の認証を参照してください。
3

プロジェクトをアップロード

プロジェクトのフォルダで次のコマンドを実行します。CLI は squarecloud.ignore に記載されたものを除いて現在のフォルダを zip にし、アップロードします:
自分で作成した zip をアップロードするには、--file で指定します:
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ターミナルから直接、アプリケーションのステータスとログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

よくあるエラー

カスタムドメイン

デフォルトの URL mysite.squareweb.app の代わりにカスタムドメイン(例: mysite.com)を使用するには、Standard プラン以上が必要です。デフォルトの URL は設定ファイルの SUBDOMAIN フィールドから決まります。独自ドメインを接続するには、独自ドメインの設定方法に従ってください。

最小 RAM 要件

ウェブサイトと API は最小 512MB RAMです。これは静的ランタイムで静的ビルドを配信するには十分な量です。サーバー上でページをレンダリングするアプリ(Next.js、Nuxt、Angular SSR など)には、最低 1GB RAMを推奨します。より大規模なアプリケーションでは、メモリ不足でアプリケーションがクラッシュするのを防ぐため、より多くの RAM を割り当ててください。

このサイトが見つかりませんでした。

サブドメイン/ドメインが SUBDOMAIN フィールドまたはカスタムドメイン設定で構成されている内容と一致しているか確認してください。サイトをアップロードしたばかりの場合は、Square が初回アクセスを有効化するまで最大 60 秒お待ちください。

サイトの応答に時間がかかりすぎました…

サーバーはポート 80 とホスト 0.0.0.0 でリッスンする必要があります。Square Cloud はアプリケーションに環境変数 PORT(80)と HOST(0.0.0.0)を設定します。別の値をハードコーディングせず、コードでこれらを読み込んでください。localhost や 127.0.0.1 だけでリッスンしているサーバーには、リクエストが届きません。

No application encryption key has been specified

APP_KEY がありません。php artisan key:generate --show で生成して環境変数に設定し、アプリケーションを再起動してください。

次のステップ

環境変数

シークレットや設定をコードから切り離し、実行時に読み込みます。

カスタムドメイン

Standard プラン以上で、独自ドメインからアプリを配信します。

トラブルシューティング

起動しないアプリや応答しないサイトを修正します。
Laravel の詳細は公式の Laravel ドキュメントを参照してください。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。サポートの質の高さも、開発者が Google と Trustpilot で Square Cloud に402 件のレビューで 4.9/5という評価をつけている理由の 1 つです。