今回は、日本Sambaユーザー会のリンク ページから、ミラーサイトをたどって、ダウンロードさせてもらった。 tar.gz は4.8M tar.bz2は3.9MBなので、bzip2が使える環境なら、 tar.bz2をダウンロードすればいいでしょう。
今回は、深いことを考えずに、tar.gzをダウンロードしました。 そうそう、FreeBSDのバイナリ版は、(2/26現在)どこにもありませんでした。
これが一番困った。 FreeBSDからプロキシ経由でダウンロードすればよかったのに、 間違って常時使用しているWindows2000でダウンロードしてしまった。
してしまったことは仕方ないので、何とかしてFreeBSDに送る。 今回使った方法は、ftpサーバを立てる方法だ。 話は簡単。FreeBSDで/stand/sysinstallを起動して、 使用するサービスにftpを追加するだけ。 あとはIPアドレスで接続できるので。ftpサーバになっているFreeBSDに loginして、putコマンドでアップロードする。
これにて一件落着。
コマンドを実行するだけ。実行するコマンドは、
$ tar zxvf samba-2.0.7-ja-2.2.tar.gz -C /tmp
-C は、展開先のこと。今回は一時フォルダに作る。 そして、作業フォルダに移動しよう。
$ cd /tmp/smb-2.0.7-ja-2.2
コンパイルのコマンドは、次のようになるよ。
$ cd source $ ./configure --with-i18n-swat $ make $ su # make install # exit
このようにコマンドを入力すると、sambaは/usr/local/sambaの下にインストール される。 しかし、これではまだ使えない。
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行目です。
タイトルどおりです。
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
などのようにです。しかし、これは、しないほうがいいかもね。
それでは、実際に起動してみよう…。となるのだが、ちょっと待った。 一度、テストしてみよう。 次のように、入力してみて。
$ /usr/local/samba/bin/testparm
これは、sambaの設定ファイルsmb.confの内容をチェックするコマンドだ。 エラーとかが出ていなければ、OK。 エラーが出ているときは、そのエラーメッセージとsmb.confを見比べて、 しっかり直すように。
それでは、起動してみましょう。コマンドは、次のようになる。 このコマンドは、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にアクセスすることができるはずです。