http://www.samba.org
On CentOS, Fedora, RHEL
# yum install libacl-devel
e2fsprogs-devel gnutls-devel readline-devel python-devel gdb gcc gcc-c++
cups-devel pam-devel ctdb-devel openldap-devel libsmbclient libacl-devel
libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig
krb5-workstation zlib-devel setroubleshoot-server setroubleshoot-plugins
policycoreutils-python popt-devel libpcap-devel sqlite-devel libidn-devel
libsemanage-python setools-libs-python setools-libs libxml2-devel libacl-devel
libsepol-devel libattr-devel keyutils-libs-devel
cyrus-sasl-devel
Download Samba 4, untar the tarball, configure and make
# wget
http://www.samba.org/samba/ftp/stable/samba-4.0.0.tar.gz
# tar zxvf
samba-4.0.0.tar.gz
# cd samba-4.0.0
# ./configure --enable-debug --enable-selftest
#
make
# make install
Create the startup script
# vi
/etc/init.d/samba
Append the following to it
#! /bin/bash
#
# samba4
Bring up/down samba4 service
#
# chkconfig: - 90 10
# description:
Activates/Deactivates all samba4 interfaces
# configured to start at boot
time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
#
Short-Description: Bring up/down samba4
# Description: Bring up/down
samba4
### END INIT INFO
# Source function library.
.
/etc/init.d/functions
if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi
CWD=$(pwd)
prog="samba4"
start() {
# Attach irda device
echo -n $"Starting $prog:
"
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v "grep" | grep
-q /samba/sbin/samba ; then success $"samba4 startup"; else failure $"samba4
startup"; fi
echo
}
stop() {
# Stop service.
echo -n $"Shutting
down $prog: "
killall samba
sleep 2
if ps ax | grep -v "grep" | grep -q
/samba/sbin/samba ; then failure $"samba4 shutdown"; else success $"samba4
shutdown"; fi
echo
}
status() {
/usr/local/samba/sbin/samba
--show-build
}
# See how we were called.
case "$1"
in
start)
start
;;
stop)
stop
;;
status)
status
irattach
;;
restart|reload)
stop
start
;;
*)
echo $"Usage:
$0 {start|stop|restart|status}"
exit 1
esac
exit 0
# chmod 755 /etc/init.d/samba
# chown root:root /etc/init.d/samba
The Debian package assumes that Samba is installed in /usr. If you¡¯ve
installed it in the default location (/usr/local/samba) instead, run:
# sed -i
's|/usr/sbin|/usr/local/samba/sbin|g' /etc/init.d/samba4
# chmod 755 /etc/init.d/samba4
# update-rc.d samba4
defaults
Start the service and make sure it starts automatically across server
reboots
# chkconfig --add samba
#
/etc/init.d/samba start
To provision a domain
#
/usr/local/samba/bin/samba-tool domain provision