FreeBSD 8.0 を入れたらまずやること


2010年に入って FreeBSD 8.0 がリリースされた。

久々に触るので、インストール直後にやっておく必要のある定番作業をメモ書きしておこうと思う。他の人に役立つものもあれば趣味の問題のものもあるので、あしからず。

前提として、マシンのセットアップは外部からネットワークの通信を直接受ける場所ではなく、ファイアウォールなどで保護された場所に置いてあることとする。

インストール時inetd を使用する設定にする。し忘れた場合には /etc/rc.conf に inetd_enable="YES" を追加する。

標準で libwrap をリンクしているので /etc/hosts.allowなどを適切に設定しないと痛い目に遭う。
外部からIP reachable な場合は必ず先に hosts.allow を設定してから inetd.conf を変えること。
アカウント関係インストール時に作成したユーザを wheel グループに所属させる。もちろん su できるようにするため。
キーボードFreeBSD/i386 の場合 /etc/rc.conf の keymap を変更。"jp.106"→"jp.106x"に。(Ctrl キーと CapsLock英数キーをスワップする)
fetchports その他で fetch コマンドを(明示的にも暗黙でも)使うことが多いが、Proxy 経由で通信しないといけない場合には /etc/make.conf に指定が必要。ネットワーク環境をローミングするのならここに書かずに環境変数で定義する方がよい。

FETCH_ENV="HTTP_PROXY=http://192.168.1.111:8080"
(proxyサーバが 192.168.1.111 ポート 8080 の場合)
NTP関係起動時にサーバと同期する。ntpdate の man を見てもらえればよいが、今後は ntp -q を使えとある。

sysinstall のオプションではなぜか ntpdate の動作しか制御できないので直接 /etc/ntpd.conf に

server 192.168.1.111
(NTPサーバが 192.168.1.111の場合)

のように記入する。もちろん、ネットワーク的に近いサーバを選ぶこと

そして、/etc/rc.conf に以下の行を追加

ntpd_enable="YES"
ntpd_flags="-q"

NTPサーバにしたいのなら /etc/default/rc.conf の内容を確認してそのまま利用する方がよさそう。(もちろん /etc/ntp.conf は適切に編集すること)

自身の時刻同期を定期的に行なうだけなら、ntpd -q を cron に登録すること。

たいていは FreeBSD のマシンは何らかのネットワークサービスをさせるサーバとして利用するが、アプリケーションのインストールを行なう際には私のポリシーとして原則はソースからコンパイルしている。

原則に外れる、パッケージで最初から入れておくことにしているアプリケーションとして
などがある。perl5 は packages でさくっとインストールすれば終わり(portsでコンパイルする必要は感じないので)。

問題は GNU make で、実はこれが libiconv を利用する(依存性がある)。

以前、拙作「FreeBSD 5,6 で Samba 3」でも少々書いたが、libiconv を使うアプリケーションが Windows の漢字をハンドルするのであれば libiconv に cp932 パッチを当てておいた方がよい。

そして他のマルチバイト処理を行なうアプリケーションを入れる前に libiconv はインストールした方がよいことは言うまでもない。

前回の FreeBSD 6 の頃には WITH_EXTRA_PATCHES を付けて make するだけでよかったが、今回の 8 ももちろん同じ方法でOK。筆者は iconv の ports を見て真剣に悩んだのは秘密である(正解は libiconvであり、iconvは別物)。

GNU make には他に gettext も必要なので package ファイルを gmake と同じ場所に置いて pkg_add すればよい。

OpenSSL/OpenSSH も package で入れたいのはやまやまだが、本当にインターネットに公開するサーバだと、パッチが出たらすぐに対応したいのでソースインストールすることが多い。

判断基準はすべて私が決めたものなので、あとはご覧になったみなさんの考えにおまかせしたい。



筆者の FreeBSD なページ へ戻る