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