【VPSサーバ構築08】WordPressのログイン名とパスワードを確認する(phpMyAdmin)

   

今回はphpMyAdminを使ってWordPressのログインユーザ名を確認します。

理由はログインユーザ名を失念したためです。。。

調べたところ、ログインユーザ名、パスワードはデータベースに格納されているようです。
phpMyAdminはブラウザからデータベースの中身を見ることができるツールです。

phpMyAdminを導入する

※root権限が必要なコマンドはsudoコマンドで対応しています。

まずはサーバにphpMyAdminをインストールします。

TeraTermに接続して以下のコマンドを入力します。

$ sudo yum install –enablerepo=remi,remi-php71 phpMyAdmin

途中で「Is this ok[y/d/N]:」と表示されますので「y」を入力します。

最後に「Complete!」と表示されればOKです。

次に、phpMyAdminの設定を変更します。
バックアップファイルを作成してから設定ファイルを編集します。
$ cd /etc/httpd/conf.d/ ←ディレクトリ移動
$ sudo cp phpMyAdmin.conf phpMyAdmin.conf.old ←バックアップファイルを作成(sudoコマンドが必要。パスワードを求められます)
$ sudo vi phpMyAdmin.conf ←テキスト

赤枠の部分に以下の1行を追記します。

Require all granted

 

追記を終わたら以下のコマンドでシステムを再起動します。

$ sudo systemctl restart httpd

ブラウザから以下のURLを入力してphpmyadminに接続します。

http://toybox-blog.jp/phpmyadmin/

ログイン画面が出たらデータベースの【ユーザ名】、【パスワード】を入力して【実行】をクリックします。

 

ログインできたら画面左下の【wp_users】をクリックします。
画面右側が変わるのでそこに表示された[user_login]項目がログインユーザ名です。

   

phpMyAdminのセキュリティ対策

    

①第三者に推測されにくいURLに変更する

URLが「http://toybox-blog.jp/phpmyadmin」のままだと第三者が推測しやすく、アクセスしてみてログイン画面が出ると「(ログインまではできないとしても)サーバーにphpMyAdmnがインストールされている」ということが知られてしまいます。

phpMyAdminインストールの記事を書いている時点でこのサイトにphpMyAdminがインストールされていることは容易に推測できますが(笑)、ログイン画面に用意にアクセスできないような対策を行います。

方法は「ログイン画面のURLを推測されにくものにする」です。

まずはTeraTermからVPSに接続します。

接続できたら「phpMyAdmin.conf」ファイルを編集します。

$ cd /etc/httpd/conf.d/ ←ファイル格納ディレクトリに移動
$ sudo vi phpMyAdmin.conf ←テキストエディタで「phpMyAdmin.conf」ファイルを開く

テキストエディタが開いたら、
①画像の赤枠部分の1行を追加します。
追加する文
 → Alias /phpMyAdmin[任意の文字列] /usr/share/phpMyAdmin
②追加した文の上2行をコメントアウトします。

 

編集が完了したらテキストエディタを終了して、システムを再起動します。

$ sudo systemctl restart httpd

再起動が終わったら「http://toybox-blog.jp/phpmyadmin[任意の文字]」でログイン画面が出る確認します。
ログイン画面が出ればOKです。

   

②SSLで通信内容を暗号化する

サーバとの通信をSSL(暗号化)することで、パスワードが平文のまま漏洩する危険を防ぎます。

まずはApacheがSSLを使用できるように「mod_ssl」をインストールします。
以下のコマンドを入力します。

$ sudo yum install mod_ssl 

途中で質問があったら「y」を入力します。

Complete!の表示が出たらインストール完了です。

 

変更を有効にするため、httpdを再起動します。

$ sudo systemctl restart httpd   

ファイアウォールがhttps通信できるように許可を与えます。

$ sudo firewall-cmd –add-service=https –zone=public –permanent    

「success」と表示されたらファイアウォールサービスを再起動します。

$ sudo systemctl restart firewalld    

再起動が完了したら、URLを「https:」に変えてアクセスしてみます。
すると以下のようなエラー(ブラウザによって表示は変わります)が出ます。

これは認証局発行のSSL証明書を取得・設定していないことが原因ですが、「VPS」↔「phpMyAdmin」間の通信を暗号化するだけならこのままでも目的は達せられます。
赤枠部の【詳細】→【webページへ移動(非推奨)】とクリックすると、phpMyAdminのログイン画面に接続できます。

認証局発行のSSL証明書については次回取得・設定をしてウェブサイト自体を常時SSL化します。

 

「https:」でphpMyAdminに接続できたら、「http:」では接続できないようにします。「phpMyAdmin.conf」ファイルを編集します。

まずはファイル格納ディレクトリに移動します。
$ cd /etc/httpd/conf.d/

次にエディタで「phpMyAdmin.conf」ファイルを開きます。
$ sudo vi phpMyAdmin.conf

赤枠部に「SSLRequireSSL」の1文を追記して保存します。

 

保存できたら以下のコマンドでhttpdを再起動します。

$ sudo systemctl restart httpd

これで「http://~」ではアクセスできなくなりました。

今回はここまでです。

次回はサイトの常時SSL化を行います。