phpMyAdminのインストールとアップデートについて

Pocket

CentOS 6.7(64bit)を使っています.サーバーの管理は基本的にコンソールでやっているのですが,webminとphpMyAdminをインストールして使えるようにしています.

webminは指定IPアドレスだけログイン出来るようにし,なおかつポートをデフォルトの10000から変えています.

一方phpMyAdminはアップデートの度に再設定が必要になっています.なので今回はphpMyAdminのアップデートの時に忘れないように自分に向けての記録を残すことにします.

Ads

phpMyAdminとは

phpMyAdmin日本語ミラーサイトの翻訳によると「phpMyAdminは、Web経由でMySQLの管理が行える、PHPで記述されたフリーソフトウェアです。SQL文を記述することなく、MySQLのデータベースに対して、データベース、テーブル、フィールド、インデックス、権限の管理など、さまざまな操作が行えるほか、SQL文を直接発行することもできます。」とあります.

2015年9月10日現在のバージョンは4.4.14.1.

phpMyAdminのインストール

CentOSの場合は普通に「yum install phpMyAdmin」でインストールできるようです.私は<"http://nan-hen.com/?p=9421#epelremi">remiレポジトリをインストールしているので最新のphpMyAdminがインストールされています.

名前                : phpMyAdmin
アーキテクチャ      : noarch
バージョン          : 4.4.14.1
リリース            : 1.el6.remi
容量                : 22 M
リポジトリー        : installed
提供元リポジトリー  : remi
要約                : Web based MySQL browser written in php
URL                 : https://www.phpmyadmin.net/
ライセンス          : GPLv2+ and MIT
説明                : phpMyAdmin is a tool written in PHP intended to handle the
                    : administration of MySQL over the Web. Currently it can
                    : create and drop databases, create/drop/alter tables,
                    : delete/edit/add fields, execute any SQL statement, manage
                    : keys on fields, manage privileges,export data into various
                    : formats and is available in 50 languages

phpMyAdminフォルダをコピーして権限の変更

phpMyAdminはデフォルトで/usr/share/phpMyAdminに作られるので,これを例えば/var/www/phpMyAdminを作成してこっちにコピーして権限を変更しておきます.

cp -r  /usr/share/phpMyAdmin /var/www/phpMyAdmin 
chown -R nginx:nginx /var/www/phpMyAdmin
chown -R nginx:nginx /etc/phpMyAdmin
chmod 660 /etc/phpMyAdmin/config.inc.php
chown -R nginx:nginx /var/lib/php/session
chmod 777 /var/lib/php/session

nginxのconf設定

私の場合は/etc/nginx/conf.d/default.confに書いているのでこれを少し変更しました.

8080ポート用にこのように書きました.

    location /phpMyAdmin {
        root    /var/www;
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
        }
        if ($uri ~ \.(gif|jpg|png|ico|js|css)$) {
            access_log off;
        }
        allow xxx.xxx.xxx.xxx;
        allow 127.0.0.1;
        deny all;

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ /phpMyAdmin/.*\.php$ {
        #fastcgi_pass    127.0.0.1:9000;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME /var/www$fastcgi_script_name;
        include         fastcgi_params;
        #リバースプロキシ用に追加
        fastcgi_pass_header "X-Accel-Redirect";
        fastcgi_pass_header "X-Accel-Buffering";
        fastcgi_pass_header "X-Accel-Charset";
        fastcgi_pass_header "X-Accel-Expires";
        fastcgi_pass_header "X-Accel-Limit-Rate";
                   }
        }

phpMyAdminの警告

この場合はphpMyAdmin/index.phpでログイン画面が出るはずです.指定したIP以外からだと403エラーが表示されるはず.

phpMyAdmin_login1

phpMyAdminのログイン画面が出ればほぼ完了です.ユーザー名とパスワードを入力します.mysqlの時に作ったユーザー名とパスワードを入力します.

その際,「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。」というメッセージが出ることがあります.ちょっとビビりましたが,「MAMPのphpMyAdminバージョンアップ」(Qiita)を参考に解決することが出来ました.

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

phpMyAdminをインストールしてログインすると「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」というメッセージが出るようになりました.

これも先達の方が「config.inc.phpの作成とパスフレーズの設定」というそのものずばりのページを作ってらっしゃいます.

この通りにconfig.inc.phpを作成して保存するのですが,私の場合はconfig.inc.phpは「/etc/phpMyAdmin」に保存するようなのでこちらに保存しています.

以前作業した時にconfig.sample.inc.phpが見つからなかったので,公式サイトから最新版をwgetして解凍してconfig.sample.inc.phpを取り出し,/var/phpMyAdmin/config.php.incとして保存.

その際,

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

というところを

$cfg['blowfish_secret'] = 'abcde'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

のようにパスフレーズを入力して保存.再度phpMyAdminにログインして警告が出なければ成功です.

phpMyAdminのアップデート

yumで自動的にphpMyAdminがアップデートされるのですが,phpMyAdminは/usr/share/phpMyAdminのディレクトリのみ更新されているために/var/www/phpMyAdminはそのままです.

なので,/var/www/phpMyAdminのディレクトリをリネームし,/usr/share/phpMyAdminを/var/www/phpMyAdminへコピーします.

上に書いたような権限の変更をしたら完了.無事にphpMyAdminにログイン出来ればOKです.

【追記】画像が表示されない[20150914]

どのタイミングかわかりませんが,phpMyAdminへのログイン画面に画像が表示されなくなっていました.

phpMyAdmin_nographics1

上の画像のように画像が表示されていません.

そういえば以前もこんなことがあったねと思って自分の作業ファイルを確認していたらキャッシュの設定で同じような現象が起きていました.

その時は

    location ^~ /phpMyAdmin/ {
    allow xxx.xxx.xxx.xxx; # 自分のIPアドレス
    deny all;
        proxy_pass http://backend;
    }

と80ポート用に書くことで回避できていたので今回も同様にしたところ無事に画像が表示されました,

コメントを残す

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