CentOS7の環境にLaravelをインストールしアクセスできるようになったんでした。
しかしまだ、DBの設定(前にインストールしたMySQL)をしていないので、
今回はそこの部分を設定していきます。
1.MySQLの初期設定
コマンドを実行して、MySQLの初期設定を行います。
下記のコマンドを実行します。
この時にパスワードを求められるので、自動生成されたものを控えておきます。
「cat /var/log/mysqld.log | grep 'password is generated'」で出てくる部分ですね。
mysql_secure_installation
ここで、使用するパスワードや、リモートログインの可否
現在の匿名ユーザーを消去するか、テストデータベースの初期化、
等をそれぞれ問われるので、設定していきましょう。
とりあえずパスワード設定以外はデフォルト設定でいいと思います。(適当)
何も入力しないでEnterを押すとデフォルト決定になるので
バシバシ先に進めてしまいましょう。
2.MySQL、DBテーブルの作成
MySQLをrootユーザーで実行しましょう。
パスワードは先ほど設定したもので出来ると思います。
mysql -u root -p
mysqlが実行出来たらLaravelで使用するデータベーステーブルを作成します。
今回は名前を合わせて作成しておこうかなと。
create database myapp;
mysqlの実行時はセミコロンが必要なので忘れないように…。
んで、成功したら一応確認しておきましょう。
show databases;
こんな感じで作成したデータベーステーブルがあれば
作成に成功しています。
データベースを使用するようコマンドを実行します。
use myapp;
3.データベースのユーザー作成
次にユーザーを作成します。
Laravelのデータベース設定で
「どのデータベーステーブルを」
「どのユーザーで」使用するかという設定をするのですが、
そのときに必要になるんですね。
rootだとちょっと問題ありそうなので、
ここで作成したユーザーに権限を与えて使うことにします。
下記のコマンドを実行します。
create user '「ユーザー名」'@'%' identified by '「パスワード」';
grant all on '「データベース名」'.* to '「ユーザー名」'@'%';
今回はデータベースを「myapp」で作成しています。
ユーザーは「myapp_user」、パスワードは任意で設定しておきましょう。
この場合は下記の様になりますね。
(パスワードは任意に設定してください!)
create user 'myapp_user'@'%' identified by '********';
grant all on 'myapp'.* to 'myapp_user'@'%';
とりあえずこれで最低限の設定はできたかな~と。
MySQLは終了してしまいましょう。
quit;
4.LaravelにDB設定を行う
Laravelで使用するデータベーステーブルとユーザーが用意できたので、
これをLaravelに設定していきましょう。
設定ファイルはプロジェクト直下の「.env」というファイルです。
vi .env
ここのDB_...という記述部分に設定を行っていきます。
iキー押して、編集していきます。
上の内容ではデータベース名を「my_app」
ユーザー名も「my_app」にしてしまっていますが、
このように記載すれば大丈夫です。
DB_CONNECTIONは今回MySQLを使用するので「mysql」と書きます。
DB_HOST、DB_PORTはデフォルトで大丈夫です。
外部につなぐ場合は別の値になるのだと思います。
ESCキーで編集モードを終了して、
「:wq」でviを終了します。
なんか、ターミナルによってviすごい使いにくいときないですか?
設定後に「.env」の設定をLaravelに適用する必要があるので
マイグレーションというのを行います。
php artisan migrate
5.Apache再起動して確認
データベースの設定が終わったら、
Apacheを再起動して動作確認しておきましょ。
設定がおかしければ、ここで変な表示が出てくると思います。
systemctl apache restart
ローカルホストにアクセスして、
Laravelのページが正しく表示されてくれれば大丈夫です。
これで、Laravel上でもデータベースが使用できる感じになるかなと。
結構設定することがたくさんあって大変ですね。
まだWebサービス開発のスタート地点まで来ていない気がします(汗)
少しずつ進めていきたい
0 件のコメント:
コメントを投稿