mchikataの日記: Apache → CGI → PostgreSQL のツボ
日記 by
mchikata
Apache から CGI を介して PostgreSQL にアクセスする事に成功。以下はその時のメモ。
- createuser コマンドを実行して www-data ユーザーを追加する。
$ createuser www-data
Shall the new user be allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n - psql 上で GRANT 文を実行し、www-data に対してテーブルのアクセス権限を与える。例えば www-data ユーザーに対して testdb データベースの employee テーブルの
SELECT、INSERT、UPDATE、DELETE 権限を与える場合は以下のようにする。まずは
$ psql testdb
として psql を起動。psql のプロンプトが表示されたら
testdb=# GRANT SELECT, INSERT, UPDATE, DELETE ON employee TO "www-data";
を実行。行末のセミコロンと、www-data をダブルクォーテーションで囲むのを忘れずに。
- (C言語でCGIを開発する場合) libpq-fe.h をインクルードし、libpq.a をリンクすること。
$ gcc -I/usr/include/postgresql/ foo.c -lpq -o foo.cgi
- 完成した CGI プログラムは /usr/lib/cgi-bin/ へコピー。
# chmod 755 /usr/lib/cgi-bin/foo.cgi
のようにパーミッションを変更するのを忘れずに。実行する時の URL は
http://localhost/cgi-bin/foo.cgi
こんな感じ。
Apache → CGI → PostgreSQL のツボ More ログイン