LoginSignup
2
0

More than 3 years have passed since last update.

【GCE】Dokku に Laravel 環境を作る

Last updated at Posted at 2019-07-16

Dokku のお手軽さが楽しくなってしまい、 Laravel も Dokku で運用したくなったのでメモ

Laravel プロジェクトのインストールと前準備

Laravel のインストール

composer のインストールについては「Laravel 4.2 Laravelクイックスタート」をみてください。

composer を使って Laravel をインストールする

bash
composer create-project laravel/laravel <プロジェクト名> --prefer-dist

APP_KEY の作成

bash
cd <プロジェクト名> # プロジェクトディレクトリに移動
php artisan key:generate 

/<プロジェクトディレクトリ>/.env に記述されている base64: から始まるキーをコピーしておく

Dokku をさわる

GCE に接続する

ssh で GCE に接続する

bash
ssh -i <PATH_TO_PRIVATE_KEY> <USERNAME>@<EXTERNAL_IP_ADDRESS>

もしくは、 gcloud を利用している場合は
「インスタンス>リモートアクセス>gcloudコマンドを表示」からコピペして接続

GCE に Dokku アプリを作成する

laravel-dokku-app って名前のプロジェクトを作ることにする

bash
dokku apps:create laravel-dokku-app

APP_KEY を Dokku に設定する

bash
dokku config:set laravel-dokku-app <APP_KEY>

APP_KEY => 「APP_KEY の作成」の項目でコピーしたやつをコピペする

Procfile と BUILDPACK_URL を設定する

Dokku は何も設定しないと Node.js プロジェクトと認識されるらしいので、
PHP を扱うために ProcfileBUILDPACK_URL とかいうやつの設定をする

Procfile の作成

ローカル環境の Laravel プロジェクトのルートでやる

bash
echo 'web: vendor/bin/heroku-php-apache2 public/' >> Procfile

BUILDPACK_URL の設定

GCE サーバー内でやる

bash
dokku config:set laravel-dokku-app BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-php

Laravel を Dokku にデプロイする

bash
git init
git add .
git commit -m "first deploy"
git remote add dokku dokku@<外部IPアドレス>:laravel-dokku-app
git push dokku master

外部IPアドレス => インスタンス>ネットワークインターフェース>外部 IPの下にある数字をコピペ

おわり

メモ: ポートを指定する場合はこうする

bash
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

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0