前のパートに戻る 完了して次のパートへ  

  2-3 Laradockを使った開発環境の構築

このパートではLaradockを使った開発環境の構築をしていきます。

Dockerのインストールが終わっていない方は、以下のパートからインストールしてください。

  • 2-1 Dockerのインストール(macOS)
  • 2-2 Dockerのインストール(Windows)

プロジェクト用のディレクトリを作る


任意のディレクトリに開発するアプリケーション用のディレクトリを作ります。

ディレクトリ名は自分が分かりやすい物にします。

今回の教材ではecsiteとします。

以下のコマンドを実行してください。

$ mkdir ecsite
$ cd ecsite

リポジトリのクローン


LaradockのGithubのリポジトリをクローンします。

クローンしたらlaradockディレクトリに移動します。

以下のコマンドを実行してください。

$ git clone https://github.com/Laradock/laradock.git
$ cd laradock

Laradockの設定ファイルの準備


Laradockのenv-example.envとしてコピーします。

/ecsite/laradock/で以下のコマンドを実行してください。

$ cp env-example .env

以下のコマンドを実行し、/ecsite/laradock/直下に.envファイルがあることを確認してください。

$ ls -a

次に作成した.envファイルをVimを使って編集していきましょう。

本教材ではVimについて解説はしませんが、詳しく知りたい方は以下の参考リンクをご参照ください。

参考)知識0から始めるVim講座

それでは、/ecsite/laradock/で以下のコマンドを実行してください。

$ vi .env

するとターミナル上に下記のような画面が表示されると思います。

この画面は/ecsite/laradock/.envの編集画面です。

この画面上でiを押してください。

下部に-- INSERT --と編集できるモードに切り替わるので、この状態でファイルを編集していきます。

/ecsite/laradock/.envを以下のように編集してください。

### Paths #################################################

# Point to the path of your applications code on your host

# 次の行を編集
APP_CODE_PATH_HOST=../ecsite

# Point to where the `APP_CODE_PATH_HOST` should be in the container
APP_CODE_PATH_CONTAINER=/var/www

APP_CODE_PATH_HOSTの値を修正することで、修正した値がLaradockで動かすウェブアプリのディレクトリのパスになります。

次にescキーを押してコマンドモードに移行し、:wqを押してenterキーでファイルへの変更を保存し終了します。

次にウェブアプリのディレクトリを作っておきます。

以下のコマンドを実行してください。

$ mkdir ../ecsite

これで現在のディレクトリ構成は以下のようになっているはずです。

ecsite
├── ecsite
└── laradock

mysqlの認証方法の設定


この教材の執筆時点(2019年5月)では、Laradockが用意するmysqlのバージョンはmysql8.0となっています。

Laravelからmysqlに接続する際に使われるパスワード認証方式がmysql8.0のデフォルトの方式に対応していません。

そこで、Laravelからmysqlに接続できるように、mysql側の認証方式を古いものに設定しなおします。

/ecsite/laradock/mysql/my.cnfを編集し、従来の認証プラグインを使用するように設定をします。

/ecsite/laradock/ディレクトリ内で以下のコマンドを実行し、vimのエディターを起動してください。

$ vi mysql/my.cnf

iを押してINSERTモードに切り替え、/ecsite/laradock/mysql/my.cnfを以下のように編集してください。

# The MySQL  Client configuration file.
# 
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

[mysql]

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
character-set-server=utf8

# この行を追加
default_authentication_plugin=mysql_native_password

escキーを押してコマンドモードに移行し、:wqを入力しenterキーでファイルの変更を保存し終了します。

これでmysqlの準備はOKです。

Laradockのコンテナ起動


Laradockを使ってあらかじめ用意されているウェブサーバー(nginx)とデータベースサーバー(mysql)のコンテナを起動します。

/ecsite/laradock/ディレクトリ内で以下のコマンドを実行します。

$ docker-compose up -d nginx mysql

コンテナの起動に成功すると画像のようになります。

たったこれだけでローカルのウェブサーバーとデータベースが起動しました。簡単ですね。

workspaceコンテナのパッケージのアップデート


つぎにworkspaceコンテナに入り、パッケージのアップデートをしておきます。

workspaceコンテナは開発に必要なツール等が一通りインストール済みのコンテナで、作業の多くをこのコンテナで行う事になります。

Laradockのコンテナを起動すると自動的にworkspaceコンテナも起動するようになっています。

以下のコマンドでパッケージのアップデートをしましょう。

$ docker exec -it laradock_workspace_1 bash
[email protected]:/var/www# apt-get update

Laravelのセットアップ


最後に肝心のLaravelのセットアップをします。

workspaceコンテナに入ったまま、Laravelをインストールします。

[email protected]:/var/www# composer create-project laravel/laravel . "5.8.*"

動作確認


下記のURLでLaravelのデフォルトページが表示されれば開発環境の構築は成功です。

http://localhost/

以上で今回のパートは終了です。

お疲れさまでした。

議論

53 質問

このコースの評価は?