○ phpMyAdminのインストール

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

・ファイルの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

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

○関連サイト

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

○参照ファイル

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

○インストール環境

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

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



○phpMyAdmin-3.4.4

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

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

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

# cd /home/www/myhome
[root@jupiter:/home/www/myhome]
# cp -a phpmyadmin phpmyadmin3432

# cd /usr/src
[root@jupiter:/usr/src]
# tar jxvf phpMyAdmin-3.4.4-all-languages.tar.bz2
# mv phpMyAdmin-3.4.4-all-languages phpmyadmin

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

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

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

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

# cd /usr/src
[root@jupiter:/usr/src]
# tar jxvf phpMyAdmin-3.4.4-all-languages.tar.bz2
# mv phpMyAdmin-3.4.4-all-languages phpmyadmin
# mv phpmyadmin /home/www/myhome/

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

# cd /home/www/myhome/phpmyadmin
[root@jupiter:/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
[root@jupiter:/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ラベルを修正

# cd ~
[root@jupiter:~]
# 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をリスタートします

[root@jupiter:~]
# 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]['userconfig'] = 'pma_userconfig';

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

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



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

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

[root@jupiter:~]
$ mkpasswd -l 30 -s 0 -C 0
pczrocuyda5naqbepnnuokk2qlzozq

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