1. alt
Changes in body
Source | HTML | Preview
@@ -1,191 +1,191 @@
#**はじめに**
今更ながらPHPフレームワークで人気の**Laravel**を**Laradock**を用いて開発環境構築してみました。
#**Laradockとは**
![laradock-logo.jpg](https://qiita-image-store.s3.amazonaws.com/0/243014/927a415f-1934-b96c-d612-154621cfccbb.jpeg)
「dockerでLaravelを動かすぜ!」ということに焦点を当てて開発が進められたプロジェクトですが、
今ではLaravelだけでなく、他のPHPプロジェクト(Symfony、CodeIgniter、WordPress、Drupal…)までもサポートしています。
>Laradock is well known in the Laravel community, as the project started with single focus on running Laravel projects on Docker. Later and due to the large adoption from the PHP community, it started supporting other PHP projects like Symfony, CodeIgniter, WordPress, Drupal…
引用 Laradock公式HP:http://laradock.io/
#**前提**
1. Dockerがインストールされている事  
2. gitがインストールされている事
※余談
これから記述する環境構築手順はMacでもWindowsでもほぼ同じです。
が、Windowsの場合dockerをHyper-V上で実行するためには、**Windows Proでなければ実行できません**。
私はWindowsユーザーでWindows Homeでしたので、当然Docker for Windowsは動きませんでした・・・
流行りのDockerを勉強するための有意義な出費なので、迷わずWindows Proにアップグレードしました。
参考:[俺のDocker - Windows10にインストール](https://qiita.com/Ogaaaan/items/99fe54f052ca450889f7)
#<b>環境構築手順</b>
##**その1:Laradockのインストール**
**◆ディレクトリ準備**
いまから開発環境を整える為のディレクトリを準備します。
今回は"App"という名前で作成します。
-```shell
+```console
~ $ mkdir App
````
カレントディレクトリをAppに変更します。
-```shell
+```console
~ $ cd App
```
**◆Laradockのインストール & 各種準備**
下記コマンドでlaradockをAppディレクトリ内にCloneします。
-```bash
+```console
~App $ git clone https://github.com/LaraDock/laradock.git
```
終わったらlsコマンドでlaradockディレクトリが作成されている事を確認して、laradockディレクトリに移動します。
-```bash
+```console
~App $ ls
laradock
~App $ cd laradock
```
**◆.envファイルの作成 & 編集**
.envファイルはlaradock内の「env-example」ファイルをコピーして作成します。
-```bash
+```console
~App/laradock $ cp env-example .env
```
次に.envファイルに以下3行を追加します。
-```
+```ini
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
```
**◆コンテナの起動**
それではlaradock内で各種必要なコンテナ(Nginx、Redis、Beanstalkd)を起動させます。
ついにDockerを・・・
-```docker
+```console
$ docker-compose up -d nginx mysql redis beanstalkd
```
しばらくして処理が終わったらコンテナが起動しているか、下記コマンドで確認しましょう。
-```docker
+```console
$ docker-compose ps
```
すると下記のような画面が表示されるはずです(StateがUpになっていれば、コンテナが立ち上がっている状態となります)
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/243014/376e98e7-f1ba-ebbe-ee7d-918b734412e9.png)
この状態でlocalhostでアクセスしても404 Not Foundが表示されるはずです。
##**その2:Laravelプロジェクトの作成**
先ほど"docker-compose ps"コマンドで**laravel_workspace_1**というコンテナが立ち上がっているのを確認しました。
そのコンテナにアクセスしLaravelプロジェクトを配置してみましょう。
**◆コンテナへのアクセス & 準備**
-```docker
+```console
$ docker exec -it laradock_workspace_1 bash
root@84df08e29420:/var/www#
```
アクセスしたらまずはパッケージリストの更新をしましょう。
-```shell
+```console
root@84df08e29420:/var/www# apt-get update
```
しばらくして完了したらファイル編集用にvimも入れておきましょう。
-```shell
+```console
root@84df08e29420:/var/www# apt-get install vim
```
**◆Laravelプロジェクトの作成**
それでは準備ができたのでLaravelプロジェクトを作成します。
今回は**MyProject**というプロジェクト名で進めます。
下記コマンド実行後しばらく待機します。
-```shell
+```console
root@84df08e29420:/var/www# composer create-project laravel/laravel MyProject
```
これでLaravelプロジェクトの作成は完了ですので、lsコマンドでディレクトリが作成されているか確認しましょう。
-```shell
+```console
root@84df08e29420:/var/www# ls
laradock MyProject
```
ここまででLaravelプロジェクト作成は終了ですので、コンテナから出ます
-```shell
+```console
root@84df08e29420:/var/www# exit
```
設定を変更するため、コンテナを一時停止させます。
-```docker
+```console
$ docker-compose stop
```
**◆ホスト側(MyProject)の編集内容をDockerコンテナ側に反映させる設定**
"docker-compose.yml"を編集して、上記を実現します。
"docker-compose.yml"はlaradockディレクトリ直下に存在します。
-```shell
+```sh
vim docker-compose.yml
```
applicationsのvolumes部分を以下のように書き換えます
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/243014/6244fe9a-bd56-31be-6023-9c102757431e.png)
##**その3:最後の仕上げ**
**◆パーミッション設定**
「storage」「bootstrap/cache」ディレクトリについて、webサーバーから書き込みを許可するために、
パーミッションの設定を変更します。
まず再びコンテナへ入り、MyProjectディレクトリへ移動します。
-```shell
+```console
docker exec -it laradock_workspace_1 bash
root@84df08e29420:/var/www# cd MyProject
```
パーミッションを変更します。
参考:[Linuxの権限確認と変更(超初心者向け)](https://qiita.com/shisama/items/5f4c4fa768642aad9e06)
   パーミッションの読み方について毎回忘れてしまうので、とても参考になりましたm(_ _)m
-```shell
+```console
root@84df08e29420:/var/www/MyProject# chmod 766 storage
root@84df08e29420:/var/www/MyProject# chmod 766 bootstrap/cache
```
**◆Nginxのrootを変更**
最後にNginxのドキュメントrootを変更します。
laradockディレクトリまで移動して、default.confを編集します。
-```shell
+```console
root@84df08e29420:/var/www/laradock# vim nginx/sites/default.conf
```
編集するのは"default.conf"のroot部分です。
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/243014/dda0a88f-d57c-3906-366e-f2a7a2a9296c.png)
編集が完了したら保存して、コンテナを再起動します。
-```docker
+```sh
docker-compose restart
```
お疲れ様でした!
これでlocalhost [http://localhost/] にアクセスしたらLaravelのトップ画面が表示されるはずです。
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/243014/64964046-6647-f7c4-cc05-f4e243cadf1d.png)