1, download file
wget https://download.samba.org/pub/samba/stable/samba-4.2.0.tar.gz
2,解压文件
tar -xzvf samba-4.2.0.tar.gz
3,编译安装Samba
cd samba-4.2.0 ./configure --prefix=/usr/local/samba/ make;make install
4,编译过程及状态
* installing bin/default/source4/utils/man/oLschema2ldif.1 as /usr/local/samba/share/man/man1/oLschema2ldif.1 * installing bin/default/source4/torture/man/smbtorture.1 as /usr/local/samba/share/man/man1/smbtorture.1 * installing bin/default/source4/torture/man/gentest.1 as /usr/local/samba/share/man/man1/gentest.1 * installing bin/default/source4/torture/man/masktest.1 as /usr/local/samba/share/man/man1/masktest.1 * installing bin/default/source4/torture/man/locktest.1 as /usr/local/samba/share/man/man1/locktest.1 * installing bin/default/pidl/pidl.1 as /usr/local/samba/share/man/man1/pidl.1 * installing bin/default/pidl/Parse::Pidl::Dump.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Dump.3pm * installing bin/default/pidl/Parse::Pidl::Wireshark::Conformance.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Wireshark::Conformance.3pm * installing bin/default/pidl/Parse::Pidl::Util.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Util.3pm * installing bin/default/pidl/Parse::Pidl::NDR.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::NDR.3pm * installing bin/default/pidl/Parse::Pidl::Wireshark::NDR.3pm as /usr/local/samba/share/man/man3/Parse::Pidl::Wireshark::NDR.3pm Waf: Leaving directory `/opt/samba-4.2.0/bin' 'install' finished successfully (22.193s)
5,动态加载Samba 库文件
[root@localhost samba]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/local/openssl/lib /usr/local/samba/lib [root@localhost samba]# ldconfig
6,samba 服务配置
[global] workgroup = MYGROUP server string = Samba Server Version %v log file = /var/log/samba/log.%m max log size = 50 security = user map to guest = Bad Password passdb backend = tdbsam load printers = yes cups options = raw [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes [ris] path=/data/tftpboot browsable=true read only=yes writable=yes guest ok=yes [win2k8_x64_r2_en] path=/data/tftpboot/win2k8_x64_r2_en browsable=true read only=yes writable=yes guest ok=yes [win2k8_x64_r2_cn] path=/data/tftpboot/win2k8_x64_r2_cn browsable=true read only=yes writable=yes guest ok=yes
7,启动相关服务
在启动服务之前需要添加smb.conf 软连接 [root@localhost samba]# ln -s /usr/local/samba/etc/smb.conf /usr/local/samba/lib/smb.conf [root@localhost etc]# /usr/local/samba/sbin/smbd -D [root@localhost etc]# /usr/local/samba/sbin/nmbd -D
8, FAQ
Samba 文件语法检查 [root@localhost bin]# ./te Load smb config files from /usr/local/samba/etc/smb.conf WARNING: Ignoring invalid value 'share' for parameter 'security' Error loading services. [root@localhost bin]# 解决办法: # ----------------------- Standalone Server Options ------------------------ # # Scurity can be set to user, share(deprecated) or server(deprecated) # # Backend to store user information in. New installations should # use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration. #security = share security = user map to guest = Bad Password passdb backend = tdbsam 在samba 4.2.0 版本之后不再兼容3.0 的版本, 该参数无法兼容security=share ,改成以下配置即可完成!
2, Python 库依赖报错 Checking for Python version >= 2.5.0 : ok 2.6.6 Checking for library python2.6 : not found Checking for library python2.6 : not found Checking for library python26 : not found Checking for program python2.6-config : not found Checking for program python-config-2.6 : not found Checking for custom code : Could not find the python development headers /opt/samba-4.2.0/wscript:107: error: the configuration failed (see '/opt/samba-4.2.0/bin/config.log') yum -y install python-devel
3, gnutls 库版本问题 Checking for com_right_r : ok Checking for gnutls >= 1.4.0 and broken versions : not found /opt/samba-4.2.0/source4/lib/tls/wscript:30: error: Building the AD DC requires GnuTLS (eg libgnutls-dev, gnutls-devel) for ldaps:// support and for the BackupKey protocol yum -y install gnutls*
4,如遇到其他各种依赖库文件,放大招 yum groupinstall "Development Tools" "Development Libraries"
5,acl 库依赖 building on linux2 Checking for library acl : not found Checking for acl_get_file : not found Checking for POSIX ACL support : not found Checking for library sec : not found Checking for facl : not found Checking for library pacl : not found Checking for acl_get_fd : not found /opt/samba-4.2.0/source3/wscript:481: error: ACL support not found. Try installing libacl1-dev or libacl-devel. Otherwise, use --without-acl-support to build without ACL support. ACL support is required to change permissions from Windows clients. yum -y install nfs4-acl-tools libacl-devel acl libacl
6, LDAP support not found 解决 hecking for endnetgrent prototype : ok Checking for program cups-config : not found Checking for header cups/cups.h : no Checking for header cups/language.h : no Checking for library cups : not found Checking for httpConnect : not found Checking for httpConnectEncrypt : not found --enable-iprint=yes but cups support not sufficient Checking for header ldap.h : no Checking for header lber.h : no Checking for header ldap_pvt.h : no Checking for ber_tag_t : not found Checking for library lber : not found Checking for ber_scanf : not found Checking for ber_sockbuf_add_io : not found Checking for variable LDAP_OPT_SOCKBUF : not found Checking for variable LBER_OPT_LOG_PRINT_FN : not found Checking for library ldap : not found Checking for ldap_init : not found Checking for ldap_init_fd : not found Checking for ldap_initialize : not found Checking for ldap_set_rebind_proc : not found Checking for library ldap : not found Checking for ldap_add_result_entry : not found Checking whether ldap_set_rebind_proc takes 3 arguments : ok /opt/samba-4.2.0/source3/wscript:685: error: LDAP support not found. Try installing libldap2-dev or openldap-devel. Otherwise, use --without-ldap to build without LDAP support. LDAP support is required for the LDAP passdb backend, LDAP idmap backends and ADS. ADS support improves communication with Active Directory domain controllers. yum -y install compat-openldap apr-util-ldap openldap-devel python-ldap openldap
9,再次检查
bin]# ./testparm Load smb config files from /usr/local/samba/etc/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[ris]" Processing section "[win2k8_x64_r2_en]" Processing section "[win2k8_x64_r2_cn]" Loaded services file OK.
10,配置完成
本文出自 “欢迎评论,欢迎点赞” 博客,转载请与作者联系!