2015年11月25日水曜日

Samba、Webdav、Apacheの文字化けを解消する方法(FreeBSD10.2)

HPMicroserverが以前格安で手に入ったのでFreeBSDでサーバー構築したが、同じフォルダに対してSambaとWebdavアクセスを併用し、クライアントにWindows、Mac、iOS、Linuxが混在すると、どうしても文字化けする。それを解決する方法を紹介する。ちなみに、私の環境はFreeBSD 10.2である。

方法:
Sambaで文字コードを指定しないこと
その上で、Apacheの設定ファイルhttpd.confの<Directory "/hoge">にIndexOptions Charset=UTF-8を追記すること。

たったこれだけ。
これだけで、文字化けから解消される。
また、PuttyからSSHでログインする際は、ウィンドウ→変換のリモートの文字セットをUTF-8にしておく。

一応、私が使用している設定を一部載せておく。

Sambaの設定はこれを参照
/usr/local/etc/smb4.conf

[global]
workgroup = WORKGROUP
server string = FreeBSD
security = user
hosts allow = 192.168.
netbios name = hoge
map to guest = Bad User
load printers = no
log file = /var/log/samba4/log.%m
max log size = 50
dns proxy = no
max protocol = SMB2
printing = bsd
↑ここにcharsetのオプションを記載しない

[hogehoge]
path = /home/hogehoge
browseable = yes
writable = yes
guest only = yes
guest ok = yes
force create mode = 760
force directory mode = 770

Sambaでアクセスするフォルダ(hoge)はパーミッションを770もしくは777にする。Sambaでユーザー認証を用いる場合は777にしないと動作しなかった。

ただし、管理人自身FreeBSDに精通しているとは言い難いので、ほかにも必要な設定があったのかもしれない。 (うちではとりあえずこれで動きました)
やっていることは全てUTF-8に統一しているだけなので、CharsetにUTF-8を全てのクライアントOS用に記載してもよいのかもしれない。

時間があればMicroserverでFreeBSD+ZFSでサーバー構築する方法を書こうと思います。
一時期格安で販売されていたので、意外と宝の持ち腐れになっている人もいるのではないかと思う。FreeNASではできることが制限されるし。

0 件のコメント:

コメントを投稿