FreeBSDには、標準でviなどのエディタを持っているが、viの使い方を僕は知らない。結構勉強したつもりなんだが、やっぱりmuleの方が使いやすいと思う。ってなわけでmuleを入れる。portsがあるからなんの苦労もない。
さて、超有名HTTPサーバープログラム、apacheである。今回は後々のことも考慮にいれてPHPとかいうデータベースも導入する。PHPはPostgreSQLなどのデータベースを使ってHTTP上でデータベースを使う、というものだ。そのはずだ。よく分からないが。
一つ下の学年の連中は、授業でPHPを使ったWebデータベースの開発なんかやっている。どんどん新しいことをするもんだから、上の威厳なんてものはすっかり無いに等しい。ならばせめて自分のサーバーくらいはPHPに対応させてやる。
portsからapacheとPHPの組み合わせを選択する。前回決めたとおり、apacheのデータは/varの中に入れることにして、apache.confにもそのように記述した。念のためもともとデータがあったところにはシンボリック・リンクを貼って、更に何箇所か自分にとって便利な場所に貼った。apache.confは非常に分かりやすい。なによりHTTPデーモンは、セキュリティも何も、基本的にはデータを一方的に送るものであるから設定が簡単だ。問題なのはCGIであるが、これはapacheの設定の問題ではなく、CGI自体のセキュリティを向上させればよいのだ。
で、データベースとしてPostgreSQLをインストールする。GooでPostgreSQLの本体とインストールの仕方を説明しているページを探す。インストールのために本を買うなんて馬鹿げている、こんなときのインターネットは巨大な事典だ。しかも最新版の情報が載っていたりするから頼もしい。問題は、読みやすいページというのはほんの少しだ、ということ。このページのような日記ページが検索にヒットしたりするが、これは全くインストールには役に立たない。
PostgreSQLは展開すると50MBほどの容量を必要とし、またデータベースそのものも大きくなることが容易に予想される。/usrの空き容量が心配になってきたので、シンボリック・リンクで実態を/varに移すことにした。ただ導入自体は非常に簡単で、実際に運用するまではそれほど設定に困ることもないだろう。というかまだ使ってみていないから、本当に動いているのか分からない。きっと大丈夫。立ちあがっているからね。
さて、Mailサーバーとしての機能も持たせることにしよう。MTAにはこれも超有名、sendmailを使うことにする。qmailというのが最近人気が出てきているらしいと後で知ったが、これはsendmailにセキュリティ・ホールがあると言われているためらしい。qmailでなくとも、せめてもsendmailは常に最新版にしておくのがよいという。なるほど。portsでは最新版にならないので、ちゃんとDLしてくることにした。
sendmailはsendmail.cfという設定ファイルを使用するが、教授いわく日本国内でsendamil.cfを書ける人は数人しかいない、とか。ちょっと覗いてみる。なるほど、訳分からん。CFというsendmail.cfを設定するためのユーティリティを作られていて、これは便利。付属のドキュメントはメールサーバーのパンフレットと称して配布しても良いのではないか、というくらいに読み応えがある。さっそく読みながら設定してみる。それにしても長いなー、こりゃ。
だが何度やっても上手くいかない。メールの送信はできるのだが外部からユーザーにメールを送ろうとすると弾かれる。CFを必死に読む。Gooでも探す。どうやらSPAM対策のオプションが、デフォルトでは非常に厳しい設定になっているという。そんな設定があったのか……、って、エライ下の方じゃねーか!なんなんだよ!
互換性云々もいいが、そんなに大事な設定ならもっと上の方に記述して欲しい。大体、リレーとかは基本設定じゃないのか?大事な設定は最初に設定できるようにしなくちゃ。
まあ、文句を言っても始まらない。それにしたってCFは便利だ。書き直してHUPシグナルを送る。……はて、まだ駄目だ。ふと帰って来たエラーメールを眺めると、みなれないIPアドレスに送ろうとしているではないか。そうか、大学のメールサーバーにこのサーバーを登録していないんだ。
情報処理センターの人に会いに行く。「ああ、何度も実験していたね、君」とか言われてしまった。大学のログにくっきり痕跡が残ったのだ。恥ずかしい。と同時に、指導教官である教授は「センター長」でもあるんだから、もっと早くに気づいてくれればなー。
というわけでsendmailは無事に動作した。POP3も出来るようになった。またメールアドレスを手に入れてしまった。