実行環境
- 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/
次回以降
コンテナの起動
↓
ブラウザから確認