○ phpMyAdminのインストール

*WebブラウザからMySQLを管理します
*phpMyAdmin-3.3.5をインストールし、設定します
*httpd・php・mysqlが先に起動している必要があります
*PHP 5.2.0 以上、MySQL 5.0 以上が必要です

**以降はコメントです
*ファイルの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*説明文 (英文) を読みましょう
*Enterキーを省略します

*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:phpMyAdmin-3.3.5-all-languages.tar.bz2 (http://www.phpmyadmin.net/)

○参照ファイル

最初の設定 (Xen)
mysqlのインストール
imap/mcryptのインストール
httpd/phpのインストール

○インストール環境

:OS CentOS 5.5
:selinux disabled or permissive
:インストール先  /home/www/myhome/
:作業 /usr/src
:ユーザー rootで実行

*メンテナンスの場合は一般ユーザから行います



○phpMyAdmin-3.3.5

○ファイルの展開・上書きコピー

*既にphpmyadminが存在する場合です
*適当なディレクトリでソースを展開します
*既存のphpmyadminへ上書きコピーします
*ディレクトリ名は、自分の環境に読みかえてください

*バックアップをとります

# cd /home/www/myhome
# cp -a phpmyadmin phpmyadmin334

# cd /usr/src
# tar jxvf phpMyAdmin-3.3.5-all-languages.tar.bz2
# mv phpMyAdmin-3.3.5-all-languages phpmyadmin

*yesコマンドをパイプして"y"の入力を省略します

# yes | cp -a phpmyadmin/* /home/www/myhome/phpmyadmin/

○ファイルの展開・コピー

*適当なディレクトリでソースを展開します
*新規のphpmyadminへ名前を変えてコピーします
*ディレクトリ名は、自分の環境に読みかえてください

# cd /usr/src
# tar jxvf phpMyAdmin-3.3.5-all-languages.tar.bz2
# mv phpMyAdmin-3.3.5-all-languages phpmyadmin
# mv phpmyadmin /home/www/myhome/

○config.inc.phpファイルの修正

# cd /home/www/myhome/phpmyadmin
# cp libraries/config.default.php config.inc.php
# vi config.inc.php

:/home/www/myhome/phpmyadmin/config.inc.php

*'PmaAbsoluteUri'にはブラウザのアクセス先を入れます (例 sslを使用する場合)
*'blowfish_secret'には、cookie認証で使うパスフレーズを入れます (46文字以内)
*'auth_type'には認証モードを入れます
*'LogoutURL'には、画面の「ログアウト」でもどるURLを入れます

$cfg['PmaAbsoluteUri'] = 'https://ja.528p.com/phpmyadmin/';
$cfg['blowfish_secret'] = 'pczrocuyda5naqbepnnuokk2qlzozq';
$cfg['Server'][$i]['auth_type'] = 'cookie';
$cfg['Server'][$i]['LogoutURL'] = 'http://ja.528p.com/';

○ユーザ・グループ・パーミッションの変更

*ユーザ・グループは httpd.conf の設定に合わせます
*空白の含まれるディレクトリ名があるので注意します

# cd /home/www/myhome
# chown -R apache:apache phpmyadmin
# find phpmyadmin -type f -print0 | xargs -0 chmod g-w,o-rwx
# find phpmyadmin -type d -print0 | xargs -0 chmod g-rw,o-rw

○selinuxヘの対応 (selinuxが有効の場合)

*新規インストールファイルのselinuxラベルを修正

# restorecon -RFv /home/www/myhome

○アクセス制限をします

*ローカルからの接続のみ許可します
*SSLRequireSSL SSLでセキュアな接続をします (SSLの設定は省略)
*ブラウザからlibrariesへの直接の接続要求を拒否します

*mod_securityを全体で有効にしている場合、個別に制御できないことがあります
*mod_securityの設定で個別のIPアドレスからの接続を無視する設定をして下さい

:httpd-personal.conf (ファイル名は各自、httpdの設定を参照)

<IfModule alias_module>
    Alias /phpmyadmin "/home/www/myhome/phpmyadmin"
</IfModule>

<Directory "/home/www/myhome/phpmyadmin">
    Options Includes ExecCGI
    SSLRequireSSL
    Order deny,allow
        Deny from all
        Allow from 192.168.0
</Directory>

<Directory /home/www/myhome/phpmyadmin/libraries>
    Order deny,allow
        Deny from All
</Directory>

:httpdをリスタートします

# service httpd restart

○ログインします

URL https://ja.528p.com/phpmyadmin/

*MySQLのユーザ・パスワードを聞かれます
*root (mysqlの管理者) でログインします



○リンクテーブルを処理するための追加機能が無効になっています

*(例1)または(例2)の設定をします

○警告を無視します (例1)

*config.inc.phpを修正します

$cfg['PmaNoRelation_DisableWarning'] = true;

○phpmyadminという名前のデータベースを作ってリレーション機能を有効にします (例2)

*config.inc.phpを修正します (デフォルト値をそのまま使います)
*create_tables.sqlで作成されるphpmyadminデータベースに基づいています

$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]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';

*下記の設定は良く解かりません

$cfg['Servers'][$i]['tracking_version_auto_create'] = true;

*SQLクエリを発行してデータベースを作成します
*phpmyadminで用意されているsqlファイルを読み込みます
*古いphpmyadminデータベースを削除してから、実行したほうが良いかもしれない

# mysql -u root -p < /home/www/myhome/phpmyadmin/scripts/create_tables.sql
Enter password:← パスワード(mysql管理者)の入力



○参考 ランダムなパスフレーズを作成

*mkpasswdコマンドを使う(expectパッケージに含まれる)
*大文字、特殊文字を使わないオプションを指定しています

$ mkpasswd -l 30 -s 0 -C 0
pczrocuyda5naqbepnnuokk2qlzozq

○ Copyright(c) 528p.com All Rights Reserved.