line-01
line_glay
 welcome!   page:page:no03/resbbs/resbbs.php
  odic01   phpMyAdmin
  odmichi04   2017年 09月 10日(Sun) 11:24:16 AM 
 home:topへ   server library:top へ
top
line_glay

phpMyAdmin

      1. MySQL
      2. phpMyAdmin
        1. phpMyAdminのインストールと設定
        2. ソースからのインストールの前に
        3. 補足 require_once( )関数
        4. 補記
      3. WindowsとMySQL

phpMyAdminのインストールと設定

  phpMyAdminは、MySQLデータベースサーバをクライアントのブラウザから操作、管理できるWebアプリケーションです。 使用感からいえることは、すべての操作が可能といえます。 phpMyAdminのスクリプトファイルはPHPで記述されています。ソースは以下のサイトから取得できます。

The phpMyAdmin project

  この時点、2003.12.02日の最新versionは「phpMyAdmin-2.5.4-php.tar.gz」でした。このバージョンをインストールします。

puttysettei


ソースからのインストールの前に

  phpMyAdminは、データベースごとに、あるいはユーザごとにインストールすることができます。 このことはまた、バーチャルドメインごとにもインストールできるということを意味します。 今回設定するデフォルトルートは「/home/tako/public_html」 です。 クライアントのブラウザからphpMyAdminを利用し、MySQLデータベースサーバに接続する場合、phpMyAdminをインストールしたままでは、 接続情報が平文(ひらぶん)でネットワーク上を流れます。このため何らかのアクセス制限をとることが、求められるでしょう。 ここではApacheのBasic認証を用います。では、ソースの展開から始めます。

$ cd tako
$ tar zxvf phpMyAdmin-2.5.4-php.tar.gz
$ cp phpMyAdmin-2.5.4 /home/tako/public_html/phpMyAdmin
$ cd /home/tako/public_html/phpMyAdmin

  ここで「phpMyAdmin」ディレクトリ内の「config.inc.php」ファイルを編集します。

$ vi config.inc.php

$cfg['PmaAbsoluteUri'] = 'http://ss.tako.ne.jp/xxxx/phpMyAdmin/';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['user'] = 'tako';
$cfg['Servers'][$i]['only_db'] = 'takoの接続password';

  この設定だけで、まずは接続できるはずです。もちろん、MySQLデータベースサーバに tako がデータベースを持ち、 接続が許可されていなければなりません。
  ここの例の接続URLは、

http://www.xxxx.net/~tako/phpMyAdmin/

  となり、初期ページが表示されることになります。しかし、この段階では誰でもがこのページにアクセスでき、 tako のデータベースを扱える状態です。
  ApacheのBasic認証に移ります。
  まず tako が自身でアクセス制限を行うことができるには「/etc/httpd/conf/httpd.conf」で、

< Directory /home/tako >
  AllowOverride Limit Options
< /Directory>

  となっていなければなりません。これで「.htaccess」を tako は使用できます。「.htaccess」内容を見てみます。

$ cd ~tako/public_html/phpMyAdmin
$ vi .htaccess

AuthType Basic
AuthUserFile /home/tako/.htpasswdmysql
AuthGroupFile /dev/null
AuthName "Input your password mysql"
  <Limit GET>
    require valid-user
  </Limit>

  アクセスするためのパスワードを作成します。

$ htpasswd -c /home/tako/.htpasswdmysql tako
New password:
Re-type new password:
Adding password for user tako

  パスワードが作成されました。これで接続の際にアカウントとパスワードを求められるようになりました。
  phpMyAdminが持つアクセス制限が別にありますが、これは割愛します。また、ApacheのBasic認証については、 以下のサイト内ページも参照下さい。

Apacheによるアクセス制限


補足 require_once( )関数

  上記でひとまずOKでしょうが、まだ「config.inc.php」ファイルにMySQLへの接続パスワードが、平文で記述されたままです。 これを何とかしてみたいと思います。まず新規に「phpmyadmin.inc」ファイルを次のように用意します。

$ cd ~tako
$ vi phpmyadmin.inc

<?php
define( "ADMIN_ID", "tako" );
define( "ADMIN_PW", "xxxxxxxx" );
?>

  PHPのdefine()関数で、ユーザ名とパスワードを定数化しました。
  このファイルを「config.inc.php」で読み込みます。「config.inc.php」のファイルの先頭に以下の一行を追記します。

$ cd /home/tako/public_html/phpMyAdmin
$ vi config.inc.php

< ?php
  require_once( "/home/tako/phpmyadmin.inc" );
-------- 以下略 ----------------

  このようにしてPHPのrequire_once()関数で「/home/tako/phpmyadmin.inc」を読み込んでおきます。 さらに「config.inc.php」を修正します。

$ cd /home/tako/public_html/phpMyAdmin
$ vi config.inc.php

$cfg['Servers'][$i]['user'] = ADMIN_ID;
$cfg['Servers'][$i]['only_db'] = ADMIN_PW;

  これで「config.inc.php」ファイルに平文で記述されるという自体は回避できました。SSLを使用しないと、 これも気休めかも知れませんが。
  最期に「.htaccess」ファイルと「phpmyadmin.inc」ファイルを「.htaccess」を使って公開しないように、以下を追記しておきます。

$ cd ~tako
$ vi .htaccess

<Files ~ "^\.ht">
  order allow,deny
  deny from all
</Files>

<Files "*.inc">
  order allow,deny
  deny from all
</Files>

  以上ですが、ここまでの設定では、送受信されるデータは暗号化されていません。暗号化するためにSSLを使用しますが、 この設定はサイト内の OpenSSL を参照下さい。

補記

《 ■ 参照URL   ※サイト内参照ページ    引用、参照書籍 ■ 》
netfilter/iptables FAQ 日本語訳
指定時刻にジョブを実行する
※crontab
※rsync 同期をとるバックアップ
※TCP/IP(Transmission Control Protocol/Internet Protocol)
『実践セキュリティ』 著/白崎博生 刊/ASCII
『実践Linuxセキュリティ』 著/すずきひろのぶ 刊/インプレス
『Linuxセキュリティ入門』 著/清水正人 刊/ASCII
『Linuxでパソコンをルータにする』 著/安井健次郎 刊/ディー アート
『Linux magazine Linuxで作る光速ルータ』 2003年4月号 刊/ASCII
『Linux WORLD IPネットワーク基礎講座』 2002年5月号 刊/ASCII
『ステップ式サーバ構築入門 はじめてのファイアウォール』 著/内田法道 刊/技術評論社

このページの作成にあたり、上記に掲げたURLや書籍を参考にしました。謝意を表します。具体的な引用については明記しました。 内容の間違いや、誤字は筆者の責任であり、関係する参照先の責任ではありません。

  topへ   home:topへ   server library:topへ   PHP PostgreSQL MySQL サンプルスクリプト

Copyright (C) 2001-2025 大阪演劇情報センター all rights reserved.
編集:未知座小劇場   編集責任:闇 黒光
第2版:2001年06月01日 最終更新:2017年09月10日(Sun) 11:24:16 AM