ブログ運営用のサーバーとしてKUSANAGIを導入して以来、長らくデータベースを管理するのはARI Adminerに任せていました。
phpMyAdminをインストールするのがめんどくさかっただけなんですが、色々と不便だったのでいい加減導入しようと思い実践した時の備忘録です。
この記事のコンテンツ
使えるようにするまでの手順
phpMyAdminのダウンロードから設定までをコマンド付で解説します。
phpMyAdminのインストール
-
まずはカレントディレクトリの指定から。
phpMyAdminをインストールするディレクトリに移動しておきます。
# cd/home/kusanagi/【プロファイル名】/DocumentRoot
今回はDocumentRootディレクトリ直下に入れてみました。
-
次に必要なファイルのダウンロードを行います。
phpMyAdminの公式リポジトリからファイルをダウンロードしましょう。
# wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip
ここでは自サーバーのSQLバージョンに対応している最新版を導入しています。バージョンの確認は公式サイトよりご確認ください。
-
zipファイルがダウンロードできたら解凍します。
# unzip phpMyAdmin-4.0.10.20-all-languages.zip
ターミナルがずらーっと流れていくので、完了まで待ちましょう。
-
長ったらしい名前だと気持ち悪いので、すっきりリネームしておきます。
# mv phpMyAdmin-4.0.10.20-all-languages phpMyAdmin
ここまででファイルの配置は完了。
あとは自分以外が入れないようにアクセス制限をしてあげればひとまずOKです。
nginxの設定
アクセス制限のために修正する設定ファイルは次の2通り。
httpの場合
【プロファイル名】_http.conf
https(SSL)の場合
【プロファイル名】_ssl.conf
ファイルの置き場所は通常であれば/etc/nginx/conf.d/になっているはずです。
当ブログはSSL対応のため、ssl.confを修正します。
# vi /etc/nginx/conf.d/【プロファイル名】_ssl.conf
phpMyAdminを配置したパスによって適宜変更してください。
location /phpMyAdmin/ {
allow 【許可したいIPアドレス】;
deny all;
}
ご利用中のIPアドレスはこちらから確認できます。
書き加えたら、nginxの設定を再読み込みします。
# nginx -s reload
動作確認
ブラウザからアクセスしてちゃんと表示されるかの確認をしてみましょう。
http://【ホスト名】/phpMyAdmin
または
https://【ホスト名】/phpMyAdmin
phpMyAdminのログインページが表示されていればインストール成功です。
エラーの修正
こんなエラーが出ていたら、直しておきましょう。
非公開パスフレーズを設定
1つ目のエラーの修正方法です。
設定ファイルに、暗号化(blowfish_secret)用の非公開パスフレーズの設定を必要とするようになりました。
-
phpMyAdminをインストールしたディレクトリに移動します。
# cd /home/kusanagi/【プロファイル名】/DocumentRoot/phpMyAdmin
ご自分の環境に合わせて下さいね。
-
設定ファイルのサンプルをコピーします。
# cp config.sample.inc.php config.inc.php
-
viコマンドで修正します。
# vi config.inc.php
以下の部分を適当に書き換え。
/* * This is needed for cookie based authentication to encrypt password in * cookie. Needs to be 32 chars long. */ $cfg['blowfish_secret'] = '*******'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
32文字以上の文字列を入れないと、短すぎだから直せと怒られます。
mcryptの拡張
2つ目エラーの修正方法です。
mcrypt 拡張がありません。PHP の設定をチェックしてみてください。
-
yumコマンドでphp-mcryptをインストールします。
# yum install php-mcrypt # yum install libmcrypt
-
サーバーを再起動してみます。
phpMyAdmin 環境保管領域の設定
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。
phpMyAdminに内包されているcreate_tables.sqlを利用して、テーブルを作成してあげます。
-
phpMyAdminにrootでログインします。
KUSANAGI環境ではkusanagi initした時にrootのパスワードを設定してあるはずなので、それを思い出しながらやりましょう。
-
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
の「こちら」をクリック。
-
遷移した先のページのメッセージ
「phpmyadmin」データベースを作成 し、phpMyAdmin 環境保管領域をセットアップ。
の「作成」をクリック。
-
phpmyadminテーブルが作成されたらOKです。
-
続いてpmaというユーザーを作成します。
mysql> GRANT ALL ON phpmyadmin.* TO pma@localhost IDENTIFIED BY "パスワード";
-
config.inc.phpのコメントアウトされている部分を有効にして、pmaユーザーのパスワードを作成したものと合わせます。
ここまでの手順でメッセージが消えたかと思います。
$cfg[‘TempDir’] にアクセスできない
$cfg[‘TempDir’] (/path/to/tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。
普段は目にすることは少ないかもしれませんが、Git管理したりするとtmpディレクトリが存在しないためにこのエラーが出ることがあります。
tmpディレクトリを作成し、所有者とグループをhttpd.wwwに変更してあげれば解消されます。
# mkdir tmp
# chown https.www tmp
さいごに
これで少しはデータベースの管理がし易くなりました。
意外と簡単に出来たので、面倒臭がってないで早くやっておけば良かったです。