• お問い合わせ
  • ユーザー登録
ドキュメント
サポート案内
ユーザー登録
サポートセンター
ドキュメント
ダウンロード
セキュリティ
よくある質問とその回答
製品マニュアル
カタログ
収録パッケージ一覧


ツールの解説 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

関連文書
(none)

対象製品
  • Turbolinux 7 Server
  • Turbolinux Server6.5
  • Turbolinux 7 Workstation
  • Turbolinux Server 6.1
    Last modified : Thu Apr 11 JST 2002 # 2