KUSANAGIにphpMyAdminを導入する

WordPressのトラブル対応において、データベースを直接操作したい場合にphpMyAdminを使用することがあります。

KUSANAGIはphpMyAdminが同梱されていませんので、万一に備えて導入しておくことにしました。

phpMyAdminのインストール方法

大きく分けて二通りあるようです。

  • yumコマンドを使う
  • zipをダウンロード・解凍して配置

きちんと管理するには前者なのでしょうが、今回は後者の方法を選択しました。

導入手順

ダウンロードと配置

公式サイトから最新版をwgetでダウンロードしてunzipで解凍します。

https://www.phpmyadmin.net/translate/

ドキュメントルートに置きました。ただ、WordPressを複数設置するなら”/usr/share/”等に置いてエイリアスを設定するのが良いでしょう。

/home/kusanagi/【プロビジョニング名】/DocumentRoot/

basic認証

phpMyAdminのディレクトリにアクセス制限をかけます。予め認証情報を記述した”.htpasswd”を用意して、任意の場所へ配置しておいて下さい。

対象ファイル

  • /etc/nginx/conf.d/【プロビジョニング名】_http.conf
  • /etc/nginx/conf.d/【プロビジョニング名】_ssl.conf

記述例

location /【phpMyAdminのディレクトリ名】/ {
auth_basic “Restricted”;
auth_basic_user_file “/home/kusanagi/.htpasswd”;
}

再起動

$ systemctl restart nginx

管理画面へのログイン

ブラウザで作成したディレクトリへアクセスします。MySQLの認証情報は、ユーザー名が”root”で、パスワードはkusanagiインストール時に設定したものです。

ログインすると問題無くデータベースが閲覧出来るはずですが、下記警告メッセージが出ますので対応します。

①phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。代わりにデータベースの操作タブを使って設定することもできます。
②設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。
③$cfg[‘TempDir’] (./tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。
④You are using an incomplete translation, please help to make it better by contributing.

警告メッセージへの対応

phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。

“mysql -u root -p”でrootでログインし、下記を実行します。

source /home/kusanagi/【プロビジョニング名】/DocumentRoot/【phpMyAdminのディレクトリ名】/sql/create_tables.sql

”show databases”でphpmyadminテーブルの存在確認し、”quit”でログアウトします。

設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。

対象ファイル

/home/kusanagi/【プロビジョニング名】/DocumentRoot/【phpMyAdminのディレクトリ名】/

編集箇所

$cfg[‘blowfish_secret’] = ‘ここにランダムな長い英数記号文字列’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

$cfg[‘TempDir’] (./tmp/) にアクセスできません。

phpMyAdminのディレクトリ内に”tmp”ディレクトリを作成し、chownコマンドで所有権を”httpd:www”にします。

You are using an incomplete translation…

“翻訳が完全でないから協力してね”