Laravel開発環境構築
はじめに
Dockerを使ってPHPのフレームワークLaravelの環境構築の方法についてまとめました。
プログラミング初学者の方にもできるだけ理解できるように書きましたので参考にしてください。
gitがインストールされているmac環境での説明になります。
環境
- Mac OS X Mojave 10.14
- Docker for Mac
Dockerのインストール(Docker for Mac)
すでに「Docker for Mac」をインストールされている方はこのセッションはスキップしてください。
公式サイトから「Docker for Mac」をインストールします。
画面の該当の箇所を押下して「Docker for Mac」をダウンロードしてご自身のマシーンにインストールしてください。
終わったらインストールされているか以下のコマンドで確認します。バージョンが表示されれば問題ありません。
$ docker version
以下のような表示なっていれば成功です。
Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:21:31 2018 OS/Arch: darwin/amd64 Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:29:02 2018 OS/Arch: linux/amd64 Experimental: true
Laradockとは
LaradockとはDocker環境でLaravel環境を簡単に構築できるDockerイメージです。Laradockのプロジェクトは大きくなりSymfonyやWordpress環境までも構築出来るようになりました。
機能としては、NginxやApacheなどのwebサーバー、PHPの各バージョン、MysqlやPostgreSQL等の各データベースを自由に選択できます。今回はNginx、PHP-FPMが動く環境を作り、Laravelを立ち上げるまでを記載します。
PHP-FPMとは、FPM ( FastCGI Process Manager ) は PHP の FastCGI 実装のひとつで、 主に高負荷のサイトで有用な追加機能を用意しています。
Laradock用のディレクトリを作成
お好みのディレクトリにLaradock用ディレクトリ作成します。
今回は、 DockerLaravel
というディレクトリを作成しました。
また、作成したディレクトリに移動します。
お好みのディレクトリまで移動したら以下の操作を行ってください。
$ mkdir DockerLaravel $ cd DockerLaravel
Laradockのclone
Laradockをcloneします。
LaradockにはDockerfileやComposeのymlファイルが含まれています。
$ git clone https://github.com/LaraDock/laradock.git
そうすると laradock
なるディレクトリが DockerLaravel
ディレクトリ内に作成されます。
laradock
に移動します。
$ cd laradock
また、この時点でenvファイルもコピーしておきます。
$ cp env-example .env
さらに設定ファイルにアプリケーションのディレクトリのパスを指定します。
具体的には定数 APP_CODE_PATH_HOST
にアプリケーションのディレクトリのパスを指定します。
DockerLaravel
の中に laradock
と並列に myapp
というアプリケーションがあるとすると .env
ファイルは以下のようになります。
APP_CODE_PATH_HOST=../myapp/
laradockを立ち上げる
docker-composeコマンドを実行して、laradockを立ち上げます。
一番最初だけ --build
というオプションをつけてdockerイメージのビルドを行います。
$ docker-compose up -d --build workspace nginx mysql php-fpm
2回目からはイメージは作成されているので立ち上げるだけで大丈夫です。
$ docker-compose up -d workspace nginx mysql php-fpm
Dockerの基本的なコマンド
Dockerの状態を確認するためのコマンドです。
$ docker ps
bashでログインする
立ち上げたイメージにbashでログインします。
--user=
のあとにはユーザー名を指定します。
そのあとにbashでログインするイメージを指定します。
$ docker-compose exec --user=laradock workspace bash
また、以下のコマンドでdockerの環境から抜けられます。
$ exit
dockerの停止
以下のコマンドでdockerを停止することができます。
$ docker-compose stop
laravelのインストールを行う
ログインした直後に /var/www
に移動してください。
docker内の /var/www
が先述の DockerLaravel
ディレクトリと紐づけされています。
docker内の /var/www
で作成したディレクトリやファイルがMac上の DockerLaravel
ディレクトリに作成されます。
その逆もそうです。
その後、以下のコマンドでlaravelインストール
$ composer create-project laravel/laravel ProjectName "5.3.*"
バージョンを”5.3.*”を指定していますが、削れば最新バージョンになります。
※ ProjectName
部分はお好きなプロジェクト名に変更してください。
再起動
$ docker-compose stop $ docker-compose up -d workspace nginx mysql php-fpm
laravelのトップページが表示されていれば成功です。
まとめ
Laradockを使うと1つずつインストールよりも圧倒的に早くインストールできるので開発に集中することができます。