ネットワークサーバの構築のページに戻る

Apache-PHPサーバの構築

ウェブページからPostgreSQLをアクセスするために、 PHPのモジュールを追加した Apache サーバを構築する方法を説明します。
PHPはデータベースアクセス用のスクリプト言語です。 ホームページからデータベースにアクセスするために、 この言語で書かれたスクリプトをCGIとして実行することもできますが、 ApacheにPHPのモジュールを追加すると、CGIを使わずして、 JavaScriptのようにページの中にPHPのスクリプトを埋め込んで実行することができます。 ただし、JavaScriptはクライアント側で実行しますが、PHPはサーバ側で 実行するので、SSIのように動作します。

シェル上で動くPHPのインタープリターの導入はこちら



ソースアーカイブ名

インストール

PHPモジュールを追加したApacheのインストール

上の二つのパッケージがあるディレクトリで、以下のコマンドを実行します。 ただしPostgreSQLをデフォルトの/usr/local/pgsql以外にインストールした 場合は、以下の--with-pgsql=の部分を変更してください。
% 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
以上で、PHPモジュールを含むapacheがインストールされます。

/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 .phps
下の行の設定はデバッグ時に、役立つ情報を見るためのものです。 以上の設定を行った後に、サーバをスタートします

PostgreSQLの設定

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を含むページの例

「サーバの構築」のページへ戻る ホームへ戻る