Dell Optiplex GXa |
SolarisTM 9 x86 9/04 |
samba-3.0.10
必要なソフトウェア:
samba-3.0.10.tar.gz(16.Dec.2004 Released)
ftp://ftp.samba.gr.jp/pub/samba/
※ 事前にlibiconv-1.9.2をインストールしておく必要がある。
(libiconvを /usr/lib/ 内にも入れておく事)
準備:
後のコンパイル中に以下のようなエラーになって止まってしまう場合。
Linking bin/smbd
/usr/ccs/bin/ld: illegal option -- E
usage: ld [-6:abc:d:e:f:h:il:mo:p:rstu:z:B:CD:F:GI:L:M:N:P:Q:R:S:VY:?] file(s)
[-64] enforce a 64-bit link-edit
[-a] create an absolute file
[-b] do not do special PIC relocations in a.out
...中略...
[-z textoff] allow output relocations against text
[-z textwarn] warn if there are relocations against text
[-z verbose] generate warnings for suspicious processings
collect2: ld returned 1 exit status
make: *** [bin/smbd] Error 1
これは、Solaris標準のld(リンカ)は、-Eオプションに対応していないために起こっているらしい。
そこでGNUのbinutils-2.15でインストールさたldとSolarisの
ldを入れ替える(シンボリックリンクを張る)ことにした。
SuperUserになる。
$ su
password:
ディレクトリを移動する。
# cd /usr/ccs/bin
ldを別名で保存しておく。
# mv ld ld_default
GNUのldのシンボリックリンクを張る。
# ln -s ../../local/bin/ld ./
また、Solaris Software Companion CD からsambaをインストールしている場合は、起動しないようにしておく。
ディレクトリを移動する。
# cd /etc/rc3.d/
念のため、デフォルトのsambaを停止。
# ./S90samba stop
マシン起動時にsambaも起動しないように殺しておく。
# mv S90samba _S90samba
一般ユーザーに戻る。
# exit
$
インストール:
作業ディレクトリを作成する。
$ mkdir /opt/src/samba-3.0.10
作業ディレクトリに移動する。
$ cd /opt/src/samba-3.0.10
アーカイブをダウンロードする。
$ wget ftp://ftp.samba.gr.jp/pub/samba/samba-3.0.10.tar.gz
ダウンロードしたアーカイブを解凍展開する。
$ tar xozf samba-3.0.10.tar.gz
展開されたディレクトリのsourceディレクトリに移動する。
$ cd samba-3.0.10/source/
最適化スクリプトを実行する。
$ ./configure --prefix=/usr/local/samba3.0 --with-libiconv=/usr/local
コンパイルする。
$ make
SuperUserになる。
$ su
password:
インストールする。
# make install
インストールが済んだら、上記(準備:)で入れ替えた ld を元に戻しておく。
# cd /usr/ccs/bin
# rm ld
# mv ld_default ld
OS側の設定:
swatのポート番号を、OSに認識swatとしてさせる。
viで/etc/servicesを開く。
# vi /etc/services
以下の内容を追加して保存する。
swat 901/tcp # swat on samba
swatをinetd経由で開かせるので、inetd.confに必要な設定をする。
/etc/inetd.confをviで開く。
# vi /etc/inetd.conf
以下の内容を追加して保存する。(この場合TCP_Wrappersも有効にしている)
swat stream tcp nowait.400 root /usr/local/sbin/tcpd /usr/local/samba3.0/sbin/swat
initdにHUPシグナルを送る。
# pkill -HUP inetd
samba3.0系のswatはデフォルトの状態(smb.confがない状態)で開くと文字化けを起こすので、
使用する文字コードだけを記述したsmb.confを作成しておく。
新規ファイルsmb.confを作成する。
# vi /usr/local/samba3.0/lib/smb.conf
とりあえず以下の内容を記述して保存する。
[global]
dos charset = CP932
unix charset = CP932
display charset = CP932
swatでの設定:
ブラウザのURLに http://サーバーIP:901/ (例:http://192.168.0.150:901/) を入力して
swatにアクセスする。
ベーシック認証ウィンドウが開くので、ユーザー名に「root」、パスワードに「rootのパスワード」を入力して
OKボタンを押す。
● 全体設定
swatが開いたら、上部の「GLOBALS」ボタンを押し、さらに「詳細表示」ボタンを押す。
設定の変更部分は以下。
==============================================================
update encrypted = Yes
wins support = Yes
ldap ssl = no
valid users = you (WindowsのログオンID名)
admin users = you (WindowsのログオンID名)
printer admin = you (WindowsのログオンID名)
hosts allow = 192.168.0.0/255.255.255.0 (使用しているネットワークアドレス/サブネットマスク)
hosts deny = 0.0.0.0
==============================================================
上記入力が済んだら、設定変更ボタンを押す。
● ユーザーの追加
上部の「PASSWORD」ボタンを押す。
以下のように入力する。
==============================================================
ユーザ名 you (WindowsのログオンID名)
新パスワード ******** (Windowsのログオンパスワード)
新パスワードの再入力 ******** (Windowsのログオンパスワード)
==============================================================
上記入力が済んだら、新規ユーザー追加ボタンを押す。
● 共有設定
「SHARES」ボタンを押す。
ファイル共有の作成の欄に、希望の共有名を入力し、ファイル共有の作成ボタンを押す。
以下のように入力する。
==============================================================
path /export/home/you (共有したいディレクトリをフルパスで入力)
read only no
==============================================================
上記入力が済んだら、変更を反映ボタンを押す。
起動設定: 本体起動時に自動起動するようにしておく。
/opt/src/samba-3.0.10/samba-3.0.10/examples/svr4-startup/samba.serverを/etc/init.d/に
コピーする。
# cp /opt/src/samba-3.0.10/samba-3.0.10/examples/svr4-startup/samba.server /etc/init.d/
コピーした起動ファイルをく。
# vi /etc/init.d/samba.server
以下のように変更する。
# /opt/samba/bin/smbd -D -s/opt/samba/smb.conf
# /opt/samba/bin/nmbd -D -l/opt/samba/log -s/opt/samba/smb.conf
/usr/local/samba3.0/sbin/smbd -D -s/usr/local/samba3.0/lib/smb.conf
/usr/local/samba3.0/sbin/nmbd -D -l/var/log/samba -s/usr/local/samba3.0/lib/smb.conf
ディレクトリを移動する。
# cd /etc/rc2.d/
コピーした起動スクリプトのシンボリックリンクを/etc/rc2.dに張る。
# ln -s ../init.d/samba.server ./S90samba.server
sambaを起動する
# /etc/rc2.d/S90samba.server start
Windowsマシンからアクセスして実験してみる。