Dokku のお手軽さが楽しくなってしまい、 Laravel も Dokku で運用したくなったのでメモ
Laravel プロジェクトのインストールと前準備
Laravel のインストール
composer
のインストールについては「Laravel 4.2 Laravelクイックスタート」をみてください。
composer
を使って Laravel をインストールする
composer create-project laravel/laravel <プロジェクト名> --prefer-dist
APP_KEY の作成
cd <プロジェクト名> # プロジェクトディレクトリに移動
php artisan key:generate
/<プロジェクトディレクトリ>/.env
に記述されている base64:
から始まるキーをコピーしておく
Dokku をさわる
GCE に接続する
ssh
で GCE に接続する
ssh -i <PATH_TO_PRIVATE_KEY> <USERNAME>@<EXTERNAL_IP_ADDRESS>
もしくは、 gcloud
を利用している場合は
「インスタンス>リモートアクセス>gcloud
コマンドを表示」からコピペして接続
GCE に Dokku アプリを作成する
laravel-dokku-app
って名前のプロジェクトを作ることにする
dokku apps:create laravel-dokku-app
APP_KEY を Dokku に設定する
dokku config:set laravel-dokku-app <APP_KEY>
APP_KEY
=> 「APP_KEY の作成」の項目でコピーしたやつをコピペする
Procfile と BUILDPACK_URL を設定する
Dokku は何も設定しないと Node.js プロジェクトと認識されるらしいので、
PHP を扱うために Procfile
と BUILDPACK_URL
とかいうやつの設定をする
Procfile の作成
ローカル環境の Laravel プロジェクトのルートでやる
echo 'web: vendor/bin/heroku-php-apache2 public/' >> Procfile
BUILDPACK_URL の設定
GCE サーバー内でやる
dokku config:set laravel-dokku-app BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php
Laravel を Dokku にデプロイする
git init
git add .
git commit -m "first deploy"
git remote add dokku dokku@<外部IPアドレス>:laravel-dokku-app
git push dokku master
外部IPアドレス
=> インスタンス>ネットワークインターフェース>外部 IPの下にある数字をコピペ
おわり
メモ: ポートを指定する場合はこうする
git remote add dokku ssh://dokku@<外部IPアドレス>:<ポート番号>/laravel-dokku-app
参考
How to deploy Laravel app on Dokku
https://jiegersblog.blogspot.com/2017/06/how-to-deploy-laravel-app-on-dokku.html
setting permissions problem
https://github.com/dokku/dokku/issues/353
[Laravel5.5] APP_KEY の行方を追う
https://qiita.com/yk2220s/items/dcbf54c6d1f33a0cb06f