LoginSignup
5
4

More than 3 years have passed since last update.

UbuntuでLaradockを使ったLaravel開発環境構築

Last updated at Posted at 2019-10-10

はじめに

以下の記事を参考に環境構築したのですが、自分の環境(Ubuntu18.04 2019年10月現在)では一部うまく行かない部分がありましたので記載しました。

Laradockを使ったLaravel開発環境構築 - Qiita

前提

  1. Ubuntu 18.04
  2. Dockerがインストールされている事  
  3. 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のトップ画面が表示されるはずです。

5
4
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
5
4