久々にLaravelで開発することになったので、認識の確認がてらメモ
便利と噂のLaravel Sailでプロジェクト作成して、管理画面をLaravel-Admin、ユーザーログイン周りをLarabel Breezeを使って実装するまでのの手順をまとめる
ちなみにRedisとかよくわからんし、本番環境で使えないこともある(?)と思うし今回は使いません
開発環境はmac + Docker
目次
Laravelインストーラーを使ってlaravel11のプロジェクト作る
laravel/installerをv5.8以上に更新
composer global require laravel/installer
これでOK
laravel -V
↑でバージョンが4.0以上なのをチェック
Laravel Installer 5.8.0
エラー出てたら –with-all-dependencies オプションなどで解決すること
composer global require laravel/installer --with-all-dependencies
Laravel Sailのインストール
composer require laravel/sail --dev
こんだけ
Sailでプロジェクト作成
既存プロジェクトにSailを組み込むのもできるみたいだけど今回は公式で言ってるcurlを使って新規にプロジェクト作成する。
今回はプロジェクト名kirin-appとする
この名前のディレクトリが作成されるのでワークスペースディレクトリで実行するのがいい
curl -s "https://laravel.build/kirin-app" | bash
結構時間がかかるのでコーヒーを飲みながら待つ
毎回これに5分くらいかかる。最終的にパスワードを求められるのでmacのパスワードを入力。
ディレクトリに入って /vendor/bin/sail up すればコンテナが立ち上がるけどその前に設定を最低限見直しておく。
最低限phpMyAdminは入れておく必要ある
(必要に応じて)docker-compose.ymlの編集
PHPのヴァージョン変更
標準でPHP8になってるけど、現状PHP8を使う予定がないので7にしておくなど
# context: ./vendor/laravel/sail/runtimes/8.1
↓
# PHP 7.4
context: ./vendor/laravel/sail/runtimes/7.4
イメージ名もPHPのバージョンにあわせ変更します。
# image: sail-8.1/app
# 変更後
image: sail-7.4/app
MySQLを5.6に
同様にMySQLのバージョン変更はこう
# image: 'mysql/mysql-server:8.0' # ↓変更後 image: 'mysql/mysql-server:5.6'
phpMyAdminを入れておくこれは大事
あれば便利インデントに気をつけて以下をコピペ
phpmyadmin: image: phpmyadmin/phpmyadmin links: - mysql:mysql ports: - 8080:80 environment: MYSQL_USERNAME: '${DB_USERNAME}' MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' PMA_HOST: mysql networks: - sail
http://localhost:8080 にアクセスすればphpMyAdminが表示される。
ログイン情報は.envファイルを参照する(基本的にプロジェクト名がユーザーIDでパスワードはpassword)
Sailを起動
設定できたらSailをupしよう
cd kirin-app ./vendor/bin/sail up
初回upはイメージファイルを作るとこからなので、これまた時間かかる。コーヒーを飲みながら待とう
ymlファイルいじったせいでエラーが出てる場合は、composer updateかけてまたsail upすると大体解決すると思う
完了したら http://localhost/ にアクセスすればLaravelの初期画面が出るはず。
トラブルが無ければ、コマンド2発でここまで行く。
途中、2回待つ時間があるので暇つぶしの用意をして望むのがいいだろう。
sailコマンドをaliase登録
sailで作ったプロジェクトは./vendor/bin/sailコマンドをよく使うことになる、パスが長いのでエイリアス登録しておく(相対パスのエイリアスになるから複数プロジェクトあってもOK)
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
~.bash_profileに上記を追加して以下を実行
source ~/.bash_profile
これでsailと打てばコンテナ上でコマンドが実行されるようになった
migrateを実行して準備完了
sailのパスを通したら以下のコマンドを打てば初回migrateが完了する
sail artisan migrate
すごい便利
コンテナを自作する場合
Sail便利だけど環境が特殊すぎる時コンテナは1から作ったほうが楽かもそんな場合は過去記事を参照
まとめ
なんか長くなったけど、インストーラーやパスが通っている状態なら以下のコマンドを打つだけで最後まで行く
curl -s "https://laravel.build/kirin-app" | bash cd kirin-app sail up sail artisan migrate
途中待つ時間必要だけど、長くても30分位じゃないかな
ほとんどオートで完了するので、頻繁に開発環境を整える人とかはLaravelを検討したほうがいいと思う。
次はのプロジェクトにLaravel Breezeで認証系つけていく