Techpit:テックピット
  前のパートに戻る 完了して次のパートへ  

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

開発環境はLaradock(ララドック)をつかいます。 LaradockはDockerを使って複数の仮想環境を簡単に立ち上げられるツールです。

Getting Started - Laradock

まずはDockerをインストールしましょう。

Dockerのインストール(Windows)


Windows10にDocker for Windowsをインストールします。

Docker for Windowsを使うにはWindowsのHyper-Vを有効化する必要があります。

そしてHyper-Vを有効化するにはWindows10 Pro以上が必要なので、Windows10 Homeを使っている場合は有料でWindows10 Proアップデートする必要があります。

Hyper-Vを有効化するにはWindows10で以下の操作を行います。

1.スタートメニューを右クリックして「アプリと機能」を選択。図2-1-1

2.「プログラムと機能」を選択。図2-1-2

3.「Windows の機能の有効化または無効化」を選択。図2-1-3

4.Hyper-Vを有効化。図2-1-4

図2-1-1 アプリと機能を選択

図2-1-2 プログラムと機能を選択

図2-1-3 Windows の機能の有効化または無効化を選択

図2-1-4 Hyper-Vを有効化

以下のサイトからDocker for Windowsのインストーラをダウンロードして、Dockerをインストールします。

Docker Desktop for Windows - Docker Hub

dockerhubにアカウント作成し、ログインするとダウンロードできます。

アカウントは無料で作成できます。

インストール完了後、Windowsを再起動するとDockerが起動された状態になります。

Dockerのインストール(Mac)


以下のサイトからDocker for Macのインストーラをダウンロードして、Dockerをインストールします。

Docker Desktop for Mac - Docker Hub

dockerhubのアカウント作成し、ログインするとダウンロードできます。

アカウントは無料で作成できます。

インストールしたらDockerのアイコンをクリックして、Dockerを起動しておきましょう。

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


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

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

ここではecsiteとします。

$ mkdir ecsite
$ cd ecsite

リポジトリのclone


LaradockのgitリポジトリをCloneします。 cloneしたらlaradockディレクトリに移動します。

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

Laradockの設定ファイルの準備


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

$ cp env-example .env

コピーした.envをテキストエディタで開き、APP_CODE_PATH_HOSTの値を修正します。

この値がLaradockで動かすウェブアプリのディレクトリのパスになります。

APP_CODE_PATH_HOST=../

APP_CODE_PATH_HOST=../ecsite

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

$ mkdir ../ecsite

Laradockのコンテナ起動


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

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

$ docker-compose up -d nginx mysql

コンテナの起動に成功すると図2-1-6のようになります。

図2-1-6 Laradockのコンテナ起動

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

簡単ですね。

mysqlの認証方法の設定


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

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

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

以下のコマンドでLaradockのmysqlコンテナにアクセスし、mysqlの設定を変更します。

$ docker-compose exec mysql bash
# mysql -u default -psecret
mysql> alter user 'default'@'%' identified with mysql_native_password by 'secret';
Query OK, 0 rows affected (0.01 sec)
# exit
$ exit

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

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


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

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

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

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

$ docker exec -it laradock_workspace_1 bash
$ apt-get update

Laravelのセットアップ


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

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

$ composer create-project laravel/laravel .

動作確認


下記のURLでサイトが表示されれば開発環境の構築は成功です。

http://localhost/

議論
3 質問