PHP
こちらのページでは、GitHubリポジトリから弊社アプリケーションホスティングに以下PHPアプリケーションをデプロイ、セットアップする方法をご紹介します。
前提条件
- 弊社クイックスタートテンプレートは、GitHubに保存・管理されているため、GitHubアカウントが必要です。
- アプリケーションのデプロイには、MyKinstaアカウントが必要になります。
PHP
- GitHubにログイン後、「Kinsta – Hello World – PHP」テンプレートから、新規リポジトリを作成します(「Use this template」>「Create a new repository」)。
- MyKinstaで、「アプリケーション」>「アプリケーションを追加」>「GitHub」を選択し、「Gitサービスの接続」ウィンドウで「Gitサービスを接続する」をクリックして、GitHubアカウントにログインします。
- PHPリポジトリと「データセンターの所在地」を選択します。その他の設定はデフォルトのままで、「続行」をクリックします。
- 「最終確認」画面で「デプロイする」をクリックします。
デプロイに際し、ウェブプロセスのstartコマンドが自動検出され、composer.jsonファイルで定義された依存関係も自動インストールされます。デプロイ完了後、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Kinstaのウェルカムページが表示されます。
PHPアプリのデプロイ方法について動画での解説もご用意しています。
ウェブサーバーのセットアップ
弊社では、通常の方法でプロジェクトのメインディレクトリから、index.phpファイルを提供するApacheウェブサーバーを自動設定します。デフォルトのインデックスページとして、プロジェクトフォルダにindex.phpファイルを作成してください。
Jigsaw
弊社アプリケーションホスティングを使用して、GitHubリポジトリからJigsawで静的サイトをセットアップする方法の一例をご紹介します。
Jigsawは静的サイトフレームワークです。Bladeテンプレートを使ってページレイアウトを作成し、Markdownでテンプレート内にコンテンツを構築するため、高度なコーディングの知識なしで、シンプルな静的サイトを作成することができます。詳細はJigsawの公式サイトをご覧ください。
- GitHubにログイン後、「Kinsta – Jigsaw Starter」テンプレートから新規リポジトリを作成します(「Use this template」>「Create a new repository」)。
- MyKinstaで、「アプリケーション」>「アプリケーションを追加」>「GitHub」を選択し、「Gitサービスの接続」ウィンドウで「Gitサービスを接続する」をクリックして、GitHubアカウントにログインします。
- Jigsawリポジトリと「データセンターの所在地」を選択します。その他の設定はデフォルトのままで、「続行」をクリックします。
- 「最終確認」画面では、デプロイ前にBuildpackを追加する必要があるため、「後でデプロイする」をクリックします。
- アプリケーションがCSS/JSファイルをビルドできるよう、Node.jsとPHPの2つのBuildpackを追加します。「設定」>「Buildpackを追加」をクリックし、「Node.js」>「Buildpackを追加」を選択します。PHPでも同様の操作を繰り返してください。
- 「デプロイ」>「今すぐデプロイ」>(対象のブランチ)>「アプリケーションをデプロイ」をクリックします。
JigsawはLaravelをベースにしており、通常のPHPベースのアプリケーションとみなすことができます。デプロイに際し、ウェブプロセスのstartコマンドが自動検出され、composer.jsonファイルで定義された依存関係も自動インストールされます。デプロイの完了後は、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Jigsawのデフォルトページが表示されます。
Buildpack
ほとんどの場合、アプリケーションにCSS/JSファイルをビルドさせるため、以下2つのBuildpackを追加する必要があります。
- Node.js
- PHP
ウェブサーバーのセットアップ
startコマンド
アプリケーションをデプロイすると、startコマンドとして自動的にnpm start
を持つウェブプロセスが検出されます。startコマンドは、必要に応じて「プロセス」画面で変更可能です。
Laravel
GitHubリポジトリから弊社アプリケーションホスティングを利用して、Laravelアプリケーションをデプロイ、セットアップする方法の一例をご紹介します。
- GitHubにログイン後、「Kinsta – Hello World – Laravel」テンプレートから新規リポジトリを作成します(「Use this template」>「Create a new repository」)。
- Laravelでは、
APP_KEY
環境変数を設定する必要があります。お客様ご自身でアプリキーをローカルに生成するか、オンラインLaravelキージェネレーターで作成可能です。 - MyKinstaで、「アプリケーション」>「アプリケーションを追加」>「GitHub」を選択し、「Gitサービスの接続」ウィンドウで「Gitサービスを接続する」をクリックして、GitHubアカウントにログインします。
- Laravelリポジトリと「データセンターの所在地」を選択します。「環境変数」で「キー1」に
APP_KEY
と入力、「値1」にステップ2で生成したキーを貼り付けて、「ランタイムで利用可」と「ビルドプロセスで利用可」を選択してください。 - その他の設定はデフォルトのままで、各ステップで「続行」をクリックします。「最終確認」画面では、デプロイ前にBuildpackを追加する必要があるため、「後でデプロイする」をクリックしてください。
- アプリケーションがCSS/JSファイルをビルドできるよう、Node.jsとPHPの2つのBuildpackを追加します。「設定」>「Buildpackを追加」をクリックし、「Node.js」>「Buildpackを追加」を選択します。PHPでも同様の操作を繰り返してください。
- 「デプロイ」>「今すぐデプロイ」>(対象のブランチ)>「アプリケーションをデプロイ」をクリックします。
Laravelは、通常のPHPベースのアプリケーションとみなすことができます。デプロイに際し、ウェブプロセスのstartコマンドが自動検出され、composer.jsonファイルで定義された依存関係も自動インストールされます。デプロイの完了後は、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Kinstaのウェルカムページが表示されます。
Laravelアプリのデプロイ方法について動画での解説もご用意しています。
データベースの接続
アプリケーションをデータベースに接続する場合、まずはアプリケーションと同じデータセンターにデータベースを作成します。
- データベースを追加します。
- 内部接続を追加し、「環境変数を追加」にチェックを入れて、データベースをアプリケーションに接続します。これでデータベースから環境変数が自動入力されます。
- Laravelが使用する変数名(キー)の一部は、MyKinstaで自動生成されたものと異なります。必要に応じてLaravelのdatabase.phpファイルで定義されているものと一致するよう、変数キーを編集してください。Laravelがサポートするデータベースタイプに対応する変数名(キー)は以下を参照してください。
環境変数
MySQLとPostgreSQL
自動生成キー | Laravelキー |
DB_HOST | DB_HOST |
DB_PORT | DB_PORT |
DB_NAME | DB_DATABASE |
DB_USER | DB_USERNAME |
DB_PASSWORD | DB_PASSWORD |
DB_CONNECTION_URL | DB_URL |
Redis
自動生成キー | Laravel キー |
DB_HOST | REDIS_HOST |
DB_PORT | REDIS_PORT |
DB_NAME | REDIS_DB |
DB_USER | REDIS_USERNAME |
DB_PASSWORD | REDIS_PASSWORD |
DB_CONNECTION_URL | REDIS_URL |
LaravelのAPP_KEY
Laravelでは、環境変数APP_KEY
の設定が必要です(設定しない場合は、Laravelの500エラーページが表示されます)。このキーは、お客様ご自身でローカルに生成するか、オンラインLaravelキージェネレーターで作成可能です。キーの取得後、環境変数として追加します。
Buildpack
ほとんどの場合、アプリケーションにCSS/JSファイルをビルドさせるため、以下2つのBuildpackを追加する必要があります。
- Node.js
- PHP
アプリケーションの主要言語を含むBuildpackは、Buildpack一覧の最後になければなりません。この例では、PHPが主要言語であるため、PHPのBuildpackを一覧の最後に追加してください。
ウェブサーバーのセットアップ
startコマンド
デフォルトのウェブプロセスは、heroku-php-apache2
です。この例では、Laravelのpublic/index.phpにすべてのリクエストをリルートする.htaccessファイルが含まれています。startコマンドは、必要に応じてアプリケーションの追加時(プロセスのセットアップ)、またはデプロイ後のアプリケーションの「プロセス」画面でコマンドを変更可能です。以下を使用してください。
heroku-php-apache2 /public
または
php artisan serve --host 0.0.0.0 --port 8080
Leaf
GitHubリポジトリから弊社アプリケーションホスティングを利用してLeaf PHPアプリケーションをデプロイ、セットアップする方法の一例をご紹介します。
Leafはスリムで軽量なPHPフレームワークで、開発者による使いやすさや質の高いコード記述に重点を置いています。詳細はLeaf PHPの公式サイトをご覧ください。
- GitHubにログイン後、「Kinsta – Hello World – Leaf PHP」テンプレートから新規リポジトリを作成します(「Use this template」>「Create a new repository」)。
- MyKinstaで、「アプリケーション」>「アプリケーションを追加」>「GitHub」を選択し、「Gitサービスの接続」ウィンドウで「Gitサービスを接続する」をクリックして、GitHubアカウントにログインします。
- Leaf PHPのリポジトリと「データセンターの所在地」を選択します。その他の設定はデフォルトのままで、「続行」をクリックします。
- 「最終確認」画面で「デプロイする」をクリックします。
デプロイに際し、ウェブプロセスのstartコマンドが自動検出され、composer.jsonファイルで定義された依存関係も自動インストールされます。デプロイ完了後、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Kinstaのウェルカムページが表示されます。
Leaf PHPアプリのデプロイ方法について動画での解説もご用意しています。
ウェブサーバーのセットアップ
ポート
PORT
環境変数は自動的に設定されるため、お客様ご自身で定義したり、アプリケーションにハードコーディングで記述したりする必要はありません。
startコマンド
アプリケーションのデプロイに際し、heroku-php-apache2
を実行するウェブプロセスが自動生成されます。
デプロイメントライフサイクル
デプロイメントを開始すると(アプリケーションの作成、またはコミットの失敗による再デプロイ)、composer install
コマンドが実行されます。
Statamic
GitHubリポジトリから弊社アプリケーションホスティングを利用して、Statamicアプリケーションをデプロイ、セットアップする方法の一例をご紹介します。
StatamicはフラットファイルCMSであり、すべてのデータがGitリポジトリに保存されます。サイトの構築と保守管理を考慮し、コードをMyKinstaに反映する前に、Statamicをローカル環境にインストールすることをお勧めします。それから「super user」(スーパーユーザー)アカウントを作成し、すべての変更内容をコミットして、リポジトリにプッシュしてください。
- GitHubにログイン後、「Kinsta – Statamic Boilerplate」テンプレートから新規リポジトリを作成します(「Use this template」>「Create a new repository」)。
- StatamicはLaravelをベースにしているため、
APP_KEY
環境変数を設定する必要があります。お客様ご自身でアプリキーをローカルに生成するか、オンラインLaravelキージェネレーターで作成可能です。 - MyKinstaで、「アプリケーション」>「アプリケーションを追加」>「GitHub」を選択し、「Gitサービスの接続」ウィンドウで「Gitサービスを接続する」をクリックして、GitHubアカウントにログインします。
- Statamicリポジトリと「データセンターの所在地」を選択します。「環境設定」の設定は以下に従ってください。
- 「キー1」に
APP_KEY
と入力、「値1」にステップ2で生成したキーを貼り付ける - 「追加項目を増やす」をクリックし、「キー2」に
APP_KINSTA
、「値2」にtrue
を入力 - 「ランタイムで利用可」と「ビルドプロセスで利用可」を選択
- 「キー1」に
- その他の設定はデフォルトのままで、各ステップで「続行」をクリックします。「最終確認」画面で「後でデプロイする」をクリックし、デプロイ前に必要なBuildpackを追加します。
- アプリケーションがCSS/JSファイルをビルドできるよう、Node.jsとPHPの2つのBuildpackを追加します。「設定」>「Buildpackを追加」をクリックし、「Node.js」>「Buildpackを追加」を選択します。PHPでも同様の操作を繰り返してください。
- 「デプロイ」>「今すぐデプロイ」>(対象のブランチ)>「アプリケーションをデプロイ」をクリックします。
JigsawはLaravelをベースにしており、通常のPHPベースのアプリケーションとみなすことができます。デプロイに際し、ウェブプロセスのstartコマンドが自動検出され、composer.jsonファイルで定義された依存関係も自動インストールされます。デプロイの完了後は、すぐにアプリケーションをご利用いただけます。アプリケーションのURLには、Statamicのウェルカムページが表示されます。
Statamicアプリのデプロイ方法について動画での解説もご用意しています。
環境変数
Stamicでは、以下の環境変数の設定が必要です。
APP_KEY
:アプリキーをお客様ご自身でローカルに生成するか、オンラインのLaravelキージェネレーターで作成します。APP_KINSTA
:true
に設定します。
Buildpack
ほとんどの場合、アプリケーションにCSS/JSファイルをビルドさせるため、以下2つのBuildpackを追加する必要があります。
- Node.js
- PHP
アプリケーションの主要言語を含むBuildpackは、Buildpack一覧の最後になければなりません。この例では、PHPが主要言語であるため、PHPのBuildpackを一覧の最後に追加してください。
ウェブサーバーのセットアップ
startコマンド
デフォルトのウェブプロセスはheroku-php-apache2 public/
です。必要であれば、アプリケーションの追加時(プロセスのセットアップ)、またはデプロイ後のアプリケーションの「プロセス」画面でコマンドを変更可能です。
メール送信用のPHPアプリケーション
弊社アプリケーションホスティングを利用して、GitHubリポジトリからSendGrid経由でメールを送信するPHPアプリケーションをデプロイ、セットアップする方法の一例をご紹介します。
弊社では、サーバーからのアウトバウンドのメールを標準でサポートしていません。SendGridまたはMailchimpなどのようなメール送信サービスを経由してメールを送信すると、トランザクションやキャンペーンメールのより高い柔軟性と成功率が期待できます。
- GitHubにログイン後、「Kinsta – Hello World – Email Sending With PHP」テンプレートから新規リポジトリを作成します(「Use this template」>「Create a new repository」)。
- MyKinstaで、「アプリケーション」>「アプリケーションを追加」>「GitHub」を選択し、「Gitサービスの接続」ウィンドウで「Gitサービスを接続する」をクリックして、GitHubアカウントにログインします。
- Email PHPリポジトリと「データセンターの所在地」を選択します。「環境設定」に以下を追加します。
SENDGRID_API_KEY
:SendGridからのAPIキーTEST_EMAIL_TO_ADDRESS
:テストメールの送信先アドレスTEST_EMAIL_FROM_ADDRESS
:テストメールの送信元アドレスTEST_ENDPOINT
:テストメールを送信するトリガーとして使用するエンドポイント(最低8文字以上の無作為な文字列を使用してください)
- その他の設定はデフォルトのままで、各ステップで「続行」をクリックし、「最終確認」画面で「デプロイする」をクリックします。
デプロイの完了後は、すぐにアプリケーションをご利用いただけます。アプリケーションの URLには、Hello Worldページが表示されます。
メール送信のトリガー
シンプルなindex.phpのエントリポイントを通して、2つのエンドポイントが公開されます。
/
:Hello Worldメッセージを返す簡易ページ/${TEST_ENDPOINT}
:テストメールをトリガーするページ
メールをトリガーするには、「デプロイメント」画面で確認できるデプロイのURLにテストエンドポイントを追加し、そのページにアクセスしてください。例えば、TEST_ENDPOINT
がo34nifnodhni4of
に設定され、最近のデプロイが「https://example.kinsta.app」にある場合は、ブラウザで「https://example.kinsta.app/o34nifnodhni4of」からテストメールを起動することができます。