見出し画像

LaradockでLaravelの開発環境を構築する方法【Mac編】

今回はLaradockでLaravelの開発環境を構築する方法を記載します。

Laradockについて

プログラミングを始めるにあたり一番最初にぶち当たる壁が環境構築だと思います。Laravelの場合、Webサーバーやデータベースなどの環境を構築する必要があります。

早くLaravelの学習に移りたいのに、環境構築で戸惑ってしまい学習をやめてしまう方を多数見てきました。

そんな方にLaradockでの環境構築がおすすめです。

Laradockを利用すると、WebサーバーやデータベースをDocker上に簡単に構築することができます。この記事参考にLaradockをサクッと構築して、Laravelの学習にうつっていただければと思います。


Dockerのインストール

Laradockを利用するにあたり、まずはDockerをインストールします。下記記事を参考にDockerをインストールしてください。


Laradockでの環境構築

それではLaradockでの環境構築を行います。

ここからはターミナルで実行していきます。

スクリーンショット 2019-11-25 5.36.28

ターミナルの実行方法ですが、mac右上の虫眼鏡マークをクリックし

スクリーンショット 2019-11-25 5.38.57

「ターミナル」と入力し、「ターミナル」をクリックします。

スクリーンショット 2019-11-25 5.39.48

するとターミナルが表示されます。

スクリーンショット 2019-11-25 5.37.19


Laradockのインストール

それではLaradockのインストールを開始します。

まずはプロジェクトを配置するディレクトリを作成します。

今回は「laravelprj」というディレクトリを作成します。下記実行します。

mkdir laravelprj

作成したディレクトリに移動します。

cd laravelprj

次に作成したディレクトリにlaradockをインストールします。GitHubからlaradockのファイルをコピーします。

git clone https://github.com/LaraDock/laradock.git

こちら実行するとCloning into 'laradock'...と数行のメッセージが表示されます。

完了するとlaravelprj内にlaradockディレクトリが作成されます。「ls」コマンドで確認してみると、「laradock」というディレクトリが作成されていることが確認できます。

ls
laradock

次にlaradockディレクトリに移動します。

cd laradock


Laradockの.envファイルを作成

次にLaradockの設定ファイル .env を作成します。

laradockディレクトリ内にある env-example ファイルをコピーし、 .env を作成します。

cp env-example .env

次に.envファイルを修正します。

ここからはエディタで作業します。ご利用のエディタでlaradockディレクトリ内にある .envファイルを開いてください。

スクリーンショット 2019-12-03 4.39.18

.env ファイル内より DATA_PATH_HOST=~/.laradock/data を検索します。

スクリーンショット 2019-12-03 4.40.32

こちらを下記に変更してください。

DATA_PATH_HOST=.laradock/data
デフォルトの ~/.laradock/data のままだと、複数プロジェクトと同じデータを参照したりと利用し難いため上記に変更します。


MySQLのバージョンの設定

次にMySQLの設定を行います。

デフォルトの状態だと最新版の開発版をダウンロードしてしまう可能性があるので、現時点での安定のバージョンを指定します。

.env ファイルより MYSQL_VERSION=latest と記載ある箇所を検索します。

スクリーンショット 2019-12-03 4.41.41

こちらのMYSQL_VERSIONを下記の様に修正します。

MYSQL_VERSION=5.7.28
※MySQLのバージョンについては、こちらよりご自身で確認いただき最新版をご指定ください。

また、こちらに記載されている下記箇所はMySQLのデータベース名、ユーザ名、パスワードになります。

MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret

データベース名等変更したい場合は、こちらの「default」や「secret」の箇所を変更してください。今回は変更せずにこのまま利用します。

Dockerを利用して開発環境を起動

それではDockerにて開発環境を起動します。Docker上で動く各サービスの単位をコンテナと呼びます。

今回は下記3つのコンテナを起動します。

- nginx
- MySQL
- phpMyAdmin

laradockディレクトリ内にて下記実行します。

docker-compose up -d nginx mysql phpmyadmin

すると、ターミナルで下記の様に表示されます。

Recreating laradock_docker-in-docker_1 ... done
Creating laradock_mysql_1 ... done
Creating laradock_phpmyadmin_1 ... done
Recreating laradock_workspace_1 ... done
Recreating laradock_php-fpm_1 ... done
Recreating laradock_nginx_1 ... done

起動が完了したら、http://localhost にアクセスします。

すると以下の様に404の画面が表示されます。

スクリーンショット 2019-11-25 6.29.33

現時点ではこの状態でOKです。

次にphpMyAdminも確認します。下記にアクセスします。

http://localhost:8080/

下記画面が表示されます。

スクリーンショット 2019-11-25 6.32.00

下記ログイン情報を記入し、「実行」をクリックするとログインできます。

サーバ:mysql
ユーザ名:default
パスワード:secret

スクリーンショット 2019-11-25 6.33.06


Laravelのインストール

それではLaravelをインストールします。まずはworkspaceコンテナに移動します。

laradockディレクトリ内にて下記実行します。

docker-compose exec --user=laradock workspace bash

すると、下記の様に表示されます。

laradock@3ab39a101111:/var/www$

こちらでコンテナに移動できたので、下記実行します。

composer create-project laravel/laravel src

これでlaravelprjディレクトリ内に「src」ディレクトリが作成されます。

スクリーンショット 2019-11-25 9.15.27

ここまで完了したら、workspaceコンテナを抜けます。下記コマンドを実行します。

exit


LaravelとMySQLの接続

次にLaravelとMySQLの接続を行います。先ほど作成されたsrcディレクトリに移動します。

cd ../src

エディタでsrcディレクトリ内のにある .env ファイルを開きます。(laradockディレクトリの.envファイルではないのでご注意ください。)

.envファイルを開いたら、MySQLの下記箇所を修正します。

スクリーンショット 2019-12-03 4.54.32

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

こちらを先ほど設定したデータベース名やユーザ名、パスワードを記載します。

今回は下記の様に修正します。

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

これでlaravelとMySQLの接続が完了です。


アプリケーションのPATHの変更

次にLaravelのアプリケーションのディレクトリを指定します。

laradockディレクトリに移動します。

cd ../laradock

laradockディレクトリ内の.envファイルに記載の APP_CODE_PATH_HOST=../ を検索します。

スクリーンショット 2019-12-03 4.55.36

今回は  laravelprj/src/ に指定するため下記のように変更します。

APP_CODE_PATH_HOST=../src/


コンテナ再起動

最後にnginxコンテナを再起動します。laradockディレクトリ内で下記実行します。

docker-compose up -d nginx

再起動完了したら、再び「http://localhost/」にアクセスしてください。

するとLaravelの初期画面が表示されます。

スクリーンショット 2019-11-25 10.19.35

以上でLaradockでLaravel開発環境構築方法は完了です。

お疲れ様でした。


おまけ:dockerの停止方法

作業を終了し、dockerを停止する方法を記載します。

まずlaradockディレクトリに移動します。

cd laradock

次に、下記コマンドを実行します。

docker-compose stop

すると、下記の様に表示され停止されます。

Stopping laradock_nginx_1 ... done
Stopping laradock_php-fpm_1 ... done
Stopping laradock_workspace_1 ... done
Stopping laradock_docker-in-docker_1 ... done
Stopping laradock_phpmyadmin_1 ... done
Stopping laradock_mysql_1 ... done

以上です。

読んでいただきありがとうございます。