WSL2のおかげかWindowsでもDockerが楽に動かせるようになったので。
とりあえずPHP環境を作って、そこにLaravelをインストールする感の流れを書いておきます。
動作環境
- Windows10
- VisualStudioCode
- Docker
WSL2のインストール
docker関連のファイルを準備
以下のようなファイルを準備。
記述内容は各自好きな感じに変えるといいと思います。
困ったらこちらでも読めば解決すると思います。
https://docs.docker.com/compose/
version: '3'
services:
laravel:
container_name: laravel
build:
context: .
dockerfile: ./docker/php/Dockerfile
volumes:
- ./laravel:/var/www/html/laravel
ports:
- "8080:80"
# - "443:443"
mysql:
container_name: mysql
build:
context: .
dockerfile: ./docker/mysql/Dockerfile
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_USER=laravel
- MYSQL_PASSWORD=password
- MYSQL_DATABASE=test
volumes:
- ./mysql:/var/lib/mysql
ports:
- 3306:3306
FROM php:8.0-apache
RUN apt-get update \
&& apt-get install -y git unzip \
&& docker-php-ext-install pdo_mysql \
&& a2enmod rewrite
FROM mysql:5.7
VSCodeからDockerの拡張機能を導入
ms-azuretools.vscode-docker
をインストール。
Dockerの起動
起動していないとエラーになるので忘れずに。
VSCode上でdocker-compose.ymlを使って動かす
拡張機能のDockerを入れておけば、docker-compose.yml
を右クリックした際にメニューがいくつか追加されてます。
右クリック > Compose Restart
でLaravel用とMySQL用のDockerのコンテナが2つ立ち上がります。
composerでLaravelのインストール
composerが入っている環境でコマンドを実行します。
(Dockerfileにcomposerを導入するように書き換えておくと楽かも)
以下のコマンドでlaravelがインストールされます。
バージョンは各自好きなものを指定すれば良いと思います。
cd /var/www/html
composer create-project "laravel/laravel=8.5.*" laravel
構築完了
http://localhost:8080/laravel/public
にアクセスすれば、LaravelのWelcomeページが出ます。
ここからいろいろ作り始める感じですね。
URLが気になる方はDocumentRootとか変えると良いかも。
Failed to open stream: Permission deniedと出た時
The stream or file "/var/www/html/laravel/storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied
よくある権限エラーです。
storageフォルダの権限を変えてしまいましょう。
chown -R www-data:www-data laravel/storage
# もしくは
chmod -R 777 laravel/storage