LoginSignup
0
0

More than 5 years have passed since last update.

Laravelの環境構築

Posted at

なぜ投稿するのか

初心者なりに、Laravelの環境構築についてまとめます。
よくスタックしてしまうので、自分の備忘録用に。
基本的には公式ドキュメントを確認しましょう。
https://laradock.io

 前提

  • Mac OS Mojave ver10.14.4
  • Docker for Mac インストール済
  • gitを利用していること

Laradockをプロジェクトのディレクトリにクローンする。

まずはディレクトリを作成する。今回のディレクトリの名前は「web_site」とする。ディレクトリ作成のコマンドはmkdirです。
mkdir web_site

そして、作成したディレクトリに移動。移動のコマンドはcdです。
cd web_site

そして、「web_site」直下にLaradockをクローンします。
git clone https://github.com/LaraDock/laradock.git

クローンできたら、「laradock」ディレクトリに移動する。
cd laradock

次に、env-example.envにコピーし名前を変更する。
cp env-example .env

公式ではここでdocker-compose up -d nginx mysql phpmyadmin redis workspaceしてコンテナを立ち上げるが、ここはグッとこらえてmysqlの設定を変更する。
「laradock」ディレクトリ内の.envファイルを編集する。(恐らく220行目)

# MYSQL_VERSION=latest 最新版
MYSQL_VERSION=5.7

コンテナを立ち上げる

設定が無事に完了したら、コンテナを立ち上げます。

docker-compose up -d nginx mysql phpmyadmin

念の為コンテナが立ち上がっているか確認する。

docker-compose ps

           Name                          Command               State                    Ports                  
---------------------------------------------------------------------------------------------------------------
laradock_docker-in-docker_1   dockerd-entrypoint.sh            Up      2375/tcp                                
laradock_mysql_1              docker-entrypoint.sh mysqld      Up      0.0.0.0:3306->3306/tcp, 33060/tcp       
laradock_nginx_1              /bin/bash /opt/startup.sh        Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
laradock_php-fpm_1            docker-php-entrypoint php-fpm    Up      9000/tcp                                
laradock_phpmyadmin_1         /run.sh supervisord -n -j  ...   Up      0.0.0.0:8080->80/tcp, 9000/tcp          
laradock_workspace_1          /sbin/my_init                    Up      0.0.0.0:2222->22/tcp  

たまにmysqlが立ち上がっていなかったり、バージョンが5.7じゃない時があるので、確認してみましょう。

docker-compose exec mysql mysql --version

もし5.7じゃなかったら下記URLを参考にしてください。私もこちらで解決しました。
https://qiita.com/don-bu-rakko/items/cd8f96cc9087abf601e3
改めてdocker-compose exec mysql mysql --versionを入力し、mysqlのバージョンを確認する。

docker-compose exec mysql mysql --version
mysql  Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using  EditLine wrapper

こうなっていれば問題ありません。
そしたらworkspace内に入って、プロジェクトを作成します。
rootで入ると怒られるので--user=laradockを指定します。

docker-compose exec --user=laradock workspace /bin/bash

laradock@58587972cc01:/var/www$ composer create-project laravel/laravel web

composer create-project laravel/laravel webは、composerでlaravelを作成しています。ファイル名は「web」にしていますが、任意の名前を入力してください。

「web」フォルダ内の.envファイルの編集

少しややこしいですが、先ほど編集したのは「laradock」フォルダの.envファイルです。要確認。

DB_HOST=mysql # 元は127.0.0.1
DB_DATABASE=default # 元はhomestead
DB_USERNAME=default # 元はhomestead 

次に、laradock内の.envファイルの8行目を変更します。

APP_CODE_PATH_HOST=../web/

そのあとdockerを再起動します。

docker-compose stop

docker-compose up -d nginx mysql phpmyadmin

これで無事に完了するはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0