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?

Laravel Valet でgit cloneしたアプリの開発環境を構築する方法

Last updated at Posted at 2025-02-02

設定方法

Laravel環境構築(参考記事)

手順

Valetのインストールの為に必要なHomebrewとcomporserの準備

# Valetのインストール
# Homebrewのインストール
brew update
brew install php
composer global require laravel/valet
valet install

補足 composerのインストールについて

composer -Vこのコマンドでインストールが確認出来ない場合、以下公式からインストールを行う

上記手順でvalet installまで出来たら、次に以下を実行する

git clone https://github.com/your-repo/your-laravel-app.git myapp
cd myapp
composer install
npm install

.env ファイルの設定

プロジェクトディレクトリに移動し、.env ファイルを作成・編集します。

cp .env.example .env

次に、アプリキーを生成します。

php artisan key:generate

Valet でプロジェクトを公開

プロジェクトディレクトリ(今回の例ではcloneしたmyappディレクトリ)に移動し、以下のコマンドを実行します。

valet link myapp

すると http://myapp.test でアクセスできるようになります。

☝️ここでワンポイント

image.png

valet linkを実施すると上記URLでのアクセスが後述のnpm run dev後可能になります。
npm run devの時に表示されるURLは.envのAPP_URLに記載のURLが表示されます(デフォルトはhttp://localhost :上記添付参照)。ここで表示されるURLと公開した http://myapp.test は表示が統一されませんが、開発環境では.envのAPP_URLの設定はデフォルトのままでも http://myapp.test で表示できます。
しかし、APP_URL は、url() ヘルパーや asset() ヘルパーなどが生成するURLの基盤として使用されます。

例えば、メールで送信するURLや、Laravelの設定でURLを明示的に使いたい場合に影響します。これを変更しておくことで、アプリケーションの中で生成されるURLが正しくなる場合があります。
■結論
Valetを使っている場合は、APP_URL を以下のように設定するのが一般的です:

APP_URL=http://myapp.test

これにより、url() や asset() のヘルパーが生成するURLが http://myapp.test を基に生成されるようになります。

データベースのセットアップ(MySQL, MariaDB など)

Valet には mysql もインストール可能ですが、必要に応じて自分で MySQL や MariaDB をインストールしてください。

brew install mysql
brew services start mysql

MySQL の初期設定を行い、Laravel の .env ファイルにデータベース設定を追加します。

MySQLの初期設定

まず、MySQLをインストールした後、MySQLの設定を行います。

MySQLのインストール(まだの場合)

もし、まだインストールしていなければ、Homebrewでインストールします。

brew install mysql

インストール後、MySQLサーバを起動します。

brew services start mysql

MySQLにログイン

MySQLのコマンドラインにアクセスするために、以下のコマンドを実行します。

mysql -u root

ここでは root ユーザーでログインしていますが、初期設定ではパスワードは設定されていない場合があります。もしパスワードが設定されていない場合はそのままアクセスできます。
■パスワードを設定している場合は以下を実行後、パスワードを入力

 mysql -u root -p

データベースの確認

SHOW DATABASES;

データベースの作成

Laravelで使用するデータベースを作成します。例えば、myapp という名前のデータベースを作成する場合は、次のようにコマンドを実行します。

CREATE DATABASE myapp;

ユーザーの作成(オプション)

もし特定のユーザーを作成して、そのユーザーにデータベースのアクセス権限を与えたい場合は、以下のようにします。

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

これにより、myuser というユーザーが myapp データベースに対してすべての権限を持つようになります。

Laravelの.envファイルにデータベース設定を追加

次に、Laravelの.envファイルにデータベース接続情報を追加します。

.envファイルの編集

プロジェクトのルートディレクトリにある .env ファイルをエディタで開きます。以下のように、データベース接続に関する設定を追加または編集します。

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=myuser
DB_PASSWORD=password

ここで、以下を自分の環境に合わせて変更します:

  • DB_DATABASE: 作成したデータベース名(例: myapp)
  • DB_USERNAME: 作成したユーザー名(例: myuser)
  • DB_PASSWORD: 作成したユーザーのパスワード(例: password)

設定例

例えば、データベース名が myapp、ユーザー名が myuser、パスワードが password の場合、.env ファイルは以下のようになります:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=myuser
DB_PASSWORD=password

.envのキャッシュをクリアする

.env ファイルを変更した後に特別な「更新コマンド」を叩く必要はありませんが、いくつかの確認やキャッシュをクリアする作業を行った方が良い場合があります。以下の手順を試すと確実です。

php artisan config:clear
php artisan cache:clear
  • php artisan config:clear: 設定キャッシュをクリア
  • php artisan cache:clear: 全体のキャッシュをクリア
    これにより、Laravelが最新の.envファイルを正しく読み込むようになります。

設定が正しいか確認

設定を保存したら、次にLaravelのマイグレーションを実行して、データベース接続が正しく動作しているか確認します。

php artisan migrate

マイグレーションが正常に完了すれば、データベース接続は成功しています。もしエラーが出た場合は、.envファイルの設定を再度確認してください。

MySQLの停止(オプション)

開発が終わったら、MySQLサービスを停止することもできます。例えば、Homebrewを使っている場合は以下のコマンドで停止できます。

brew services stop mysql

サーバー起動

npm run dev

動作確認

ブラウザで http://myapp.test にアクセスし、Laravel のウェルカムページが表示されれば成功です。

動作確認が終わった後にする事

php artisan migrate(まだ実行していなければ)

以下を実行して、テーブル情報を生成します。

php artisan migrate

さらに、テーブルの情報が用意されていれば以下を実行し、DBに情報を登録します。

php artisan db:seed

これで、テストデータが確認出来るようになります。

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?