|
|
ツールの解説 No. 265 Apache + PHP + PostgreSQL の構築
(1) 収録パッケージについて
ここで説明する条件としては、インストールモードを「オールインワン」もしくは
「すべて」にしてインストールしているものと仮定します。また、インストールされて
いるパッケージは、次の行を実行することによって調べることができます。
例)Apacheのパッケージを調べる場合
# rpm -qa | grep -i apache
(2) Apacheの確認
Apacheは、自動的にインストールされるものを使用します。ここで必要なパッケージ
は次のものです。
apache-1.3.12-5
apache-manual-1.3.12-5
次の行を実行して、Apacheを起動させてください。
# /etc//init.d/httpd start
または
# /etc/rc.d/init.d/httpd start
wwwブラウザーで、http://localhostにアクセスし、TurboLinux Web Serverの文字が
表示されれば、正常に動作しています。
また、システム起動時に起動させるために、次の行を実行してください。
# chkconfig --add httpd
(3) PHPの確認
PHPも、自動的にインストールされるものを使用します。PHPは、その他にもサブ
パッケージがインストールされていると思いますが、ここで必要なパッケージは次のも
のです。
php-3.0.15_i18n_ja-4jaJP
php-manual-3.0.15_i18n_ja-4jaJP
php-pgsql-3.0.15_i18n_ja-4jaJP
httpd.conf ファイルの以下の行がコメントアウトされていることを確認して下さい。
[/etc/httpd/conf/httpd.conf]
--------------------------------------
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
または
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
--------------------------------------
/var/www/html/ または /home/httpd/html/に、次の内容を含んだファイルを作成し、
Webブラウザでアクセスしてみてください。PHPに関する諸定数が表示されれば、正常に
動作しています。
index.php :
または
index.php3 :
<html>
<head><title>PHP test</title></head>
<body>
<?php
phpinfo();
?>
</body>
</html>
(4) PostgreSQLの確認
PostgreSQLも、自動的にインストールされるものを使用します。PostgreSQLは、
その他にもサブパッケージがインストールされていると思いますが、ここで必要な
パッケージは次に示した内の上4つのパッケージです。
postgresql-7.0-12
postgresql-server-7.0-12
postgresql-man-7.0-12
postgresql-test-7.0-12
postgresql-devel-7.0-12
postgresql-perl-7.0-12
postgresql-pgbench-7.0-12
postgresql-jdbc-7.0-12
postgresql-odbc-7.0-12
postgresql-python-7.0-12
postgresql-tcl-7.0-12
php.iniファイルに extension= でライブラリの設定が追加されていることを確認し
て下さい。
[/etc/httpd/php.ini]
--------------------------------------
.........
; Dynamic Extensions
.........
extension=pgsql.so
.........
extension_dir = *注意
--------------------------------------
*注意
php-pgsqlなどのパッケージをアップデートした際などにパスが変更になる場合が
あります。
rpm -ql php-pgsql
を実行していただいた結果のパス名、ライブラリ名が
extension_dir =
extension =
の指定とあっているかどうかをご確認してください。
インストールを終えた後で、自動的に作成されるユーザアカウント
postgres(PostgreSQL DB super user)のパスワードを設定します。
# passwd postgres
また、システム起動時に起動するよう設定します。
# chkconfig --add postgresql
そして、システムを再起動します。(最初の起動時に一回だけ、データーベースの
初期化が行われます。)
(5) Apache+PHP+PostgreSQLの連動
ここまでで問題がなければ、連動させるための特別な設定はありません。次に連動
の確認ですが、予め/var/lib/pgsql/にtests.sqlを作成し、/home/httpd/html/に
tests.phpを作成しておいてください。そして、postgresでログインし、次の行を実行
してください。
$ createuser nobody
$ createdb tests
$ psql tests -f tests.sql
Webブラウザで、http://localhost/tests.phpにアクセスし、パッケージのテーブル
が表示されれば、正常に連動しています。
tests.sql :
drop table packages;
create table packages (name text, version text, relese int);
insert into packages values ('apache', '1.3.12', 5);
insert into packages values ('php', '3.0.15_i18n_ja', 4);
insert into packages values ('postgresql', '7.0', 12);
grant select on packages to nobody;
tests.php :
または
tests.php3 :
<html>
<head><title>apache+php+postgresql</title></head>
<body>
<center>
<h2>Packages</h2>
<table border=2>
<tr><th>name</th><th>version</th><th>relese</th></tr>
<?php
$con = pg_connect("", "", "", "", "tests");
$rtn = pg_exec($con, "select * from packages");
$num = pg_numrows($rtn);
for($i=0; $i<$num; $i++){
$name = pg_result($rtn, $i, 0);
$version = pg_result($rtn, $i, 1);
$relese = pg_result($rtn, $i, 2);
print("<tr><td>$name</td><td>$version</td><td>$relese</td></tr>");
}
?>
</table>
</center>
</body>
</html>
apache PHP PostgreSQL 関連文書 対象製品
Last modified : Thu Apr 11 JST 2002 # 2
|
Copyright © Turbolinux, Inc..All Right Reserved.

