【PHP】phpMyAdminの最速インストール方法はこれだ

「MySQLのDBの中身を簡単に確認したい」
「WordPressをインストールしたけど、DBの値を直接編集したい」
「phpMyAdminの一番簡単なインストール方法を知りたい」

どうも、タカフです。

Web系のシステム開発をしていると MySQLのDBの中身を確認・編集するのってマストな作業として日々発生しますよね。

そんな時に最も簡単にDBの中身を確認・編集するツールと言えば、はい、ご存知phpMyAdminですね。

インストールすると、基本的なSQLの実行や、スキーマの作成・変更等も出来る強力なツールですが、強力なツールが故に使い方やインストール方法は必要以上に気をつけて作業する必要があります

本日はそのphpMyAdminのインストール方法を記事にしたいと思います。

phpMyAdminの簡単・最速インストール方法

phpMyAdminを取得と展開

まずはphpMyAdminソースを取得しないと話は始まりません。下記サイトにアクセスしましょう。(phpMyAdminでググってもいいです)

https://www.phpmyadmin.net/

アクセスすると下記のようなページが表示されます。

赤枠のDownloadをクリックすればzipファイルをダウンロード出来て、解凍したものをサーバーにアップロードすればいいのですが、最速な方法はサーバー上でダウンロードして解凍する方法です。

サーバーにログインして、wgetでサクッと落として、unzipしちゃいましょう。

ターミナル
$ wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip
$ unzip phpMyAdmin-4.8.5-all-languages.zip
$ mv phpMyAdmin-4.8.5-all-languages [phpmyadminを設置したい場所]/mydb
$ rm phpMyAdmin-4.8.5-all-languages.zip

ダウンロードしたzipファイルは不要なのでrmコマンドで削除しちゃいましょう。

設定ファイルへの記述

phpMyAdminのソースを展開すると、ずらっとファイル一覧が並ぶ中で config.sample.inc.php というファイルがあります。これをコピーして、同じディレクトリにconfig.inc.php というファイル名で設置しましょう。そして config.inc.php を開いて以下の記述を変更します。

config.inc.php
$cfg['blowfish_secret'] = '[ここに32文字以上のランダム文字列]';

$cfg['Servers'][$i]['host'] = '[ここにMySQLのhostname]';

blowfish_secretに自分しかわからないランダム文字列を入力することでcookie認証のセキュリティを高めてくれます。

blowfish_secretは短すぎると怒られてしまいますので、長いランダム文字列にしましょう。

ただ、32文字以上のランダム文字列は意外と考えるの面倒なので、最速インストールするためにWordPressをインストールする時に使うあのSALTツールを利用します。下記URLにアクセスして、

https://api.wordpress.org/secret-key/1.1/salt/

AUTH_KEYとかの値をコピペしちゃいます。これだけで小難しい64文字のランダム文字列を設定出来ます。

phpMyAdminへのアクセス

インストールしたディレクトリにブラウザからアクセスしてみましょう。以下のような画面が表示されます。

MySQLのユーザー名とパスワードを入力して実行ボタンを押せばログイン出来ます。ログイン成功すると以下のような画面となります。

phpMyAdminで注意すべきこと

先程も書きましたが、phpMyAdminはその有名さ故に不正アクセスが多いです。

なのでそのセキュリティ対策が必須なツールと言えるのですが、実はwebサーバーにphpMyAdminをインストールしないことが一番良いです(笑)。

とは言えそんなことも言ってられない状況もあるでしょうから、phpMyAdminをインストールする際はhtaccessで以下のどちらか・もしくは両方の設定をしてセキュリティを高めましょう。

phpMyAdminにアクセスするIPアドレスを制限する

大抵の企業ならば固定IPアドレスだと思うので、その企業からのみアクセスできるようにhtaccessを記述します。phpMyAdminのインストールディレクトリに、 .htaccess というファイルを作成して以下の内容を記述します。

apacheのVersionに従ってどちらかを記述してください。

.htaccess
# apache2.2系以前の書き方
Order deny,allow
Deny from all
Allow from [your ip address]

# apache2.4系以降の書き方
Require all denied
Require ip [your ip address]
[your ip address] のところはあなたの外から見えるIPアドレスです。確認くんなどで確認出来ます。

phpMyAdminのディレクトリにBASIC認証を導入する

phpMyAdminはDBはBASIC認証を常時かけておいてもいいくらいと思うので、BASIC認証も設定しちゃいましょう。

.htaccess
AuthUserfile /[htpasswdファイルまでのフルパス]/.htpasswd
AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

htpasswdファイルの作成コマンドは、以下の通りです。
htpasswd -c -b /etc/httpd/conf/.htpasswd ユーザ名 パスワード

BASIC認証とIPアドレス制限を両方有効にする記述

上記の両方とも有効にしたい場合は以下のように記述します。ApacheのVersionにしたがってどちらかを記述してください。

.htaccess
# 2.2系以前のApache
AuthUserFile /[htpasswdファイルまでのフルパス]/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

Satisfy All

order deny,allow
deny from all
allow from [あなたのIPアドレス]

# 2.4系以降のApache
<RequireAll>
# BASIC認証
AuthUserFile /[htpasswdファイルまでのフルパス]/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
Require valid-user
<RequireAny>
# IPアドレス制限
Require all denied
Require ip [あなたのIPアドレス]
</RequireAny>
</RequireAll>

まとめ

何度も書きますが、phpMyAdminは強力なツールなのでセキュリティ対策は必須です。

使用上の注意をよく読み、用法・用量を守って正しくお使いください。

現場からは以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です