LaravelとLaradockを使ったチームでの開発環境を用意する vol.2 ~Laravelインストール編~

# LaravelとLaradockを使ったチームでの開発環境を用意する vol.2
~Laravelインストール編~

こんにちは、Dev.Satsukiです。

この記事は前回の続きですので、まだ見ていない方はまず前回記事を確認してくださいね
[LaravelとLaradockを使ったチームでの開発環境を用意する vol.1 ~Laradock設定編~](https://qiita.com/dev_satsuki/items/e2769925da33bfa77df5)

前回記事が文章多すぎて自分で読み返して辛かったので、今回はシンプルに要点だけまとめるようにします。
ちょっとは読みやすくなるといいなぁ…

## 前回やったこと

- プロジェクト用のディレクトリ作成
- Laradock設定ファイル作成
- ローカル環境を設定するためのshell script作成
- ローカル開発環境用のDocker起動 停止

## 今回やること

- Laradockでよく使うコマンドの確認
- Laravelのをインストール
- Laravelの設定
- 各ローカルサーバーへのアクセス
- laravel設定ファイルの配布準備

---

## Docker操作に使うコマンド

    //これらのコマンドはlaradockのインストールされているディレクトリで使います
    // 起動 (nginx等は使いたい環境ごとに変更してください)
    docker-compose up -d nginx postgres workspace redis
    
    // 停止
    docker-compose stop
    
    // サーバーへの接続
    docekr-compose exec image_name bash

## Laravelのインストール

    // workspaceにアクセス
    docker-compose exec workspace bash
    // ディレクトリを確認
    ls

lsコマンドの結果がカラならOKです
ここはローカルPCのyour_laravel_projectの中身と同期しているはずです

もしここでファイルがすでに存在するようなら、.envファイルの以下の項目を見直してください

    APP_CODE_PATH_HOST= 

    // workspaceマシン内で
    composer create-project --prefer-dist laravel/laravel ./

## 補足:workspaceについて

Laradockでは、Laravelのインストール・操作用のマシンがworkspaceとして用意されています。
php artisanやcomposerのコマンドを使う場合はworkspace上で行いましょう。

## Laravelの設定

Laravel側の.envファイルを編集します。
デフォルトの.envファイル内のDB_HOST等を書き換えます

DB_HOSTの値などは、docker-compose.ymlのvolumesの値を設定します

    volumes:
      mysql:
        driver: ${VOLUMES_DRIVER}
      percona:
        driver: ${VOLUMES_DRIVER}
      mssql:
        driver: ${VOLUMES_DRIVER}
      postgres:
        driver: ${VOLUMES_DRIVER}
      memcached:
        driver: ${VOLUMES_DRIVER}
      redis:
        driver: ${VOLUMES_DRIVER}
      neo4j:
        driver: ${VOLUMES_DRIVER}
      mariadb:
        driver: ${VOLUMES_DRIVER}
      mongo:
        driver: ${VOLUMES_DRIVER}
      minio:
        driver: ${VOLUMES_DRIVER}
      rethinkdb:
        driver: ${VOLUMES_DRIVER}
      phpmyadmin:
        driver: ${VOLUMES_DRIVER}
      adminer:
        driver: ${VOLUMES_DRIVER}
      aerospike:
        driver: ${VOLUMES_DRIVER}
      caddy:
        driver: ${VOLUMES_DRIVER}
      elasticsearch:
        driver: ${VOLUMES_DRIVER}

DB_PASSWORDなどは、Laradockディレクトリの.envに記載されている内容を設定します。

    ### MYSQL #################################################
    
    MYSQL_VERSION=latest
    MYSQL_DATABASE=default
    MYSQL_USER=default
    MYSQL_PASSWORD=secret
    MYSQL_PORT=3306
    MYSQL_ROOT_PASSWORD=root
    MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

設定が完了したら、次のステップに移ります。
正しく動作しているかなどは、migrateが上手く走るかどうかなどで確認してください。

    php artisan migrate

## 各ローカルサーバーへのアクセス

では、起動した各サーバーにアクセスしてみます

    // target_serverを適宜変更してください
    docker-compose exec target_server bash

たとえば、postgresサーバーにアクセスする場合は以下のようになります

    // target_serverを適宜変更してください
    docker-compose exec postgres bash

## Laravel設定ファイルの配布準備

前回使った.shディレクトリにLaravelの.envを設置して、チームメンバーが簡単に設定を完了できるようにします。
**.laravel-env**ファイルを以下の場所に作成します。

    your-project/.sh/conf/.laravel-env

続いて、前回作成した**setup.sh**を更新します。

    SCRIPT_DIR=$(cd $(dirname $0); pwd)
    
    cd $SCRIPT_DIR
    
    cp -f conf/.laradock-env ../laradock-your_project/.env
    cp -f conf/.**laravel**-env ../your_laravel_project/.env

最終的には.shディレクトリはこんな感じになります

![](https://static.notion-static.com/13b1696b-1cf5-4d5a-8d69-4e84b60f21af/_2018-04-12_12.09.29.png)

ココまでで今回の作業は終わりです。おつかれさまでした。

## まとめ ココまででやったこと

- プロジェクト用のディレクトリ作成
- Laradock設定ファイル作成
- ローカル環境を設定するためのshell script作成
- ローカル開発環境用のDocker起動 停止
- Laradockでよく使うコマンドの確認
- Laravelのをインストール
- Laravelの設定
- 各ローカルサーバーへのアクセス
- laravel設定ファイルの配布準備

ここまでくれば、自分のPCにはLaradockの開発環境がすでに存在しているハズです。

次回記事はチームメンバーがローカル環境をセットアップする場合の手順についてです。

[デベロ葉サツキ (@dev_satsuki) | Twitter](https://twitter.com/dev_satsuki)