counter

samba-2.0.7-ja-2.2のインストール(FreeBSD)

最終更新日:2001年3月1日

1. ソースファイルをダウンロード

今回は、日本Sambaユーザー会のリンク ページから、ミラーサイトをたどって、ダウンロードさせてもらった。 tar.gz は4.8M tar.bz2は3.9MBなので、bzip2が使える環境なら、 tar.bz2をダウンロードすればいいでしょう。

今回は、深いことを考えずに、tar.gzをダウンロードしました。 そうそう、FreeBSDのバイナリ版は、(2/26現在)どこにもありませんでした。

2. ダウンロードファイルをFreeBSDに転送。

これが一番困った。 FreeBSDからプロキシ経由でダウンロードすればよかったのに、 間違って常時使用しているWindows2000でダウンロードしてしまった。

してしまったことは仕方ないので、何とかしてFreeBSDに送る。 今回使った方法は、ftpサーバを立てる方法だ。 話は簡単。FreeBSDで/stand/sysinstallを起動して、 使用するサービスにftpを追加するだけ。 あとはIPアドレスで接続できるので。ftpサーバになっているFreeBSDに loginして、putコマンドでアップロードする。

これにて一件落着。

3. ファイルを展開。

コマンドを実行するだけ。実行するコマンドは、

$ tar zxvf samba-2.0.7-ja-2.2.tar.gz -C /tmp

-C は、展開先のこと。今回は一時フォルダに作る。 そして、作業フォルダに移動しよう。

$ cd /tmp/smb-2.0.7-ja-2.2

4. コンパイル

コンパイルのコマンドは、次のようになるよ。

$ cd source
$ ./configure --with-i18n-swat
$ make
$ su
# make install
# exit

このようにコマンドを入力すると、sambaは/usr/local/sambaの下にインストール される。 しかし、これではまだ使えない。

5. 設定

sambaは、設定ファイルsmb.confを読み取り、これにしたがって稼動する。 したがって、sambaをまともに動かすためには、がんばってsmb.confを 書かなければいけない。しかし、設定しなければならない項目は、 多数に及び、結構大変なので、一から作るのではなく、 テンプレートを変更する方式でするのがよいと思う。 テンプレートは /tmp/samba-2.0.7-ja-2.2/examples にある smb.conf.default と smb.conf.default.ja である。 前者には英語の、後者には日本語の解説が それぞれついているので、それに従って、変更すればいい。 変更したほうがよい項目は、

workgroup
 ワークグループの名前。WindowsデフォルトではWORKGROUP。
hosts allow
 使用許可するホストのIPアドレス。
 最小限の設定をしておくことが望ましい。
 私は、hosts allow = 192.168.0. 127.0.0.1とした。

このように更新したファイルは、/usr/local/samba/lib/smb.confとして 保存しておく。 そういえば、日本語のsmb.confを使うときは、 説明書きのうちの一行にコメント'#'が抜けているので、補充しておく。 208行目です。

5a.俺の名前は長すぎて、FreeBSDでは使えないんだよ。

タイトルどおりです。

FreeBSDでは、ユーザ名は8文字までなので、 僕の名前は使えない。そして、Windowsは長さの制限があまりないので、 Windowsのログイン名とFreeBSDのユーザ名が異なります。

この他にも、Windowsの名前とUNIXの名前が 違う人がいると思いますが、それを解決する方法があります。 smb.confのusername mapを設定すればいいのです。

username map = /usr/local/samba/lib/usermap

とし、そして、/usr/local/samba/lib/usermap というファイル名で、 次のような内容のファイルを作ります。

unixname = windowsname

=の左にはFreeBSDでの名前、右にはWindowsでの名前を入れます。たとえば、

root = administrator

などのようにです。しかし、これは、しないほうがいいかもね。

6.テスト

それでは、実際に起動してみよう…。となるのだが、ちょっと待った。 一度、テストしてみよう。 次のように、入力してみて。

$ /usr/local/samba/bin/testparm

これは、sambaの設定ファイルsmb.confの内容をチェックするコマンドだ。 エラーとかが出ていなければ、OK。 エラーが出ているときは、そのエラーメッセージとsmb.confを見比べて、 しっかり直すように。

7.起動

それでは、起動してみましょう。コマンドは、次のようになる。 このコマンドは、rootでするほうがいいかも?

# /usr/local/samba/bin/smbd -D
# /usr/local/samba/bin/nmbd -D

ちゃんと起動しているかどうか、確かめてみてください。 まず、デーモンが起動しているか確かめる。

# ps ax
:
:
15882  ??  Is     0:00.00 /usr/local/samba/bin/smbd -D
15884  ??  Ss     0:00.02 /usr/local/samba/bin/nmbd -D

より、sambaが起動していることは、確かめられました。 もし起動していなければ、/usr/local/samba/varにある、log.smbやlog.nmb の最後の方に何かエラーが出ていないか、確かめてください。 うまく起動できている場合は、再起動しても自動的に起動するようにしましょう。 私は、起動用のスクリプトファイル samba.shを作りました。 これを/usr/local/etc/rc.dにコピーしています。内容は、

#!/bin/sh
smbdir=/usr/local/samba

case "$1" in
start)
    if [ -f $smbdir/bin/smbd ]; then
        echo -n ' Samba'
        $smbdir/bin/smbd -D
        $smbdir/bin/nmbd -D
    fi
    ;;
stop)
    kill `cat $smbdir/var/locks/smbd.pid`
    kill `cat $smbdir/var/locks/nmbd.pid`
    rm -f $smbdir/var/locks/smbd.pid
    rm -f $smbdir/var/locks/nmbd.pid
    ;;
*)
    echo "Usage : `basename $0` {start|stop}" >&2
    exit 64
    ;;
esac

exit 0

です。実際に再起動して、ちゃんと起動するか確かめます。

これで、WindowsからUNIXにアクセスすることができるはずです。

戻る