2007年2月25日星期日

坎坷的samba-3源码安装一:编译安装

系统是redhat9 2.4.20-8,系统自带装了samba-2.2.7a-7.9.0
下载samba最新版,文件名samba-3.0.24.tar.gz
1、解压、编译、安装
#tar xzvf samba-3.0.24.tar.gz
#cd samba-3.0.24/source
#./configure;make;make install
;没用路径参数,因为默认是/usr/local/samba
2、安装smb.conf
#cp ./samba-3.0.24/examples/smd.conf /usr/local/samba/lib
;安装目录下有很多smd.conf的例子,但/usr/local/samba/lib下却没有,所以必须copy.
#/usr/local/samba/bin/testparm
;检查smb.conf配置语法是否错误和设置是否成功(默认的smb.conf,不会有问题:)
3、配置smb.conf
#vi smb.conf
有两个地方非改不可
workgroup=mygroup(我的windows机子的工作组名,有三台win机,都是"workgroup" 工作组)
增加:unix charset=cp936
dos charset=cp936
display charset=cp936
; 这三条设置的目的是在win机上使用“网络邻居“共享到linux上的文件夹和文件时,显示汉字。
4、增加smb用户
一般linux机子上都有很多用户,比如有一个用户名是rocky,那么:/usr/local/samba/bin/smbpasswd -a rocky,就把rocky增加为smb用户了。
5、启动smb服务
#service iptables stop
#service network restart
#/usr/local/samba/sbin/smbd -D
#/usr/local/samba/sbin/nmbd -D
启动完成,然后到win机上,打开网络邻居,就可以看到linux机子。输入“rocky"和密码,就可以看到linux机子上/home/rocky的文件夹内容了。

最后一步,需要做的就是把smb服务设为开机启动。
vi /etc/rc.d/rc.local,加入/usr/local/samba/sbin/smbd -D
;/usr/local/samba/sbin/nmbd -D 就可以了。
如果启动后修改了smb.conf,重复第5条操作就可以了,不用重启。

安装并不复杂,但还是走了弯路。网上很多此类文章,有四点迷惑人:
一是如果系统里已经有samba旧版本的时候(用rpm -qagrep smaba)由源码安装的samba3.0.24无法启动,所以最好是把旧的卸载掉先(用rpm -evv samba.x.x.x).
一是显示汉字问题。很多文章的设置都是基于samba2.x的,与3.0不同。
二是相关文件存放的路径,如smb.conf,有些说在/etc/下,有的在/usr/sabma下。这一点,其实只要认真看看安装文档就解决了。
三是启动问题,大部分都提到可以/etc/rc.d/init.d/smb start,我看/etc/rc.d/init.d下并没有smb脚本,估计要自己写一个请参考坎坷的samba-3源码安装二:smb 脚本,但把启动放在/erc/rc.d/rc.local我觉得也很方便。
另外,samba安装目录下有一个docs子目录,有一个samba-howto.pdf文档,非常详尽,汉字显示的解决就是看了这个才解决的。
samba有很多详细设置,我刚安装,很多内容有待今后去实践。

没有评论: