倉金家ホームページ趣味の部屋/サーバー構築メモ
| ||||||
| ||||||
インストールsamba, samba-client, samba-common, samba-libsmbclientが入っていなければインストールします。
現在のバージョンは3.0.23dです。 | ||||||
設定/etc/samba/lmhosts にサーバー名を書き加えます。
127.0.0.1 localhost 127.0.0.1 jiji 次に設定ファイル /etc/samba/smb.conf を直接編集します。 SWATというWeb編集ツールもありますがどうせ一度きりしかやらないので。 [global] workgroup = MyNet(Windowsワークグループ名) ...これはWIndowsパソコンに設定したワークグループとしっかり合わせておきます。 server string = MyDataServer(エクスプローラに表示されるデータサーバー名) netbios name = jiji(Windowsネットワーク上のホスト名) hosts allow = 192.168. 127.(接続を許可するネットワークアドレス) security = user encrypt passwords = yes 以上で接続とセキュリティーの基本設定は完了。 続いてデータディレクトリの設定。 ユーザホームディレクトリ[homes]のところはすべて;でコメント化し使いません。 家族といえどもわけのわかっていないのにはアクセスはさせません。 その他[sambadoc]などもコメント化し、共通のデータディレクトリのみアクセスできるようにしておきます。 [printers]も使わないことにしました。 Windowsマシンに直接つないでプリントした方がはるかに早くてきれいでした。 あとはデータディレクトリの設定 [Data] comment = Kuraganeke Data path = /MyHomeData/ (データディレクトリの絶対パス) read only = no guest ok = no brouseable = yes write list = @kuragane read list = @kuragane これでDataディレクトリのみkuraganeグループが読み書き可能となります。 #testparm で念のため設定内容を確認」しておきます。 | ||||||
起動ためしに起動してみます。
#service smb start SMBサービスを起動中: [ OK ] NMBサービスを起動中: [ OK ] 無事起動したようです。でもまだユーザ登録をしていないのでだれもログインはできません。 ログファイル /var/log/samba を見てみます。 smpd.logにはパスワードファイルがないから作ったとかなんたらかんたら書いてありますが致命的エラーはないようです。 /etc/samba/を見ますとsmbpasswdなるファイルが作られていますが内容は空です。 nmpd.logには起動記録以外特に変なメッセージはありません。 再起動してみます。 #service smb restart ... 今度はログには起動記録のみが記されていて問題なさそうです。 | ||||||
ユーザ登録新しくユーザkiyoshiを登録
#smbpasswd -a kiyoshi New SMB password:(パスワードを入れる) Retype new SMB password:(再度パスワードを入れる) Added user kiyoshi. でOK。 | ||||||
アクセスしてみるWindowsマシンから
マイ ネットワーク -> ネットワーク全体 -> Microsoft Windows Network -> (ワークグループ名) と開くとServer String に設定したデータサーバー名が出てきます。 これをダブルクリックで開いてユーザ名、パスワードを入力。 無事にデータにアクセスできました。 サーバーへのショートカットをデスクトップにおいておきます。 | ||||||
以上でsamba本体の設定は完了です。
引き続きSmbWebClientというソフトを導入し、LANの外部からでもsambaサーバーにアクセスできるようにします。 | ||||||
| ||||||
ダウンロードとインストールhttp://smbwebclient.sourceforge.net/ より smbwebclient-2.9.php.gz をダウンロードしました。
展開してできた smbwebclient-2.9.php を見てみます。 頭のところに標準的なインストールの仕方が書いてありますので、これを参考に自分のサイトに合わせてインストールします。 /usr/share/smbwebclient/と言うフォルダをつくり、smbwebclient-2.9.phpをsmbwebclient.phpと名前を変えていれます。 /etc/samba/にsmbwebclient.confというファイルをつくり、以下を記述。 <?php class smbwebclient_config extends smbwebclient { var $cfgSambaRoot = 'MyNet(Windowsワークグループ名)/jiji(ホスト名)'; var $cfgDefaultLanguage = 'ja'; // all your settings ... } ?> これを使いたいサイトのhttp表示ディレクトリにsambaというフォルダをつくり、ここにindex.phpをつくり、以下を記述します。 <?php $SMBWEBCLIENT_CLASS = 'smbwebclient_config'; include '/usr/share/smbwebclient/smbwebclient.php'; include '/etc/samba/smbwebclient.conf'; $swc = new smbwebclient_config; $swc->Run(); ?> smbwebclient.phpとsmbwebclient.confをわざわざ別のところに置くのはhttpサーバーの表示可能ディレクトリ外に置くということだな。きっと。 必要に応じて.htaccessを置きます。 | ||||||
接続テストと調整さっそくつないでみます。
http://kuragane.jp(sambaを置いたサイト)/samba/ sambaに登録してあるユーザ名とパスワードを入れます。 ...ファイルやディレクトリが表示されましたが日本語が見事に文字化けしています。 さっそく調整。 /usr/share/smbwebclient/smbwebclient.phpを見てみます。 var $cfgDefaultCharset = 'ISO-8859-1'; となっています。これが原因だな。 /etc/samba/smbwebclient.confに var $cfgDefaultCharset = 'EUC-JP'; を追加します。これで文字化けはOK。 あとは好みで少々変更。 やたらと言語設定がいっぱいあるので、smbwebclient.phpの中の var $strings = array ( .... ); の中の'ja'(日本語)と'en'(英語)以外の定義を/* */でコメントアウトしてしまいます。これで言語メニューにはJAとENしか出なくなります。 | ||||||
完了!
| ||||||