LoginSignup
1
5

More than 5 years have passed since last update.

Windows10 で laradock を使用し、複数のlaravelプロジェクトのローカル実行環境を作る

Posted at

実行環境

  • Windows10
  • composer git インストール済み

想定

laravel で testproject を作り、ドメインを testproject.local で設定し、http://testproject.local:8080/ でブラウザから実行できるようにする

複数のプロジェクトを保存するディレクトリ

c:\project\

Webサーバ

nginx

DBサーバ

mysql

ドメインの設定

ブラウザ等で確認する際に、ドメインでローカルサーバにアクセスするようにする

メモ帳を管理者権限で実行し下記ファイルを開く

C:\Windows\System32\drivers\etc\hosts

下記を追加し保存

127.0.0.1 testproject.local

laravel でプロジェクトを作成

コマンドプロンプトを起動し下記を実行

cd c:\project\
composer create-project --prefer-dist laravel/laravel testproject

docker for windows (stable)をインストール

インストール時のバージョンは(varsion 17.06.2-ce-win27)でした

ダウンロード元
https://docs.docker.com/docker-for-windows/install/

Stable channel をダウンロード後実行し、手順に従ってインストール

laradock をインストール

laradock を ダウンロード後初期設定

コマンドプロンプトを起動し下記を実行

laradock を git で clone
cd c:\project\
git clone https://github.com/Laradock/laradock.git

(コマンドの例だがSourceTree等からでも問題なし)

実行に必要なファイルをコピー
cd c:\project\laradock
copy env-example .env

laradock の設定

dockerのコンテナの基本的な設定値は .env に記載してあるので変更可能
どうしても .env にない値を変更したい場合は /docker-compose.yml を直接編集

phpmyadmin はデフォルトポートが 8080 だったので
nginx の待ち受けポートを 8000 に変更(.env 内の NGINX_HOST_HTTP_PORT=8000)

application のパスは一階層がデフォルトなので変更なし

例)
c:\
    project/
        laradock/
        testproject/

と他のプロジェクトは laradock と同一階層に設定する

nginx の設定

コマンドプロンプトを起動し下記を実行

cd c:\project\laradock\nginx\sites
copy laravel.conf.example testproject.conf

testproject.conf の主な変更点

サーバ名の変更(hostsで設定したドメインに変更)
server_name testproject.local;
パスの変更(先ほど設定した laradock の application のパス は /var/www/ がベースになるので c:\project = /var/www/ なので c:\project/testproject/public は /var/www/testproject/public になる)
root /var/www/testproject/public;
エラーログファイルの変更(ファイルの置き場所は変えずファイル名のみ変更)
error_log /var/log/nginx/testproject_error.log;
アクセスログファイルの変更(ファイルの置き場所は変えずファイル名のみ変更)
access_log /var/log/nginx/testproject_access.log;

以上の作業をtestprojectと書いてある箇所を各々のプロジェクト名に変更しプロジェクト毎に行う

コンテナの起動

コマンドプロンプトを起動し下記を実行

cd c:\project\laradock
起動(nginx mysql phpmyadmin を起動する場合)
docker-compose up -d nginx mysql phpmyadmin
起動確認(プロセス)
docker-compose ps
webサーバのエラー確認(laradock_nginx_1はプロセスリストにあった名前)
docker logs -f laradock_nginx_1
ファイル変更等でワークスペースで作業を行う場合(artisanコマンド等の変更を行いたい場合)
docker-compose exec workspace bash
コンテナを停止
docker-compose stop

mysql の設定

phpmyadmin の閲覧
http://localhost:8080/
ログイン時の設定値
サーバ:mysql
ユーザ:default  (.env 内 PMA_USER にて設定)
パスワード:secret  (.env 内 PMA_PASSWORD にて設定)

mysql本体は 3306 にて動作(デフォルトだと)

mysql にデータベース testproject を追加

各プロジェクトで.env を設定する

コマンドプロンプトを起動し下記を実行

cd c:\project\laradock
docker-compose exec workspace bash
cd testproject/
cp .env.example .env
php artisan key:generate

ブラウザから確認

http://testproject.local:8080/

次回以降

コンテナの起動
↓
ブラウザから確認
1
5
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
1
5