LoginSignup
1
0

More than 1 year has passed since last update.

Laravel HomesteadにphpMyAdminをインストールする手順

Posted at

Laravel HomesteadにphpMyAdminをインストールし、環境を作成したので、忘れないようにメモとして記録します。

環境

  • OS : windows11 pro
  • VirtualBox (5.2.44)
  • vagrant (2.2.5)
  • laravel(v9.3.7)
  • PHP(v8.1.8)
  • MySQL(v8.0)

phpMyAdminをローカル環境に設置

phpMyAdmin公式から自身の環境にあったものをインストール。

2022年9月21日現在の情報は以下
PHP 7.2 以降および MySQL/MariaDB 5.5 以降:phpMyAdmin5.2.0
PHP 5.5 から 7.4 および MySQL/MariaDB 5.5 以降:phpMyAdmin4.9.10

phpMyAdminをダウンロード後、解凍し、ローカル上のHomesteadファルダ内のcodeファルダの中に解凍したphpMyAdminファルダを格納する。

Homestead.yamlファイルにデータベース情報を記載

sitesに下記のようにphpmyadminの情報を追記

sites:
    - map: phpmyadmin.localhost → 任意の名前で可
      to: /home/vagrant/code/phpMyAdmin → phpMyAdminは任意の名前で可

sites: Homesteadのサーバーアプリで公開するサイト
  map: プロジェクトを表示させるためのブラウザに入力するURL
  to: 仮想環境上でのプロジェクトが表示されるパス

hostsに設定を追加する

C:\Windows\System32\drivers\etc\hostsを
管理者権限としてファイルを開き、下記の内容を追記。
192.168.10.10 phpmyadmin.localhost

仮想環境上にphpMyAdminを反映

CLIにて、ローカル上のプロジェクトの場所へ移動する。
1.vagrant upを実行し、vagrantを起動
2.Homestead.yamlのファイル設定変更を反映を下記のコマンドを実行
$ vagrant reload –provision
※ vagrant provision(設定反映) と vagrant reload(再起動)を同時に行うコマンド
3.Vagrant sshにて、仮想環境に接続する
4.Homestead.yamlのsites toで設定した場所に、phpMyAdminが入っていることを確認できる
to: /home/vagrant/code/
上記のcodeファルダ内に、設定したphpMyAdminがあればOK。

ブラウザを起動し、URLを入力

Homestead.yamlで下記の設定したものに、ポート(8000)を入力

sites:
    - map: phpmyadmin.localhost

image.png

Laravelの.envファイルで設定したDB_USERNAMEとDB_PASSWORDを入力し、ログインするとphpMyAdmin内に入ることができる。

仮想環境内のプロジェクトフォルダへ移動し、マイグレーション(php artisan migrate)を実行
テーブルが作成される。

image.png

DB作成の注意点

MySQL接続情報

Homesteadでは、初期ユーザーとして、下記のデータベースが作成されている。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

MySQLを変更

変更前に、phpMyAdmin内で、DB_USERNAMEは作成しておくこと。
作成していなければ、マイグレーション実行時、下記のようなエラーが発生する

SQLSTATE[HY000] [1045] Access denied for user '(ユーザ名)'@'localhost' (using password: YES)

変更後のデータを下記のように修正し、マイグレーションを行うとDBが更新される。

.env

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=Homestead →任意のDB名
DB_USERNAME=(任意のユーザ名)
DB_PASSWORD=(任意のパスワード)

Homestead.yaml

databases:
    - Homestead →任意のDB名

Homestead.yamlのdatabasesと.envのDB_DATABASEは、必ず同じDB名にする

全部ロールバックして、マイグレーションし直したいときのコマンド

$ php artisan migrate:refresh

参考サイト

1
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
1
0