連載
» 2004年05月19日 00時00分 公開

Samba 3.0のインストールと国際化の現状Samba 3.0の全貌 改訂版(1)(2/3 ページ)

[たかはしもとのぶ,@IT]

Samba 3.0系列のインストール

 Samba 3.0系列のインストールについて、簡単に説明します。

 最近は、OSやディストリビューションのパッケージとしてSamba 3.0系列がインストールされる場合も増えてきているので、まずは確認してみてください。例えば、RHEL 3.0やFedora Coreに付属するSambaのパッケージはSamba 3.0系列になっており、後述する日本語ファイル名サポートの問題もありません。しかし、ディストリビューションによっては日本語サポートの問題のため、パッケージがあってもそのまま使用できるとは限りません。

 少なくとも、後述するunix charsetパラメータの値としてeucJP-msを指定して日本語ファイル名がEUCで書き込まれるようであれば、日本語ファイル名サポートは問題なしと考えてよいでしょう。

■非公式パッケージからのインストール

 ディストリビューション付属のパッケージが使えない環境で、手軽にSamba 3.0系列を試してみたい場合、Linuxには以下のような方法があります。

●Red Hat系ディストリビューション

 Red Hat系のLinuxディストリビューションについては、以下のURLから入手できる日本Sambaユーザ会提供の非公式なRPMパッケージを利用することが可能です。

 ここからSRPMファイルを入手し、リビルドしてRPMパッケージを作成して使用するのがよいでしょう。

 なお、パッケージは

  • glibcを入れ替えるもの
  • GNU libiconvをインストールする(もしくは置き換える)もの

の2種類あります。glibcの入れ替えはほかへの影響が大きいので、取りあえず試したい場合はGNU libiconvをインストールするパッケージがよいでしょう。

 SRPMファイルからのパッケージのリビルドは、以下のようなコマンドで行います。

# cd /usr/src/redhat/SRPMS/
# rpm --rebuild libiconv-1.8-1.src.rpm
# rpm --rebuild samba-3.0.0-3iconv.src.rpm
SRPMの再コンパイル
注:Red Hat Linux 8以降の場合、rpmコマンドではなくrpmbuildコマンドを実行すること。また、必要なSRPMファイルは、あらかじめ/usr/src/redhat/SRPMS以下にコピーしておくこと。

 リビルドに成功すると、/usr/src/redhat/RPM/RPMS/i386以下にRPMファイルが作成されるので、これを用いてインストールを行ってください。なお、リビルド時にSambaのコンパイルが行われるので、GCCをはじめとする一般的な開発環境に加え、LDAP、Kerberosなどの開発環境がインストールされている必要があります。

●Debian

 Debian GNU/Linux 3.0などを使用している場合は、斉藤氏が提供しているパッケージを使用することができます。インターネットと通信が可能な環境であれば、/etc/apt/sources.listファイルに、

deb http://everybody.good-day.net/~nsaito samba3/
/etc/apt/sources.listファイルの修正点

のような記述を追加したうえで、以下のようにしてインストールを行ってください。

# apt-get update
# apt-get install locales
# apt-get install samba
インストールに必要なコマンド

■ソースからのインストール

 上記の方法が使えない、あるいは最新版を使用したい場合などは、ソースからのインストールとなります。この場合、通常はSambaのインストールに先立ってGNU libiconvのインストールが必要です。また、LDAP認証データベースやADドメインのサポート機能を有効にする場合は、LDAPやKerberosの開発環境もインストールしておく必要があります。

●GNU libiconvのインストール

 Samba 3.0系列における日本語を含む文字コード変換は、後述するように、Samba外部のiconv()関数によって実現します。iconv()関数は、各種UNIXやLinuxディストリビューションのglibcに存在するのですが、ほとんどのiconv()関数は、

  • 機種依存文字などがサポートされていない
  • Unicodeとの文字コードの変換テーブルがWindows完全互換でない

といった問題があり、Sambaで使用するには問題があります。

 森山氏の尽力により、この点はglibc-2.3.3以降では解消されました。またglibc-2.2.5以降とGNU libiconv-1.8以降でも、同じく森山氏の作成した日本語ロケールサポートパッチを適用することで対処可能です。ただし、glibcの置き換えは影響が大きいため、基本的には日本語ロケールパッチを適用したGNU libiconvをインストールした方がよいでしょう。

 原稿執筆時点におけるGNU libiconvの最新版は1.9.2ですが、日本語ロケールパッチの最新版は、ミラクル・リナックス社のSamba 3.0国際化プロジェクトのIssues in iconvページで公開されているGNU libiconv-1.9.1用の日本語ロケールパッチlibiconv-1.9.1-cp932.patch.gzになります。

 別途libiconv-1.9.1.tar.gzを取得したうえで、以下のようにしてインストールを行ってください。Samba 3.0系列をインストールするうえでは、configureオプションの指定は不要です。

$ ls
libiconv-1.9.1.tar.gz libiconv-1.9.1-cp932-patch.gz
$ tar xf libiconv-1.9.1.tar.gz
$ cd libiconv-1.9.1
$ zcat ../libiconv-1.9.1-cp932-patch.gz | patch -p1
$ ./configure; make;
$ su
# make install
GNU libiconv-1.9.1へのパッチ適用とインストール

 GNU libiconvのインストールが完了したら、

$ /usr/local/bin/iconv -l | grep -i EUCJP-MS
EUCJP-MS
EUCJP-MSロケールの確認
注:EUCJP-MSという行が出力されればよい。

を実行して、パッチによって追加されるEUCJP-MSロケールが認識されていることを確認しておくとよいでしょう。

 また、Linuxの場合は/usr/local/libを共有ライブラリの参照パスに含めるため、/etc/ld.so.confに、

/usr/local/lib

という1行を追加して、ldconfigコマンドを実行しておいてください。

●Samba 3.0系列のインストール

 GNU libiconvをインストールしたら、いよいよSamba本体のインストールです。

 Samba 3.0系列からは、多くの機能がsmb.conf内のパラメータで設定できるようになったり、configure時に環境を自動検出して機能を有効にするようになりました。そのため、考慮が必要なconfigureオプションはそれほど多くありません。Samba固有のconfigureオプションのうち、意識した方がよいと思われるものを表1に示します。

  基本的に指定が必須のもの
  --with-libiconv=<ディレクトリ> GNU libiconvのインストール先を指定
  --with-pam PAMサポートの有効化
  必要に応じて指定するもの
  --with-ads Active Directory対応機能のサポート
  --with-ldapsam Samba 2.2系列互換のLDAP認証機能のサポート
  表1 Samba 3.0の主なconfigureオプション

 先ほど作成したlibiconvを使用するため、--with-libiconvオプションは必ず指定しなければなりません。システムがPAMをサポートしている場合は、--with-pamも付けた方がよいでしょう。

 --with-adsのデフォルトは、autoとなっています。このため、LDAPやKerberosの開発環境がインストールされていれば、自動的にActive Directory対応機能が有効になります。ただし、それ以外の場合は警告なしにActive Directory対応機能が無効になってしまいます。

 明示的にこのオプションを指定しておけば、LDAPやKerberosの開発環境がインストールされていないとconfigureエラーになるので、「知らないうちにこの機能が無効になっていた」というトラブルを回避できます。

 これ以外のオプションについては、必要に応じて適宜設定してください。筆者が検証時などに用いる、主要な機能をすべてサポートさせるconfigureオプションを以下に示します。

./configure --with-libiconv=/usr/local --with-automount --with-smbmount --with-pam --with-pam_smbpass --with-ldapsam --with-syslog --with-quotas --with-utmp --with-winbind --with-ldap --with-ads --with-smbwrapper
注:ただし、--with-ldapsamを付けるとデフォルトの認証データベースがsmbpasswdでなくなるため、このオプションは本当に必要な場合以外は付けない方がよいでしょう。

 特にインストール先の指定を行わない場合は、make installを行うと/usr/local/samba以下にSambaがインストールされます。configureからインストールまでの流れを以下に示します。

$ tar xjf samba-3.0.3.tar.bz2
$ cd samba-3.0.3/source
$ ./configure --with-libiconv=<ディレクトリ> --with-pam <そのほかのオプション>
$ make
$ su
# make install
Samba 3.0.3のconfigureとインストール手順

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。