VMware×CentOS×Samba windowsから開発できる環境を作ろう

VMware×CentOS×Samba windowsから開発できる環境を作ろう

タイトルがわかりづらいですが

要するに、ホストOS(Windows)から、ゲストOS(CentOS5)の中のファイルを直接いじれるようにしたいのです。

で、今回はウェブの開発環境を構築しているので、ウェブ関連のディレクトリにそのままアクセスできるようにしちゃいます。

sambaのインストール

yumでちゃちゃっと
~~~
# yum -y install samba
~~~

sambaの設定

設定ファイルを編集します
~~~
# vim /etc/samba/smb.conf
~~~

文字コードの設定

[global]セクション内に下記を加えてください

~~~
unix charset = UTF-8
dos charset = CP932
display charset = UTF-8
~~~

ワークグループ名の変更

マイコンピューター右クリック>プロパティ>コンピューター名>ワークグループに書いてあります
~~~
workgroup = MYGROUP
~~~

サーバー名を変える

デフォのままでも特に問題ないので気にしない人はそのままでOK
~~~
server string = Samba Server
~~~

共有ディレクトリの設定

ここが肝心要です。
windowsからアクセスできるディレクトリを設定します

ファイルの一番下に追記してください(/var/www/htmlを開発環境とする場合)
~~~
[web]
comment = web
path = /var/www/html
public = yes
writable = yes
delete readonly = yes
force create mode = 0600
security mask = 0555
force security mode = 0600
~~~
下の3行はsvn使っていると必要になります

これで設定ファイルは終了です。

ユーザをSambaユーザへ追加する

sambaにユーザー登録します
~~~
# pdbedit -a root
#

new password:(パスワード入力)
retype new password:(パスワード入力もういっかい)
~~~

samba用のパスワードの設定も必要っぽい

これしないとアクセスできなかった
~~~
smbpasswd -a root
~~~

samba用パスワードの設定(-aを付けないとパスワードの変更になる。

↑8/6追記

Samba起動

準備はすべて完了したので起動します
~~~
# /etc/rc.d/init.d/smb start
~~~

自分は大体↓で
~~~
# service smb start
~~~

忘れず自動で起動するようにしましょう
~~~
chkconfig smb on
~~~

アクセスできるか確認

windows上で
~~~
\\192.168.**.**\web
~~~
アクセスしてみましょう、ファイルが表示されれば無事完了です

エラーが起きた場合

selinux が原因かも?

対処方法
~~~
# getenforce で状態確認

# setenforce 0 SELinux無効化
~~~

iptablesが原因かも?

確認方法
~~~
/etc/init.d/iptables stop
~~~
これでアクセスできたらiptablesが原因です。
sambaを許可してあげましょう

~~~
iptables -I INPUT 3 -p tcp –dport 445 -j ACCEPT
iptables -I INPUT 3 -p tcp –dport 139 -j ACCEPT
iptables -I INPUT 3 -p udp –dport 138 -j ACCEPT
iptables -I INPUT 3 -p upd –dport 137 -j ACCEPT
~~~
↑8/6追記

他にも繋がらない場合、ファイルが作成できない場合などあった気がするので起きたら追記していきます

参考:#09 Sambaのインストール・設定::VMWare×CentOS5 Windowsでカンタン開発環境 – 肉とご飯と甘いもの @ sotarok