※この記事は「2021年4月15日」に更新しました。
前回は、phpMyAdmin の使い方について学びました。
今回は、phpMyAdmin のセキュリティの設定についてです。
本来なら、先にこちらの記事を紹介した方が良かったのですが、前後してしまいました。
なぜ、セキュリティ設定が必要なのか?
PHP講座を順番に見ていただいた方なら、XAMPP(ザンプ)経由で phpMyAdmin を使っているかと思います。
初期設定の場合、パスワードの認証もなく、ログインできてしまいます。
これはどういうことかというと、自宅のパソコンにアクセスできれば、XAMPP(ザンプ)を起動している間は誰でも phpMyAdmin を root アカウントで使えるということなのです。
さすがに、この状態のままだとまずいので、設定していきましょう。
MySQL の rootアカウントのパスワードを変更する
まずは、MySQL の rootアカウントのパスワードを変更します。
私の場合、Windows環境にインストールしたので、コマンドプロンプトを使っていきます。
まずは、コマンドが使える階層まで移動します。
cdコマンドを使っていきます。
おそらく、ほとんどの方が cドライブの直下に xamppフォルダがあるかと思います。
以下を入力して移動します。
cd C:\xampp\mysql\bin
その後、mysqladminコマンドを使います。
以下のように入力します。
mysqladmin password 新しいパスワード(半角英数字) -u root -p
すると、現在のパスワードの入力が求められるので、何も入力せず Enterキー を押しましょう。
これで MySQL の rootアカウント のパスワードが変更されました。
ちなみに環境変数(Path)を設定すれば、最初の移動なしでも mysqladminコマンドが使えます。
phpMyAdmin の設定を変更する
このまま、phpMyAdmin を起動すると、エラーでアクセスできません。
なぜなら、初期設定だと設定ファイルに記述されたユーザー名とパスワードでアクセスしようとするからです。
設定ファイルを変更していきましょう。
設定ファイルの場所は、xamppフォルダの中の phpMyAdminフォルダの中にあります。
config.inc.php というファイルです。
エディタで開きましょう。
18行目あたりに設定する項目があります。
$cfg['Servers'][$i]['auth_type'] = 'config';
config の部分を cookie に変更しましょう。
これで、phpMyAdmin へアクセスするとパスワード入力が求められる画面に遷移するようになります。
ついでに、以下の部分。
$cfg['Servers'][$i]['user'] = 'root';
この root も削除しても良いです。
最後に
いかがでしょうか。
ローカル環境で phpMyAdmin を使う場合、最低限やっておきたいセキュリティ設定を紹介しました。
次回は、PDOを利用したデータベース接続についてです。
コツコツとやっていきましょう。