#はじめに
以下の記事を参考に環境構築したのですが、自分の環境(Ubuntu18.04 2019年10月現在)では一部うまく行かない部分がありましたので記載しました。
Laradockを使ったLaravel開発環境構築 - Qiita
#前提
- Ubuntu 18.04
- Dockerがインストールされている事
- gitがインストールされている事
#環境構築手順
##その1:Laradockのインストール
◆ディレクトリ準備
いまから開発環境を整える為のディレクトリを準備します。
今回は"App"という名前で作成します。
~ $ mkdir App
カレントディレクトリをAppに変更します。
~ $ cd App
◆Laradockのインストール & 各種準備
下記コマンドでlaradockをAppディレクトリ内にCloneします。
~App $ git clone https://github.com/LaraDock/laradock.git
終わったらlsコマンドでlaradockディレクトリが作成されている事を確認して、laradockディレクトリに移動します。
~App $ ls
laradock
~App $ cd laradock
◆.envファイルの作成 & 編集
.envファイルはlaradock内の「env-example」ファイルをコピーして作成します。
~App/laradock $ cp env-example .env
次に.envファイルに以下3行を追加します。
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
◆コンテナの起動
それではlaradock内で各種必要なコンテナ(Nginx、Redis、Beanstalkd)を起動させます。
ついにDockerを・・・
$ docker-compose up -d nginx mysql redis beanstalkd
しばらくして処理が終わったらコンテナが起動しているか、下記コマンドで確認しましょう。
$ docker-compose ps
StateがUpになっていれば、コンテナが立ち上がっている状態となります。
##その2:Laravelプロジェクトの作成
先ほど"docker-compose ps"コマンドでlaravel_workspace_1というコンテナが立ち上がっているのを確認しました。
そのコンテナにアクセスしLaravelプロジェクトを配置してみましょう。
◆コンテナへのアクセス & 準備
$ docker exec -it laradock_workspace_1 bash
root@84df08e29420:/var/www#
アクセスしたらまずはパッケージリストの更新をしましょう。
root@84df08e29420:/var/www# apt-get update
◆Laravelプロジェクトの作成
それでは準備ができたのでLaravelプロジェクトを作成します。
今回はmy-projectというプロジェクト名で進めます。
下記コマンド実行後しばらく待機します。
root@84df08e29420:/var/www# composer create-project "laravel/laravel=6.0.*" my-project
Laravel のバージョンをLTSにしたかったので 6.0 を指定してますが、git clone した環境で composer install するとなぜか 6.2 がインストールされていたので固定する必要と思います。
composer.json
- "laravel/framework": "^6.0",
+ "laravel/framework": "6.0.*",
composer.lock は v6.2 になっていたので再作成したほうがいいかもしれません。
これでLaravelプロジェクトの作成は完了ですので、lsコマンドでディレクトリが作成されているか確認しましょう。
root@84df08e29420:/var/www# ls
laradock my-project
ここまででLaravelプロジェクト作成は終了ですので、コンテナから出ます
root@84df08e29420:/var/www# exit
設定を変更するため、コンテナを一時停止させます。
$ docker-compose stop
◆ホスト側(my-project)の編集内容をDockerコンテナ側に反映させる設定
".env"を編集して、上記を実現します。
".env"はlaradockディレクトリ直下に存在します。
APP_CODE_PATH_HOSTの部分を以下のように書き換えます
### Paths #################################################
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../my-project
##その3:最後の仕上げ
◆パーミッション設定
「storage」「bootstrap/cache」ディレクトリについて、webサーバーから書き込みを許可するために、
パーミッションの設定を変更します。
まず再びコンテナへ入り、MyProjectディレクトリへ移動します。
docker exec -it laradock_workspace_1 bash
パーミッションを変更します。
root@84df08e29420:/var/www/MyProject# chmod 777 storage -R
root@84df08e29420:/var/www/MyProject# chmod 777 bootstrap/cache
お疲れ様でした!
これでlocalhost [http://localhost/] にアクセスしたらLaravelのトップ画面が表示されるはずです。