やってるうちにわかって来たことは, どうも, データベースというのはユーザフロントエンドというよりは, データベース自体の設計の方がキモであるらしいということだ. つまり, 昔風に言えば, 手続きよりもデータ構造の方が重要なのである. 当り前だ. なんせ, データベースだからな.
php は, 全角英数を半角英数に直す関数なんかもあり, 日本語の正規表現も書ける. まあ, なんつうか, ようするに 至れり尽くせりなのである. これで使えるシステムができなきゃアホである. そりゃそうなんだが, どうもいまいちとっかかりが掴めないんだよな. ドキュメントもすげえ充実してるのに. PostgreSQL のドキュメントなんか, これがあれば巷の SQL 本なんか, 全く要りませんよ. っつうくらいの完成度だ. それなのに.
まあいいや. いきなり AltaVista みたいなもんができるわけないから, 気楽にやろう.
PostgreSQL のインストールは, 次の要領.
./configure --prefix=/usr/local/postgresとなる. 他にもいろいろオプションがあるので, 見てくれ. 多分, --enable-locale とかした方がいいだろう. でも, よくわかんねえ.
まあ, こんな感じでけっこうめんどくさいんですが, postmaster は絶対に root で実行しないように, という注意があります. まあ, 具体的にどこがヤバイのかわかんないのですが, 確かにヤバそうなので, やめましょう. じゃあ, postmaster なら良いのかよ. という不安もないわけではないが.
SQL コマンドの発行は, psql というインタプリタを使う. SELECT とか JOIN とか, なんか, そういうやつである.
これだけでもけっこういろいろできるらしいのですが, php という ゑぶ(というか apache)と繋ぐ html 埋め込みスクリプトを インストールすると, ゑぶ でデータベースが触れて, すげえ良い. らしい. 俺は, こいつを apache の DSO としてコンパイルした. これが一番楽である.
こいつで気をつけないといけないのは, configure のオプションだけである. 日本語を使うんなら,
次は, apache の設定だ. httpd.conf にこういうのを追加し,
LoadModule php3_module libexec/libphp3.so AddModule mod_php3.c AddType application/x-httpd-php3 .php3 AddType application/x-httpd-php3-source .phpsapache を再起動. php で make install すると, どうも手で上のエントリを追 加しなくても勝手に追加されてたような気もする.
apache を再起動すると, たまに発狂するみたいだから, そういうときは, apache を一旦停止してから起動するとよろしいようで. ニュースサイトなんかでは, けっこう hoge.phtml とか hoge.php3 とかいう url をみかけるが, これが php を含んだコンテンツなのである.
perl などの汎用インタプリタを使った CGI に比べて, セキュリティがどうなの か, というところはよくわからん. 穴があったらおなじくらいヤバそうだし, 実際に nessus には php の穴をつつくプラグインもある. 実戦では, その辺も心して使う必要があろう. ってどうやって? CGI の実行と違って, いちいちプロセスを作らないので, サーバの負荷は php の方が一般的に小さいらしいけど, とにかく判らん事ばっかりですわ. はあ.