Samba 3.0 インストール手順 Since: 2006.01.08
Last: 2006.01.08

■目次
環境情報
入手先
libiconv + Windows互換パッチ インストール手順
sambaインストール手順
SWATへのアクセス権設定
文字コード設定


■環境情報
OS: CentOS 4.2
samba: 3.0.21a

■入手先
samba配布元: http://www.samba.gr.jp/
libiconv配布元: http://www.gnu.org/software/libiconv/
libiconvパッチ配布元: http://www2d.biglobe.ne.jp/~msyk/software/libiconv-1.9.1-cp932-patch.html


■libiconv + Windows互換パッチ インストール手順
Samba 3.0以降は国際化対応が成されており、文字コードの変換にはlibiconvを使用している。
しかし、glibcに含まれるlibiconvではUnicodeのコード変換テーブルがWindows互換ではない等の問題があるため、Sambaにて使用するにはパッチを適用したlibiconvを下記の手順にて準備する必要がある。

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz
wget http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.9.1-cp932.patch.gz
gzip -dc libiconv-1.9.1.tar.gz | tar xvf -
cd libiconv-1.9.1
gzip -dc ../libiconv-1.9.1-cp932.patch.gz | patch -p1
./configure --prefix=/usr/local
make ; make check
make install

パッチが正常に適用できたかを下記のコマンドにて確認する。

iconv -l | egrep -i '(-31j|-ms)'

下記の文字列が表示されれば正常に適用されている。

EUC-JP-MS
EUCJP-MS



■sambaインストール手順
以下の手順にてsambaをインストールする。

wget ftp://ftp.samba.gr.jp/pub/samba/samba-3.0.21c.tar.gz
tar xfvz samba-3.0.21c.tar.gz
cd samba-3.0.21c/source/
./configure --prefix=/usr/local/samba --with-privatedir=/etc/samba --with-configdir=/etc/samba --with-libiconv=/usr/local --with-automount --with-smbmount --with-pam --with-pam_smbpass --with-syslog --with-quotas --with-utmp --with-smbwrapper
make
make install

* 確認事項
configure時にlibiconvが有効になっているか確認すること

checking for iconv in /usr/local/lib... yes

sambaは /usr/local/samba にインストールされる。
次に起動に必要な設定を行う。

cp ../packaging/RedHat/smb.init /etc/rc.d/init.d/samba
cp ../packaging/RedHat/samba.pamd /etc/pam.d/samba
cp ../packaging/RedHat/samba.xinetd /etc/xinetd.d/swat
chmod 755 /etc/rc.d/init.d/samba

cd /usr/sbin
ln -s /usr/local/samba/sbin/smbd smbd
ln -s /usr/local/samba/sbin/nmbd nmbd
ln -s /usr/local/samba/sbin/swat swat

cd /etc/rc.d/rc3.d
ln -s ../init.d/samba S91samba
cd /etc/rc.d/rc5.d
ln -s ../init.d/samba S91samba

以上の手順で自動起動までの設定は完了する。
Sambaの起動・停止制御は下記の手順にて行なう。

/etc/rc.d/init.d/samba start
/etc/rc.d/init.d/samba stop

smb.confを作成した後にSambaを起動する。


■SWATへのアクセス権設定
SWAT(Samba Web Administrator Tools)を使用する場合には、スーパーサーバ(この説明ではxinetd)の設定が必要となる。
/etc/xinetd.d 配下にコピーしたswatの起動設定を以下に修正する。

service swat
{
port = 901 使用するポートを指定。変更不要
socket_type = stream ソケットタイプを指定。変更不要
wait = no サービスが使用するスレッドタイプを指定。変更不要
only_from = 127.0.0.1 SWATへのアクセスを許可するホストを指定。要変更
user = root サービスを実行するUIDを指定。変更不要
server = /usr/sbin/swat SWATの実行ファイルを指定。swatの配置合わせて変更
log_on_failure += USERID サービスへの接続に失敗した場合にログに出力する内容を指定
disable = yes サービスの有効・無効化。yes=無効、no=有効になるため要変更
}

設定が完了したらxinetdを再起動し、webブラウザから以下のアドレスにアクセスする。

http://[IP Address]:901/

認証画面が表示されたら、UID = root、Password = rootのパスワードでログインする。


■文字コード設定
Samba3.0以降はsmb.conf内に3種類の文字コード設定が必要となる。

unix charset UNIX上のファイルシステムに用いられている文字コード
dos charset Windows側で利用されている文字コード
display charset SWATの画面に表示される文字コード

指定することが可能な文字コードはCP932/EUCJP-MS/UTF-8の3種類となる。
Windows/Unix上から日本語文字のファイルを正常に読み出すには下記の設定を行なう。


dos charset = CP932
unix charset = EUCJP
display charset = CP932

Unix上にて正常に日本語文字のファイル名を表示させるには、環境変数にLANG=ja_JP.eucJPを設定する。


戻る