大学の授業で、Webサーバーを立てた。それはそれは大変だった。Windowsのマシンを組み立てるのとは訳が違うし、今回は外部からアクセスのあるマシンを組み立てるのだから、色々と気を付けなくてはならないからだ。特に昨今は、ハッキングやらクラッキングやらが多いのである。
サーバーを立てると決めたとき、分からないことは先輩に相談すればいいや、と思っていたのだが、どうやら先輩は会社の社長として多忙な日々を送っているらしいので、しょうがないから自分で作ることにした。社長は年季の入ったLinuxユーザーだが、今回の授業で指導して下さっている教授が言うには、Linuxは現在アタックされまくっているらしい。有名になるということは辛いのである。
そこで今回はFreeBSDにした。2年前にインストールをしたことがあったのだが、もうすっかり手順も何もかも忘れているので、本を片手にやってみることにした。マシンは公開講座のときに学科が購入したDOS/V機の部品を寄せ集めたもの。大学に端局申請もして、同級生に九州大学(我が芸工大のネット上の上流になる)からFreeBSDのディスクイメージを取得してもらって、さあスタート!
以前、TURBO Linuxをインストールしたときには日本語のインストーラーが立ちあがったが、今回は全部英語のようだ。バージョンは2.2.8となっている。ふむ。インストーラーの英語は非常に簡単な上に手順は全て対話型なので、Custumを選択しても困ることはない。スムーズに終了。再起動。なんだよ、なんの問題もないじゃないか。
さて、どんなソフトを入れようか。LinuxではRedHatなどでお馴染みのPackageがあるが、FreeBSDではportsというものがあって、やっぱり選んでコマンド一発で入っていくらしい。GooでFreeBSDに詳しいページを発見したのでそこを参考にする……。まてよ、なんかおかしいな。バージョンが合わないぞ。
なんてこったい。九州大学のFTPサーバーを自分で調べて見たら、FreeBSDの最新リリースは3.3じゃないか。もー、○島君てば、「releases」って書いてあったらリリース版のことでしょうが。早くも「カーネルの再構築」ですかい。もー。
FreeBSDのセットアップツールである「sysinstall」に、カーネルのアップデートのコマンドが用意されている。こいつを使う。だが、どうやら失敗。まだ何も設定していないんだから、面倒でも一からやり直した方が良さそうだ。
新しいFreeBSDもインストールは英語。もう馴れましたよーだ。FTPは九州大学、ちょっとディレクトリ名が長くなるが、それは愛嬌。ウチの学科は大学内を100Mで引っ張ってきているので、他の学科よりもネットが早いぜ、イエー。
そんな折、教授が様子を見に来た。マシンの構成を確認して、「これはだめだ」と一言。教授いわく、「/var」(UNIXで、ログやメールのスプールといった流動するデータを扱う領域)をとにかく大きくして、データの類は全部そこに突っ込んでしまえ、とのこと。こうするとバックアップが非常に簡単になる。なるほど。やり直しか。
さて、テキストベースで作業をすると、Netscapeを立ち上げて便利なページを参照しながら各種設定を行う、なんて行為ができないので、X-Window(WindowsとかMacのようなGUIを使えるようにするモノ)をインストールするのが便利である。で、以前Linuxを立てたときには、OSのインストール時に「X-Deverop」を選んでから不必要なツールをオプションから抜く、といった手法を取っていたのだ。だがFreeBSDの場合、あまり細かい設定ができない、「X-User」にしないとエライたくさんのソースが入ってしまうことが分かった。これは結構、恥ずかしいミスであった。
また、便利だ便利だとあちこちで賞賛されているportsだが、「マシンにあらかじめインストールする」を選択するとそれのために200MBも消費するという、かなりエライことになってしまうことが分かった。というか、画面の説明を読むとそう書いてあったことに気づいた。専用線に繋がっているこのサーバーの場合は「あらかじめ」とかいう設定はいらないし、そんなに頻繁にソフトを増やすこともないだろうから、このオプションはキャンセルした。現に今、僕はこの機能は使っていないし(というか、この時オプションをNoにしたせいで一部機能が使えなくなったからだが)、使わなくても最近のソフトは非常にインストールがしやすいのだ。
ここまでがFreeBSDのインストールである。Linuxは簡単だ、と巷では言われているが、僕から言わせればFreeBSDだって異常に簡単である。インストールが難しいのはWindowsくらいなものだ。
次回はWebサーバーにするためにどんなソフトをインストールしたのかを伝えようかね。普通、こういうページは「初めてインストールする人」用のマニュアルのように書くんだろうが、このページは違う。このページは日記であってマニュアルではない。大体、Web上にあるページを参考にしてサーバーを立てているのだから、Web上を探せば手本となったページ自体が発見できるので、そっちの方がいいに決まっているのだから。
予告すると、次回は多分muleとapacheとsendmail。それからfml、PostgreSQL、analog、namazuで完成かな?こんだけあれば十分でしょう。アタックかけられたらそれをネタにセキュリティの話をしますね。