Heroku
Heroku は、 web アプリケーションのための、大変よく知られたホスティングサービスです。 テスト目的の便利なフリープランがあり、ウェブサイトをデプロイする有料オプションがあります。
幅広い種類のアドオンが提供されており、最も柔軟な PaaS のひとつです。
Heroku は、 PHP に親切です。素晴らしい “Heroku で PHP を開始するための” ガイドが https://devcenter.heroku.com/articles/getting-started-with-php#introduction にあります。これは基本的な解説です。
Heroku に Grav をインストールする方法を見ていきましょう。
まず、 Heroku に登録します。
Heroku CLI をダウンロードしてください。これは、作成物やサイトをデプロイするのに必要なコマンドラインのユーティリティです。
インストールできたら、次を入力します:
heroku login
クレデンシャルを入力してください。
それでは、 PHP の “入門編” として提供されている具体例をローカルの web ルートディレクトリでチェックしてください。デプロイ前にローカルでテストできます。
git clone https://github.com/heroku/php-getting-started.git your-folder
cd your-folder
デプロイは、次のようにします
heroku create
そして、
git push heroku master
最低でも1つ以上のインスタンスが実行されていることを確認してください:
heroku ps:scale web=1
そしてブラウザでサイトを開いてください:
heroku open
サンプルの PHP プロジェクトが表示されるはずです。すべては設定されているので、サンプルサイトの代わりに Grav を実行する準備ができています。
まず、現在のサイトフォルダで web/
フォルダを削除してください。
Grav サイトのファイルをここにコピーします。 .htaccess
隠しファイルもコピーするのを忘れないでください。存在するすべてのファイルを上書きしてください。
Profile
ファイルを開きます。これは Heroku 特有のファイルです。次の行を変更します
web: vendor/bin/heroku-php-apache2 ./
ローカルでサイトが機能するか確認してください。 Heroku へアップロード前に、エラーが出てないかだけ確認します。
それから、リポジトリをコミットします
git add . ; git commit -am 'Added Grav'
それから、 composer.json
を編集し scripts
セクションを次のようにデプロイコマンドを追記します。、
"scripts": {
"compile": [
"bin/grav install",
"bin/gpm install quark -y"
]
}
そして、リポジトリをコミットします
git add . ; git commit -am 'Add post deploy bin/grav install'
それから、実行します
git push heroku master
そうすれば、サイトがうまく動きます!
Heroku のファイルシステムはもともと一時的なものなので、必要なプラグインやテーマすべてについて、上記のように composer.json
に追記し、サイトが Heroku へ push されるたびにそれらがインストールされるようにし続ける必要があります。たとえば、 admin
プラグインとテーマが必要な場合、 composer に次のように追記します
"scripts": {
"compile": [
"php bin/grav install",
"php bin/gpm install admin -y",
"php bin/gpm install awesome-theme-name-here -y"
]
}