0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

個人開発エンジニア応援 - 個人開発の成果や知見を共有しよう!-

ものぐさなのでDockerを使わずWiindows版XAMPPでlaravel開発する土台を作る(認証もあるよ)

Last updated at Posted at 2023-09-25

筆者はものぐさである。
よって、PHP開発ではDocker+WSL2ではなく専らWindows版XAMPPを使っているのだが、laravelではDocker+WSL2が推奨となっている。
フ〇ック。

という訳で筆者なりにXAMPPでlaravelのインストールと認証周りの設定を行う手順を記すことにした。

準備

まずあなたのwindowsなりmacなりにXAMPPを入れる。
XAMPPはここで最新版がダウンロード出来るのでダウンロードとインストールをする事。
もしあなたの会社のセキュリティポリシーが厳しくてインストーラーを使えないのであればシステム管理者にインストール許可を貰うのを忘れずに。

次にcomposerのインストールとパスを通す作業がある。
この手順はこちらのページを見ておけば良い

開始

コマンドプロンプトを立ち上げる。
そして

cd xamppをインストールしたフォルダ\htdocs 

と入力しhtdocsフォルダに移動する。
次に

composer create-project laravel/laravel プロジェクトのフォルダ名 "8.*"

と入力しエンターキーを押してインストールする。
ここではlaravelのバージョンを8.x系で決め打ちしているが、筆者環境では10.x系の動作が不安定だったので8.xにしている。

設定

インストールが終わったら

"C:\Program Files\nodejs\npm.cmd" install

で依存モジュールをインストールする。
その後

xamppをインストールしたフォルダ\htdocs\プロジェクトのフォルダ名

を開いてインストールしたフォルダに入る。
直下の.envファイルを開き、xamppデフォルトのデータベース設定を見る。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

DB_HOST、DB_PORTは通常そのままでよい。
もし何かの都合でポートを変えて運用しているPCならポートを書き換える。
DB_DATABASEはこのプロジェクト用にxampp同封のphpmyadminで新規作成してその名前に差し替える。
私はcrmというデータベースを作成したのでこのようになる。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crm
DB_USERNAME=root
DB_PASSWORD=

ここで、xamppからapacheとmysqlを起動し、ブラウザで次のURLを打ち込む。

http://127.0.0.1/プロジェクトのフォルダ名/public/

そうするとlaravel8のルート画面が出てくるのでまずはこれで良しとする。

認証の実装

認証に使うテーブルは最初にインストール済みのマイグレーションファイルから生成できる。

cd xamppをインストールしたフォルダ\htdocs\プロジェクトのフォルダ名
php artisan migrate

と入力すればマイグレーションファイルからテーブルが生成される。
そのまま

composer require laravel/breeze --dev
php artisan breeze:install
npm install
npm run dev
php artisan migrate

を実行する。
phpstorm等のIDEに入っているコマンドラインパネルで実行するとphp artisan breeze:install以降のコマンド入力は自動的に行ってくれる。便利。

検証

認証アカウントの登録をしたい場合はブラウザで
http://127.0.0.1/プロジェクトのフォルダ名/public/register
登録したアカウントでログインしたい場合はブラウザで
http://127.0.0.1/プロジェクトのフォルダ名/public/login
を参照すればOK
後は公式ドキュメントに沿って必要なコントローラーとアクションに認証をかければOK。

微調整

詳細はこちらの記事を参照。
xamppをインストールしたフォルダ\htdocs\プロジェクトのフォルダ名\resources/views/layouts/app.blade.php
の記述が間違っているので書き換える。

//コメントアウト
{{-- @vite(['resources/css/app.css', 'resources/js/app.js'])--}}

//代わりに次の2行追加
    <link rel="stylesheet" href="{{ mix('css/app.css') }}">
    <script src="{{ mix('js/app.js') }}" defer></script>

xamppをインストールしたフォルダ\htdocs\プロジェクトのフォルダ名\resources/views/layouts/guest.blade.php
の記述が間違っているので書き換える。

//コメントアウト
{{-- @vite(['resources/css/app.css', 'resources/js/app.js'])--}}

//2行追加
    <link rel="stylesheet" href="{{ mix('css/app.css') }}">
    <script src="{{ mix('js/app.js') }}" defer></script

次に以下のコマンドを実行

cd xamppをインストールしたフォルダ\htdocs\プロジェクトのフォルダ名
npm ci
npm run dev

編集後記

laravel10で同じ手順を踏むとnpm run devでこけてしまう事象が発生した。
同様の現象に遭遇した人の記事も散見されたが解決したパターンと解決しなかったパターンとであるので、おま環多発地帯の模様。
(識者の方調査求む)
laravel10は2023年現在ではちょっと様子見したほうがいいっぽい?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?