※2010-10-21 現在、/usr/ports/japanese/samba3 ディレクトリが見つからなくなったため、/usr/ports/net/samba34 を試している最中である。
FreeBSD に Samba を入れておくと、FreeBSD のディレクトリを Windowsパソコンから共有フォルダとして利用できる。
%su Password: # cd /usr/ports/japanese/samba3 # make install clean # rehash
# vi /etc/rc.conf
/etc/rc.conf の中に次の1行を加える。ファイル末尾でよい。
samba_enable="YES"
/usr/local/etc/smb.conf.default を /usr/local/etc/smb.conf にコピーして、
# cd /usr/local/etc # cp smb.conf.default smb.conf # chmod 644 smb.conf
/usr/local/etc/smb.conf を編集する。
# vi smb.conf
内容は次のような具合。部分的に記載するので該当部分を探して変更する。
| 決める | ワークグループ名 | MyGroup |
|---|---|---|
| 決める | ワークグループに接続を許可するネットワークアドレス | ここでは192.168.0.0/24とする |
| 決める | サーバ機のIPアドレス | ここでは192.168.0.111とする |
| 決める | 共有するFreeBSD上のディレクトリ | /var/samba/winshare |
| 決める | 共有するFreeBSD上のディレクトリの所有者名 | smbuser |
workgroup = MyGroup server string = Share Directory hosts allow = 192.168.0. password server = 192.168.0.111 encrypt passwords = yes display charset = EUCJP-MS unix charset = EUCJP-MS dos charset = cp932
続いて、同ファイルに、共有ディレクトリの設定を追加する。 共有するディレクトリは好きなように設定すればよい。
[public] comment=PublicSpace path=/var/samba/winshare public=yes writable=yes printable=no
例では、smbuser というユーザを作り、/var/samba/winshare の所有者としている。
# pw useradd -n smbuser -g wheel -m # smbpasswd -a smbuser ここで適当にパスワードを入力する。 # cd /var # mkdir samba # cd samba # mkdir winshare # chown -G smbuser:wheel winshare # chmod 777 winshare
まず起動してみる(後にリブートでも自動起動するか確認しておくこと)。
# cd /usr/local/etc/rc.d # ./samba start
samba が動いているか確認。
# ps aux | grep smbd
Windows パソコンのネットワークコンピュータで次の内容を確認する。
*Windowsパソコンにsamba共有フォルダが表示されるまで、しばらく待たされる場合がある。 そういった場合は、DOSコマンドプロンプトを開いて次のコマンドをタイプした後、1分ほど待ってから、最新の情報に更新するとよい。
C:\> nbtstat -R
*ログインダイアログは表示されるけど、ログインできないという場合。
hosts allow の確認をしてみるとよい。
*ファイルをコピーするとき、Windowsファイル名に全角が入っていると「○○○をコピーできません。ファイル名、ディレクトリ名、またはボリュームラベルの構文が間違っています。」と表示される。
EUCJP-MS ではなく EUC-JP と指定してみると正しく動くかも(私は別環境になるが、それぞれの場合で動いた)。
*共有フォルダをドライブに割当てして使いたい。
共有フォルダを右クリックすれば、「ネットワークドライブの割当て」というメニューが出ると思うが、Windows再起動時に、どうしても自動ログインできない場合は次のようなコマンドを記述したバッチファイルなどをスタートアップにでも入れておく。
PAUSE net use z: /DELETE net use z: \\マシン名\共有フォルダ名 ログインパスワード /USER:ログインユーザ名
*libiconv を入れ直してみる?(かなりイケテル⇒EXTRA_PATCHES)
# cd /usr/ports/converters/libiconv/ # make config
Options for libiconv 1.13.1 [X] EXTRA_ENCODINGS Include extra character sets [X] EXTRA_PATCHES Apply patches to fix CP932 and EUCJP-MS
# make deinstall # make reinstall clean # rehash # /usr/local/etc/rc.d/samba restart