*はじめに [#v39fdc46]
-''ファイル名の文字コード''~
samba+netatalkを使って日本語ファイル名を扱うとき文字コードが問題になります。~
主に次の2通りの方法ががありますので、好きなほうを選択してください。~
本件に関し、[[netatalk2 & samba3:http://www003.upp.so-net.ne.jp/hat/netatalk/]]が非常に参考になります。~
--(1)Shift-JIS~
ファイル名をShift-JISで扱います。LANDISKのオリジナルと同じ文字コードです。~
Mac特有の文字が扱えないという問題がありますが、既に使用中のファイル名を変更することなく使えます。~
--(2)UTF8~
ファイル名をUTF8で扱います。~
UTF8を使用するとMac特有文字とWindows間の文字コード問題をほぼ解決することができます。~
しかし、次のような問題が発生します。~
---文字コード変換~
LANDISK環境で使用中のファイルは、Shift_JISであるためUTF8に変換する必要があります。~
(LANDISK環境で、該当ファイルを別マシンに一旦退避させ、sambaをUTF8に設定後、~
書き戻すのが一番簡単な方法です。)~
~
---相互運用性の問題~
UTF8へ変換後のファイルはオリジナルのLANDISK環境からは文字コードが違うため文字化けします。~
~
-''nobody:nobodyの変更''~
オーナー:グループ=nobody:nobodyの番号をLANDISKと同じ値、65534:65534へと変更します。~
#pre{{
bash-2.05b# groupmod -g 65534 nobody
bash-2.05b# usermod -u 65534 -g nobody nobody
}}
-''インストール''~
yumでまとめてインストールします。~
#pre{{
bash-2.05b# yum install netatalk samba samba-swat
}}
~
*Samba 3 [#ka3d8d3e]
-''/etc/samba/smb.conf''~
大体こんな感じになります。(UTF8で使用する場合はUTF-8を:&color(red){CP932};へ変更)~
hosts allowを環境に合わせて変更してください。~
#pre{{
# Global parameters
[global]
dos charset = CP932
unix charset = &color(red){UTF-8};
display charset = EUCJP-MS
server string = HDL series
map to guest = Bad User
null passwords = Yes
unix password sync = Yes
log file = /var/log/samba/%m.log
socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768
os level = 0
dns proxy = No
guest ok = Yes
&color(red){hosts allow = 192.168.0., 192.168.1., 127.};
[disk]
comment = LAN disk
path = /share/disk
read only = No
force create mode = 0777
force directory mode = 0777
guest only = Yes
[www]
path = /share/www
read only = No
force create mode = 0777
force directory mode = 0777
guest only = Yes
}}
-''smb/nmbデーモンの(再)起動''~
#pre{{
bash-2.05b# /etc/init.d/smb restart
省略…
SMBサービスを起動中: [ OK ]
NMBサービスを起動中: [ OK ]
bash-2.05b#
}}
-''ランレベルの設定''~
smbデーモンのランレベルを設定します。
ランレベル3,4,5で動作するよう設定します。~
bash-2.05b# chkconfig --level 345 smb on
~
*Netatalk 2 [#yac7a2b2]
-''/etc/atalk/AppleVolumes.default''~
最終行を変更。(UTF8で使用する場合はUTF8を:&color(red){Shift_JIS};へ変更)~
#pre{{
#~
:DEFAULT: options:usedots cnidscheme:dbd maccharset:&color(purple){MAC_JAPANESE}; volcharset:&color(red){UTF8};
/share/disk "disk"
/share/www "www"
#マウントするディレクトリとMacからアクセスするフォルダ名を列挙
}}
-''/etc/atalk/afpd.conf''~
最終行を変更。~
#pre{{
- -transall -uamlist uams_guest.so,uams_clrtxt.so -maccodepage &color(purple){MAC_JAPANESE}; -unixcodepage &color(blue){EUC-JP};
}}
-''/etc/atalk/netatalk.conf''~
該当箇所を変更。~
#pre{{
# specify the Mac and unix charsets to be used
ATALK_MAC_CHARSET='&color(purple){MAC_JAPANESE};'
ATALK_UNIX_CHARSET='&color(blue){EUC-JP};'
}}
-''netatalkデーモンの(再)起動''~
#pre{{
bash-2.05b# /etc/init.d/atalk restart
省略…
FATAL: Module appletalk not found.
[could not load appletalk module]
Starting AppleTalk services:
Starting atalkd: [ OK ]
Registering landisk:Workstation: [ OK ]
Registering landisk:netatalk: [ OK ]
Starting papd: [ OK ]
Starting cnid_metad: [ OK ]
Starting afpd: [ OK ]
bash-2.05b#
}}
&color(red){FATAL: Module appletalk not found.};と怒られるが無視でOK!~
なぜなら、appletalkは、モジュールでなくカーネルに組み込んでいるから!~
-''接続''~
MacOSX(Panther)の場合、「移動」→「サーバへ接続」→「サーバアドレス」を次のように指定して接続できます。~
afp:/at/landisk
*付録 … swatの設定 [#o2275300]
sambaの設定をwebブラウザから設定するためのツールswatの設定を行います。
-''/etc/xinetd.d/swat''~
#pre{{
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1
&color(red){only_from = 192.168.0.0/24}; ←アクセスを許可する端末を追加
&color(red){only_from = 192.168.1.0/24};
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = &color(red){no};
}
}}
-''xinetdの再起動''~
#pre{{
bash-2.05b# /etc/xinetd restart
}}
-''ブラウザでアクセス''~
ブラウザで、http://YOUR_LANDISK:901/をアクセスし、rootパスワードを入力すると~
sambaの設定画面が表示されます。~
~
&ref(swat.jpg,nolink);~
~
*番外編 … WebDAVによるファイル共有 [#f9d3e37a]
-''mod_encodingのインストール''~
yum install mod_encoding
~
-''/share/webdavの作成''~
#pre{{
bash-2.05b# cd /share
bash-2.05b# mkdir webdav
bash-2.05b# chown apache:apache webdav
}}
-''/etc/httpd/conf.d/webdav.conf''~
#pre{{
Alias /webdav "/share/webdav"
<Location /webdav>
Order deny,allow
Deny from all
Allow from 192.168.0.0/24
Allow from 192.168.1.0/24
Dav on
</Location>
}}
-''apacheの再起動''~
#pre{{
bash-2.05b# /etc/init.d/httpd restart
httpdを停止中: [ OK ]
httpd を起動中: [ OK ]
}}
-''接続''~
Windowsの場合、~
「マイ ネットワーク」→~
「ネットワークプレースを追加する」→~
「インターネットまたはネットワークのアドレス」で~
http://192.168.1.80/webdav~
等と入力~
~
#counter