Warning: count(): Parameter must be an array or an object that implements Countable in /usr/local/www/admnote/wp-includes/post-template.php on line 284

FreeBSD 6.2 インストール

はじめてのFreeBSD。

ただインストールするだけなら、まあまあ簡単。でも、KDMや日本語環境をまともに動かすようになるまでが結構…。一度わかってしまえば何てことないんだけど。

環境

ハードウェア
NEC ValueOne Gシリーズ
CPU Pentium4 HT 3GHz、メモリ1GB、HD 250GB
インストールするOS
FreeBSD 6.2
他OSとの同居なし。

インストール

  1. FreeBSDダウンロードページよりi386のISOイメージをダウンロードして、インストール用CD作成。

  2. インストールCDでPCを起動して、インストール開始。

    • Country Selection → 110 Japan
    • System Console Keymap → Japanese 106
    • FreeBSD/i386 6.2-RELEASE – sysinstall Main Menu → Standard plain login
    • Fdisk Partition Editor → A Q
    • Install Boot Manager for drive ad4 → Standard
    • FreeBSD Disklabel Editor → A Q
    • Choose Distributions → All を選択した後、src をすべてはずす。
    • configure network devices? → yes
    • Network interface information → bge0
      • IPv6 → no
      • DHCP → no
    • Network Configuration
      • Host: newsvr
      • Domain: dip.jp
      • IPv4 Gateway: 192.168.0.254
      • Name Server: 192.168.0.254
      • IPv4 Address: 192.168.0.5
      • Netmask: 255.255.255.0
    • bring the bge0 interface right now? → yes
    • Do you want this machine to function as network gateway? → no
    • Do you want configure inetd and the network services that it provides? → no
    • Do wish to enable inetd? → no
    • Would you like to enable SSH login? → yes
    • Do you want to have anonymous FTP access to this machine? → no
    • NFS Server → no
    • NFS Client → no
    • Would you like to customize your system console settings? → yes
    • Time Zone Selector → Asia, Japan, JST
    • Would you like to enable Linux binary compatibility? → yes
    • Does this system have a PS/2, serial or bus mouse? → yes
    • The FreeBSD package collection…. Would you like to brose the collection now? → no
    • add any initial accounts?
      • Group: user
      • User: xxxx, Group: user, Member group: wheel

      Member groupを設定するのはsuの利用を許可するユーザのみ。

    • rootのパスワード設定。
    • Visit the general configuration menu for a chance to set any last options? → no
    • Are you sure you wish to exit? → yes
  3. CDを抜く。

rootログイン用の設定

  1. suができるようにするために、/etc/group でwheelにユーザ名を追加。アカウント作成時に指定済みなら不要。

ports更新

  1. portsの最新版を入手。

  2. portsの下をごっそり全更新。

  3. portupgradeをインストール。

  4. wgetとgtarをインストール。

xinetd

  1. パッケージをインストール。

  2. /etc/inetd.confを編集し、ftpとtelnetの次の行のコメントをはずす。

  3. inetdの設定をインポート。

  4. /etc/rc.confを編集。次の行を削除。

  5. xinetdを開始。

Apache/PHP

  1. パッケージをインストール。php5はpkg_addでインストールするとモジュール版として動作させるためのファイルが入らないので、portsの下からインストール。

     

    【2007/2/2トラブル対策】

    Apache本体はportsの下でコンパイルしてインストールすると、なぜかPHP5を組み込んで起動するとcoreダンプした。インストール初期状態のportsでportinstallしても、Apache2をportinstallしても結果は同じ。このためpkg_addでインストール。これが正しい対処法なのかどうかは不明。

     

    ※php5のパッケージインストール時にオプションを聞かれたら、IPv6以外すべてをチェック。

  2. PEARをインストール。

  3. php.iniを作成。

  4. /usr/local/etc/php.iniの次の行を編集。

  5. /etc/rc.confを編集し、次の行を追加。

  6. /usr/local/etc/apache/httpd.confを編集。次の行を追加。

    デフォルトのドキュメントディレクトリを定義。

    ログはIPではなくホスト名で記録。

    画像ファイルのアクセスはログに残さない。

    余計な情報は出さない。

    バーチャルホスト用の設定を追加。

  7. htdoc用ディレクトリ作成。

  8. log用ディレクトリ作成。

  9. Apacheを起動。

Samba

  1. 日本語版のパッケージをインストール。

  2. /usr/local/etc/xinetd.confに次の行を追加。

  3. xinetdを再起動。

  4. ユーザのSambaパスワード設定。初回の設定のみ-aオプションが必要。

  5. /usr/local/etc/samba/username.mapを作成し、次の内容を記述。

  6. /usr/local/etc/smb.confを作成し、次の内容を記述。

  7. Sambaを再起動。

  8. smb.confをSWATを使って編集したい場合には、ブラウザで901ポートにアクセスする。ログイン名とパスワードにはrootとそのパスワードを入力。

Postfix + SMTP-auth

  1. パッケージをインストール。

    Postfixのオプションは次のものを指定。

    オプション指定を間違うと「Package is broken」というエラーが出てインストールできなくなる。そうなってしまった場合には、手動でオプション保存ファイルを削除してから再インストールする。

    いくつかの質問には次のように答える。

    うっかりyを入力せずに先に進んでしまったときには、/etc/mail/mailer.confを次のように書き換える。

  2. /etc/rc.confに次の行を追加。

  3. /usr/local/etc/rc.d/saslauthdの中のsaslauthd_flagsの定義を次のように変更。

  4. /usr/local/lib/sasl2/smtpd.confを作成し、次の行を追加する。

  5. saslauthdを起動。

  6. SASL用のパスワードを登録。

    登録できているか確認するには、sasldblistusers2コマンドを使用する。

  7. /etc/make.confに次の行を追加。

  8. /usr/local/etc/postfix/main.cfを次のように編集。

  9. /usr/local/etc/postfix/sasl_passwdを作成し、次の内容を記述。

    管理者以外ファイルを読めないようにパーミション設定し、DB作成。

  10. /etc/rc.confに次の行を追加。

  11. /etc/periodic.confを作成、次の行を追加。

  12. /etc/newsyslog.confのsendmail.stの行をコメントアウト。

  13. /etc/mail/aliasesにpostfixとrootを追加。

    追加後はnewaliasesでDB更新。

  14. 以上でPostfixの設定は完了。Postfixを起動。

Cyrus IMAP

  1. パッケージをインストール。

    オプションは次のものを選択。

  2. /usr/local/etc/imapd.confを編集し、次の行を編集/追加。

    saslauthdで認証にgetpwentを利用した場合、ここでsasl_mech_listをplain loginに設定しておかないと、cyradmの認証に失敗する。

  3. ログ保存ディレクトリを作成。

  4. IMAP用ディレクトリ作成。

  5. /etc/syslog.confに次の行を追加。

  6. /etc/rc.confに次の行を追加。

  7. imapdを起動。

  8. 管理者用パスワード設定。

  9. メイルスプール作成。

    /usr/local/etc/imapd.confが設定されていないと、cyradmを実行してもIMAP PasswordではなくPasswordと表示され、認証に失敗する。

  10. /usr/local/etc/postfix/main.cfに次の行を追加。

  11. Postfixを再起動。

fetchmail

  1. /usr/local/etc/cyrus.confのlmtpの行のコメントをはずし、次のように編集する(cmdの代入に -a オプションを追加)。

    ※Cyrus IMAPとPostfixの間で認証を省略するための設定。

  2. Cyrus IMAPを再起動。

  3. fetchmailconfを使うためにPythonとTkinterをインストール(fetchmailconfはなくてもあまり困らないかも)。

  4. ユーザの.fetchmailrcを作成。

    ファイルのパーミションは600に設定。

  5. /usr/local/etc/fetchmailrcのパーミションを710に変更。

  6. /usr/local/etc/rc.d/fetchmailの処理開始に次の行を追加し、fetchmailを利用するユーザを指定。

  7. /etc/rc.confに次の行を追加。

  8. fetchmailを起動。

KDE

  1. rootでログインし、次のコマンド実行。日本語フォントを追加しないと、メニューにトーフが表示されまくり。

  2. KDMの初期設定ファイル作成のため、kdmを起動。

    KDMが起動したら、メニューからrestartを選択して再起動。

  3. /usr/local/share/config/kdm/kdmrcを編集。

    • rootでKDMでもログインできるように。

    • PCからCygwinでKDM起動できるように。

  4. wrapperをインストール。

  5. システム起動時に自動的にKDMを起動するため、/etc/ttysを次のように設定。初期設定ではXDMが設定されているが、offになっている。

  6. KDM起動時にPAM関連のエラーを抑制するため、/etc/pam.conf に次の4行を追加。

  7. PCから次のようにCygwinコマンドを実行し、KDMの画面が表示されればOK(192.168.0.2はPCのIPアドレス)。

  8. KDEでログインし、メニューからコントロールセンターを起動し、「システム管理」→「ログインマネージャ」で次のように設定変更。

    • 外観→ロケール: 日本語
    • ユーザ: ユーザリストを表示しない

データ転送メモ

Solaris 9からFreeBSDのマシンへのデータ転送にはrshとtarを使用。が、FreeBSD側で次のようにコマンドを実行すると、なぜかディレクトリのパーミッションからgroupとotherのビットがすべて落ちる。

Solaris側で一度tarファイルに落としてコピーし、そこから展開しても結果は一緒だった。このとき、FreeBSD側でtarではなくgtarを使うと正常にコピーできる。

理由は不明…。

参考リンク

FreeBSD
KDE
日本語化
Postfix
sendmail (結局使わず…)