SourceForge.JP: Open Source Software

LoginCreate AccountAdd BookmarkHelp

OpenSource Downloads

(7,661) Cabos
(2,622) 7-Zip
(1,956) HandBrake Japanese Language Version
(1,671) CrystalDiskInfo
(1,621) Tera Term
(1,111) CrystalDiskMark
(827) ffdshow
(589) Tween
(586) ギコナビ
10  (542) Amateras
11  (495) VirtualDubMod-jp
12  (460) NNDD - ニコニコ動画DL&再生ソフト
13  (456) MergeDoc
14  (437) SMPlayer
15  (401) えこでこツール
More >>

最近ブックマークされた記事

phpPgAdmin:Web開発者向けのPostgresクライアントツール

2007年11月22日 12:40 1 2 3 4 5 6
  • スラッシュドットにタレコむ
  • あとで読む
 PostgreSQLデータベースを管理するためのオープンソースのクライアントとしては、psql、pgAdminphpPgAdminの3つがよく知られている。だがPostgresをチームで共同利用するなら、まさにそうした環境のために作られたphpPgAdminのことは知っておくべきだろう。phpPgAdminでは、利用者および管理者によるユーザアカウント、データベース、テーブル、シーケンス、関数、トリガーの作成が可能だ。

 phpPgAdminはPHPで書かれたWebベースアプリケーションであり、1つまたは複数のPostgreSQLデータベースを管理できる。しかも、PostgreSQLとは完全互換である。標準のデータ定義言語(DDL:Data Definition Language)およびデータ操作言語(DML:Data Manipulation Language)のすべてを実行できる。また、クラスタ全体のバックアップとリストア、Slonyによる複製クラスタの管理といった作業もすべて、わかりやすいインタフェース上で行える。

インストール

 phpPgAdminのインストールを行うには、Postgres用の適切なPHP接続モジュールが組み込まれたPHP対応のWebサーバが必要になる。

 phpPgAdminのインストールは難なく済ませることもできれば、相当な準備とプランニングが必要になることもある。それはインストールをどのように行うか ― ディストリビューションのパッケージマネージャを利用するのか、手作業で行うのか、はたまたインストール先をWindows環境にするのか ― 次第である。

 DebianのAPTのようなツールを利用したディストリビューションベースのインストールでは、システムのセキュリティを高めるために設定ファイルの書き換えが行われることが多い。たとえば、ローカルにインストールされているPostgresサーバのURLが「http://localhost/path_to_phppgadmin」でも「http://127.0.0.1/path_to_phppgadmin」でもない場合には、Postgresサーバへの接続をWebサーバにブロックさせることができる。その場合はApacheの設定ファイルを編集する必要があるが、これについては追って説明する。

 phpPgAdminをディストリビューションのパッケージリポジトリからではなく、同プロジェクトのWebサイトから入手すれば、最新かつフル機能の実装であることが保証される。ダウンロードしたファイルを展開したら、phpPgAdminのインストールを行う。具体的には、サーバのファイルパス(/var/log/www/phppgadmin)に直接コピーするか、あるいは業界の標準的なやり方に従って、スクリプトをサーバのファイルパス以外のディレクトリにコピーし、次のようなApacheディレクティブを用いるかのどちらかだ。

Alias /phppgadmin /usr/share/phppgadmin/
<DirectoryMatch /usr/share/phppgadmin/>
  Options +FollowSymLinks
  AllowOverride None
  order deny,allow
  deny from all
  allow from localhost
</DirectoryMatch>

 このディレクティブは、サーバが万一攻撃を受けた場合でも権限のない者によるphpPgAdminソースコードの編集を困難にするもので、結果としてセキュリティポリシーの強化につながる。

Robert-Bernier(2007年11月16日(金))
2008年01月22日 17:07 更新