ウェブページからPostgreSQLをアクセスするために、 PHPのモジュールを追加した Apache サーバを構築する方法を説明します。
PHPはデータベースアクセス用のスクリプト言語です。 ホームページからデータベースにアクセスするために、 この言語で書かれたスクリプトをCGIとして実行することもできますが、 ApacheにPHPのモジュールを追加すると、CGIを使わずして、 JavaScriptのようにページの中にPHPのスクリプトを埋め込んで実行することができます。 ただし、JavaScriptはクライアント側で実行しますが、PHPはサーバ側で 実行するので、SSIのように動作します。
ソースアーカイブ名
- apache_1.3.12.tar.gz (httpサーバ)
- php-3.0.15-i18n-ja.tar.gz (国際化対応(日本語対応)のパッケージ)
(これを書いている時点でphpの最新バージョンは 4.0.2 ですが、 これはShift JISは扱えないようです。EUCは使えるようですが未確認です)導入環境
- FreeBSD 3.5.1-RELEASE
- PostgreSQLがインストール済みである必要があります
インストール
PHPモジュールを追加したApacheのインストール
上の二つのパッケージがあるディレクトリで、以下のコマンドを実行します。 ただしPostgreSQLをデフォルトの/usr/local/pgsql以外にインストールした 場合は、以下の--with-pgsql=の部分を変更してください。以上で、PHPモジュールを含むapacheがインストールされます。% tar zxvf php-3.0.15-i18n-ja.tar.gz % tar apache_1.3.12.tar.gz % cd apache_1.3.12 % ./configure % cd ../php-3.0.15-i18n-ja % ./configure --with-pgsql=/usr/local/pgsql --with-apache=../apache_1.3.12 -enable-i18n --enable-mbregex --enable-track-vars % make % su % make install % cd ../apache_1.3.12 % ./configure --activate-module=src/modules/php3/libphp3.a % make % su # make install
/usr/local/etc/rc.d/apache.shというファイルを作り、そこに以下の内容を記述します/usr/local/apache/bin/apachectl startサーバのセットアップ
まず、conf/srm.confに以下の行を追加します。下の行の設定はデバッグ時に、役立つ情報を見るためのものです。 以上の設定を行った後に、サーバをスタートしますAddType application/x-httpd-php3 .phtml .php3 AddType application/x-httpd-php3-source .phpsPostgreSQLの設定
ApacheでPHPの実行する場合、通常nobodyというアカウントでプロセスが動きますので、PostgreSQLにnobodyというユーザを追加しておかなければなりません。これにはPostgreSQLの管理ユーザ(postgresなど)で以下のコマンドを実行します。
% createuser nobodyさらにnobodyが使うテーブルに関しては、以下のようにしてアクセス権限を出しておく必要があります。(nobody自身が作ったテーブルについては必要ありません。)# psql platform
platform=# grant all on price_table to nobody;
CHANGE
platform=# \q後はPHPのスクリプトを含むページをテストしてください
PHPを含むページの例
「サーバの構築」のページへ戻る ホームへ戻る