apache + postgresql + php + JDBC


apache + php + postgresql はlinuxではお手軽でかなりポピュラーというこ とで 更にJDBCでpostgresqlへの接続を試みてみました。
今回は Vine Linux2.1.5で実施しました。
使用ソフトは以下のものです。
apache apache_1.3.20.tar.gz
php3 php-3.0.18-i18n-ja-2.tar.gz
php4 php-4.0.5.tar.gz
postgresql postgresql-7.1.1.tar.gz
JDBC postgresql-7.1.1.tar.gz 付属のもの
JDK jdk1_2_2-linux-i386.tar.gz
ANT jakarta-ant-1.3-bin.tar.gz JAVA関係をmakeする際に必用だそうです


JAVAのインストール
こちらを参考にして下さい。


ANTのインストール
http://jakarta.apache.org/tomcat/よりbinaryの jakarta-ant-1.3-bin.tar.gz をダウンロードします。

/usr/localにコピーして展開します。
# tar xvfz jakarta-ant-1.3-bin.tar.gz

次に環境変数を設定します。antが動作しないとpostgresqlのJDBCの作成 で失敗します。

~/.bash_profile に以下の記述を参考に追加しておきます。

ANT_HOMEを追加記述しておきます。
ANT_HOME=/usr/local/jakarta-ant-1.3

PATHに$ANT_HOME/binを追加
(例) PATH=$PATH:$HOME/bin:$ANT_HOME/bin:

更にCLASSPATHにもANT関係を追加
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$ANT_HOME/lib/ant.jar:$ANT_HOME/lib/jaxp.jar:$ANT_HOME/lib/parser.jar:

保存したら有効にします。
# source .bash_profile



postgresqlのインストール

次にpostgresqlをインストールします。
/usr/local/srcにpostgresql-7.1.1.tar.gz をコピーしておき解凍します。
# tar xvfz /usr/local/srcにpostgresql-7.1.1.tar.gz

# cd /usr/local/src/postgresql-7.1.1

次にconfigureですが次のパラメーターで実行します。

# ./configure --enable-multibyte=EUC_JP --with-java --with-tcl

もしこのパラメーターでmake時にtcl関係でエラーがでたら以下のパラメー ターで実施してみて下さい。但しpgaccess(postgresqlのGUIフロントエンド) が使用できません。

# ./configure --enable-multibyte=EUC_JP --with-java

以下 gmake,gmake install します。
# gmake
# gmake install

JDBCに必用なpostgresql.jarは
/usr/local/pgsql/share/java に作成されます。
$JAVA_HOME/jre/lib/ext にコピーしておきます。


Apacheのインストール

apache_1.3.20.tar.gz を /usr/local/src にコピーしておきます。

展開します。
# tar xvfz pache_1.3.20.tar.gz

Dynamic Shared Object (DSO) support でコンパイルします。

# cd /usr/local/src/apache_1.3.20
# OPTIM="-O2" ./configure --enable-module=so
# make
# make install



PHP3のインストール

php-3.0.18-i18n-ja-2.tar.gz を /usr/local/src にコピーしておきます。

展開します。
# tar xvfz php-3.0.18-i18n-ja-2.tar.gz

# cd /usr/local/src/php-3.0.18-i18n-ja-2

コンパイルします。

# ./configure --with-pgsql \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-track-vars \
--enable-versioning \
--enable-i18n \
--enable-mbregex
# make
# make install

設定ファイルをコピーしておきます。
# cp php3.ini-dist /usr/local/lib/php3.ini

PHP4のインストール

php-4.0.5.tar.gzを /usr/local/src にコピーしておきます。

展開します。
# tar xvfz php-3.0.18-i18n-ja-2.tar.gz

# cd /usr/local/src/php-4.0.5

コンパイルします。

# ./configure --with-pgsql \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-track-vars \
--enable-versioning

# make
# make install

設定ファイルをコピーしておきます。

cp php.ini-dist /usr/local/lib/php.ini



■httpd.conf の編集

/usr/local/apache/conf/httpd.conf を編集

LoadModule 項目の前に以下の行を追加
LoadFile /usr/local/pgsql/lib/libpq.so

以下のコメントをはずす(行頭の# を削除する)
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php .php

apacheを開始する # /usr/local/apache/bin/apachectl start

これで完了です。

動作確認は
phpinfo.php と phpinfo.php3 2つのファイルを作成し、中身は共に

としておきます。

その二つのファイルを
/usr/local/apache/htdocs にコピーしてそれぞれ
http://localhost/phpinfo.php
http://localhost/phpinfo.php3

でphpの詳細情報が表示されればOKです。


今回、私の2台の Vine Linux 2.1.5 マシンで動作確認しましたが、
Vine2.1からのUpgradeマシンではPHP3,PHP4共に正常に動作していますが、
Vine2.1.5をフレッシュインストールしたマシンではPHP4のconfigureでエ ラーをはいてしまします。現在調査中です。








       [へなちょこlinuxのコーナーへ]    [ホームへ]