さくらのVPSの設定 – phpMyAdminの導入


phpMyAdmin の導入方法を説明します。

環境

次の環境へインストールした。

  • PHP 5.3.3
  • MySQL 5.1.61

それぞれのバージョンは次のコマンドで調べられる。

:bash:
$ php -v
PHP 5.3.3 (cli) (built: May  7 2012 20:13:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
$ mysql --version
mysql  Ver 14.14 Distrib 5.1.61, for redhat-linux-gnu (x86_64) using readline 5.1

導入手順

大まかな流れ

phpMyAdmin の公式サイトからファイルをダウンロードして展開し、設定を行う。

ダウンロード

まずは phpMyAdmin の公式サイトからダウンロード用 URL を取得する。 ダウンロード用リンクの URL から ‘/download#!md5!’ 以下を削除すれば wget に使える URL になります。

ダウンロードし、MD5 checksum が正しいことを確認してから展開する。

:bash:
$ wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.5.2/phpMyAdmin-3.5.2-all-languages.tar.bz2
$ openssl md5 phpMyAdmin-3.5.1-all-languages.tar.bz2
MD5(phpMyAdmin-3.5.2-all-languages.tar.bz2)= 1e56ff858ed10dcd4affd4df1e92daff
$ tar -xjf phpMyAdmin-3.5.2-all-languages.tar.bz2
$ mv phpMyAdmin-3.5.2-all-languages phpMyAdmin

phpMyAdmin ディレクトリ内の index.php に自分だけがアクセスできるように Apache などの設定を変更し、phpMyAdmin にログインしてみる。 ログインすると画面の下部にエラーメッセージや警告が表示されるので、それを参考に設定を修正する。

ダウンロードしたディレクトリの中に config.sample.inc.php という設定ファイルのサンプルがあるので、それを config.inc.php にコピーしてから編集する。

以下に日本語ドキュメントがあります。
http://www.phpmyadmin.net/localized_docs/ja/Documentation.html

変更した設定

phpMyAdmin/config.inc.php

次の行について、

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

‘a8b7c6d’ のところを各自変更する。 blowfish_secret を設定しないと、phpMyAdmin にログインした時、次のメッセージが表示される。

設定ファイルが秘密のパスフレーズ(blowfish_secret)を必要とするようになりました

また、次のメッセージが表示されていると思う。

phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。

リンク先ページの下の方に以下の記述があるのでそれに従って設定する。

  • examples/create_tables.sql で必要なテーブルを作成します。
  • 作ったテーブルにアクセスできる pma ユーザを作成します。
  • 設定ファイル (config.inc.php) で高度な機能を有効にします。config.sample.inc.php にある設定例をコピーするといいでしょう。
  • 更新した設定ファイルを読み込むために phpMyAdmin にログインし直します。

具体的には、まず phpMyAdmin/examples ディレクトリへ移動して、次のコマンドを実行する。

$ mysql -u ユーザー名 -p
Enter password:

mysql> source create_tables.sql

mysql> GRANT ALL ON phpmyadmin.* TO pma@localhost IDENTIFIED BY "パスワード";

そして、phpMyAdmin/config.inc.php で次の設定を行い、phpMyAdmin にログインし直せば良い。 controlpass には上で作成した pma ユーザーのパスワードを指定する。

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'パスワード';

/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';

php の設定

mcrypt 拡張をインストールする。
※yum のリポジトリに epel を追加していない場合は、こちらの記事 にしたがって追加する。

:bash:
$ yum --enablerepo=epel install php-mcrypt
$ /etc/init.d/httpd restart

mcrypt がインストールされていないと、次のメッセージが表示される。

mcrypt 拡張がありません。PHP の設定をチェックしてみてください。

おまけ

phpMyAdmin のタイムアウト時間を変更するには、設定ファイルに次の一行を追加すれば良いです。

$cfg['LoginCookieValidity'] = 43200;

この場合、タイムアウト時間が 43200秒(12時間)になります。

カテゴリー: 記事 タグ: , , パーマリンク

さくらのVPSの設定 – phpMyAdminの導入 への1件のフィードバック

  1. ピンバック: 開発環境 | Annotary

コメントを残す