XAMPPの管理画面やphpMyAdminなど、ブラウザからアクセスできる画面には、パスワードによるアクセス制限をかけることをおすすめします。
XAMPPの管理画面とMySQLのrootユーザー、phpMyAdminについて、パスワードを設定する方法を紹介します。
現在のXAMPPのセキュリティ設定を確認する
XAMPP Control Panelの「Apache」の「Admin」をクリックしてXAMPPの管理画面を開き、「Security」を選択します。
「XAMPP Security」画面が開き、現在のセキュリティ設定状況が表示されます。
アクセス制限がかけられている場合は緑で「SECURE」、かけられていない場合は赤で「UNSECURE」と表示されます。
特に、上から3項目のセキュリティ対策が重要です。メッセージとその内容は次のようになります。
○セキュリティ対策前の状況
- These XAMPP pages are accessible by network for everyone
XAMPP管理画面にアクセス制限が設定されていません。IPアドレスを知っている外部ユーザーからアクセスされる可能性があります。 - The MySQL admin user root has NO password
MySQLのrootユーザーにパスワードが設定されていません。外部からMySQLデータベースを操作される可能性があります。 - PhpMyAdmin is free accessible by network
phpMyAdminはパスワードなしでアクセスできる状態です。
セキュリティ対策画面を開く
「UNSECURE」の3項目にセキュリティ対策をしていきましょう。そのため、この「XAMPP SECURITY」画面を下にスクロールして、セキュリティ対策ページへのリンク「http://localhost/security/xamppsecurity.php」をクリックします。
MySQLのrootユーザーとphpMyAdminのアクセス制限
開いたセキュリティ対策画面「Security console MySQL & XAMPP directory protection」の画面上部でMySQLのrootユーザーのパスワードを設定します。
- MySQL SuperUser: root
「root」という名前のユーザーは、MySQLインストール直後から存在するデータベース管理者です。ユーザー名の設定は不要です。 - New password:/Repeat the new password:
パスワードを2回入力します。 - PhpMyAdmin authentification: 「http」または「cookie」
phpMyAdminへのアクセス方法を設定します。どちらでも構いませんが、「cookie」を選択すると、デフォルトの設定では1440秒でログアウトされます。 - Safe plain password in text file?
チェックすると、パスワードを忘れたときに確認できるパスワードファイル(mysqlrootpasswd.txt)が作成されます。
「Password changing」ボタンをクリックすると、MySQLのrootユーザーにパスワードが設定されます。また、phpMyAdminにアクセスするときにユーザー名とパスワードの入力が必要になります。
「http」と「cookie」の違いを含め、phpMyAdminのログイン設定については、以下の記事も参考にしてください。
パスワード設定後にphpMyAdminが実行できなくなったとき
mysqlrootpasswd.txtの内容は次のようになります。MySQLのrootユーザーのパスワードを忘れてしまったときは、こちらから確認できます。
○mysqlrootpasswd.txtの内容
mysql user = root
mysql password = xxxxxxxxxx
MySQLのrootユーザーとphpMyAdminのセキュリティ対策は、これで完了です。
XAMPP管理画面へのアクセス制限を設定する
セキュリティ設定画面(Security console MySQL & XAMPP directory protection)で、下の方にある「XAMPP DIRECTORY PROTECTION (.htaccess)」以下に、パスワードなどを設定します。
- User:
ログインするときに使うユーザー名を入力 - Password:
設定するパスワードを入力 - Safe plain password in text file?
チェックすると、パスワードを忘れたときに確認できるパスワードファイル(xamppdirpasswd.txt) が作成される
設定完了後、「Make safe the XAMPP directory」ボタンをクリックすると、XAMPP管理画面のアクセス制限が完了します。また、xamppdirpasswd.txtには、次のようにパスワードが記録されます。
○xamppdirpasswd.txtの内容
XAMPP user = nisi
XAMPP password = xxxxxxxxxx
次回のXAMPP管理画面へのアクセス時は、設定したユーザー名とパスワードを使ってログインする必要があります。