番外編では、Oracle マイグレーション 第 4 回 でご紹介した手順で PowerGres Plus に移行したサンプルアプリケーションをそのまま実行する手順をご紹介いたします。
ご紹介するサンプルアプリケーションは、Apache (Web サーバ) と PHP を使用した Web アプリケーションで、賃貸物件を検索するプログラムです。
賃貸料、建物の種別、沿線、駅からの徒歩時間、間取り、設備などの条件を指定して、情報を検索し、一覧表示する機能と、一覧表示から詳細な情報を表示する機能があります。
アプリケーションで使用する PowerGres Plus のデータベース環境を作成します。 作成手順は、「Oracle マイグレーション 第 2 回」、および、「Oracle マイグレーション 第 3 回」を参照し、サンプル一覧 の「schema.sql」、「view.sql」、および、「data.sql」でデータベース環境を構築してください。
Apache がインストールされていない場合は、Apache をインストールしてください。 今回の検証では、Apache 1.3.33 を使用しております。 同じバージョン、または、それ以降のバージョンを推奨します。
今回の検証では、PHP 5.1.1 を使用しております。 同じバージョン、または、それ以降のバージョンを推奨します。 PHP から PowerGres Plus と連携するためには、PHP を「–with-pgsql」オプションをつけて再構築しなければなりません。 そのために、PHP をもう一度 configure して、make し、インストールします。 configure を行うときには、「–with-pgsql」オプションを以下のように指定します。
–with-pgsql=/usr/local/pgsqlplus
実際の例を以下に記述します。 インストールは、root で行います。
$ ./configure --with-apxs=/home/postgres/migrate_from_orcle/soft/house/Apache/bin/apxs --with-config-file-path=/home/postgres/migrate_from_orcle/soft/house/php_conf --enable-mbstring --with-pgsql=/usr/local/pgsqlplus $ make # make install
サンプル一覧 から、「oracle_to_powergresplus.zip」をダウンロードし、任意のフォルダに解凍します。 以下は、/home/postgres/www/ というフォルダに配置する例です。
$ cd /home/postgres/www $ unzip oracle_to_powergresplus.zip
解凍後、Apache の httpd.conf の「DocumentRoot」パラメタを以下のように書き換えます。
DocumentRoot "/home/postgres/www"
httpd.conf を書き換えただけでは、その内容は実行環境に反映されません。 変更内容を実行環境に反映するために、Apache を再起動します。
$ ${ldelim}Apache のインストールフォルダ{rdelim}/bin/apachectl restart
以下のURLを入力して、実行します。
https://localhost/plus/
localhost は、お使いいただいている環境にあわせ、Apache をインストールしたサーバ名、または、IP アドレスを指定してください。
以下のように、検索画面が表示されます。
図 1: 検索画面
条件を指定せず、全件検索してみます。画面右下の この条件で検索 ボタンをクリックします。
以下のように全件検索されます。 今回のサンプルでは 10 件のデータを入力しているので、10 件だけ表示されます。 データを追加する場合は、「Oracle マイグレーション 第 3 回」の サンプル一覧 の「data.sql」を参照して、データを追加してください。
図 2: 検索結果一覧画面
最初のデータの 詳細表示 ボタンをクリックして、詳細情報を表示してみます。
図 3: 検索結果詳細画面
詳細画面の 間取り図、外観 をクリックすると別ウィンドウで、それぞれの内容が別ウィンドウで表示されます。 それぞれの画面で、このウィンドウを閉じる をクリックして画面を閉じます。
図 4: 間取り図
図 5: 外観図
検索詳細画面で、再度検索をしなおす場合は、検索画面へ ボタンをクリックします。 検索結果一覧画面に戻る場合は、検索結果へ ボタンをクリックします。
終了する場合は、ブラウザを終了します。