PostgreSQL はフリーで使える優秀なデータベースマネージャで、データベースの構築と検索、管理などの機能を備えている。 PostgreSQL をコントロールするインターフェースは色々あるが、特に Apahe との連携を行うための PHP が便利だ。 PHP は元々 Apache にスクリプト言語を処理する機能を追加するモジュールなのだが、これにデータベースサーバとの交信機能も付属している。 この機能を利用すれば、データベースアクセス可能な Web サイトを構築できるというわけだ。
PostgreSQL の詳細については、PostgreSQL mailing list in Japan を参照するとよい。 現在の最新バージョンは 6.5.1 である。
PostgreSQL のインストールについては上記ページで丁寧に説明してあるのだが、 ここでは FreeBSD に特化したインストール手順を示すことにする。
詳細は install procedure of PostgreSQL 6.4 にも載っているので読んでおいてほしい。 FreeBSD でインストールした場合の手順を挙げておく。
setenv POSTGRES_HOME /usr/local/pgsql setenv PGLIB $POSTGRES_HOME/lib setenv PGDATA $POSTGRES_HOME/data setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"$PGLIB" setenv MANPATH "$MANPATH":$POSTGRES_HOME/man
# mkdir /usr/local/pgsql # chown postgres.postgres /usr/local/pgsql
# chown -R postgres.postgres postgres-6.5.1
# su postgres
% cd postgres-6.5.1/src % ./configure % gmake all
% gmake install % gmake install-man
% initdb
% exit # cd /usr/local/etc/rc.d # vi postmaster.sh内容はこう。
#!/bin/sh export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export PGDATA=$POSTGRES_HOME/data export LD_LIBRARY_PATH=$PGLIB postmaster=/usr/local/pgsql/bin/postmaster if [ -f $postmaster ]; then su postgres -c "$postmaster -S -i" echo -n ' postmaster' fi
PHP のオフィシャルページは www.php.net で、プログラムのソースはこのサイトで入手することができる。 一方、PHP の日本語化バージョンも存在する。 サポートページは PHP Internationalization だ。
インストール手順は以下の通りだが、実行する前に Apache のインストール/インストール指針 だけ読んでおいてほしい。 以下では、同じポリシーに従ってインストールすることを前提にいしている。
# setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
# tar zxf apache_1.3.9.tar.gz # cd apache_1.3.9 # vi src/include/httpd.h
# ./configure --prefix=/usr/local/apache-1.3.9p
# cd .. # tar zxf php-3.0.12.tar.gz # cd php-3.0.12 # ./configure --with-pgsql --with-apache=../apache_1.3.9 --enable-track-vars
# make # make install
# cd ../apache-1.3.9 # ./configure --prefix=/usr/local/apache-1.3.9p --activate-module=src/modules/php3/libphp3.a
# make # make install
# cd ../php-3.0.12 # cp php3.ini-dist /usr/local/lib/php3.ini
あとは、通常のインストール手順 6 から同じようにやればよい。 ディレクトリの名前が異なるから、きちんと読み替えて実行すること。
それからもう一点、httpd.conf にも変更を加える必要がある。 .php3 という拡張子とタイプを結び付ける設定と、DirectoryIndex として index.php3 を追加することだ。
#AddType application/x-httpd-php3 .php3 #AddType application/x-httpd-php3-source .phps ↓ AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phps DirectoryIndex index.html ↓ DirectoryIndex index.html index.php3
これをやっておかないと、せっかくの PHP スクリプトを解釈してくれない。