| PostgresSQLセクション: PHP経由でPostgreSQLデータベースにアクセスする | |||
|
|||
|   |
PHP経由でPostgreSQLデータベースにアクセスするRaQ4ならびに550では、デフォルトでPostgresが起動しておりませんので、下記手順にてDBの初期化・起動を行う必要があります。 1. telnetでサーバにログインし、suコマンドでrootユーザにスイッチします。 root権限で /etc/rc.d/init.d/postgresql start を実行します。 createuser ユーザー名で postgresを利用させたいユーザーを追加します。 chkconfig --level 3 postgresql on RaQ4にインストールされているPHP4は、Apacheのモジュールタイプとして設定されていますので、PHPからpostgresへアクセスするためのモジュールが組み込まれていませんので手動で組み込んで頂く必要があります。 PHPの設定ファイルを修正します。 adminアカウントでサーバにTelnetログインし、su -コマンドでルートにスイッチします。 cd (移動先ディレクトリ)コマンドを使用し、/etc/httpd/内のphp.iniファイルをvi等で編集します。 ;extension=pgsql.so というように、この行が ;(セミコロン)を行頭につけてコメントアウトされていますので、このセミコロンを削除して保存します。 php.ini内にある下記コメント(;)を外してください。 /etc/rc.d/init.d/httpd restart 注意事項 データベースへのアクセス権限設定ですが、WebからPostgreSQLにアクセスする場合、httpdというユーザがアクセスすることになります。そのため、データベース側でhttpdというユーザのアクセスを許可しておかないと接続が拒否されます。また、PHPからPostgreSQLを呼び出す以前に、まずPostgreSQL側がローカルからのアクセスを許可するよう設定されている必要があります。この設定をしないとPostgreSQLへのアクセスができませんのでご注意ください。
cd(移動先ディレクトリ)コマンドを使用し、 /home/pgsql/(RaQ3) または /var/lib/pgsql/data(RaQ4,RAQ550) 内にあるpg_hba.confをvi等を使用して修正します。 local all trust host all 127.0.0.1 255.255.255.255 trust /etc/rc.d/init.d/postgresql restart WebからPostgreSQLに接続する場合、httpdユーザで接続しますので、データベース側でhttpdユーザを追加しアクセスを許可しておく必要があります。そのデータベースにアクセスして下記PSQLコマンドでhttpdユーザーを追加する必要があります。 $ psql データベース名 RAQ4以下の場合、データベース領域「cobalt」はシステムで利用されているデータベースですので削除 なさいませんようご注意ください。 |
|   |
| カテゴリに戻る | カテゴリの一覧に戻る |

