====== Samba 4 Compile Ubuntu 12.04 ====== ===== Install dependencies ===== apt-get -y install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user libkrb5-dev ntp acl krb5-kdc curl libcups2-dev libpam-dev libssl-dev ===== Get Source ===== mkdir -p src/arch cd src/arch/ wget ftp://ftp.isc.org/isc/bind9/9.9.2-P1/bind-9.9.2-P1.tar.gz wget http://samba.org/samba/ftp/stable/samba-4.0.3.tar.gz ===== Install Bind ===== cd ~/src tar xzf arch/bind-9.9.2-P1.tar.gz cd bind-9.9.2-P1/ ./configure --with-gssapi --with-dlopen=yes --prefix=/usr/ --sysconfdir=/etc/named --localstatedir=/var/named make make install useradd bind curl http://pastebin.com/raw.php?i=VnYMgAqQ | tr -d '\015' > /etc/init.d/named chmod 755 /etc/init.d/named update-rc.d named defaults ===== Install Samba 4 ===== cd ~/src tar xzf arch/samba-4.0.3.tar.gz cd samba-4.0.3/ ./configure --enable-selftest --prefix=/usr/ --sysconfdir=/etc/ --localstatedir=/var/samba --enable-fhs make make install curl http://pastebin.com/raw.php?i=etbsyCkQ | tr -d '\015' > /etc/init.d/samba4 chmod 755 /etc/init.d/samba4 update-rc.d samba4 defaults ===== /etc/init.d/named ===== #! /bin/bash # # named Bring up/down named service # # chkconfig: - 90 10 # description: Activates/Deactivates all named interfaces configured to \ # start at boot time. # ### BEGIN INIT INFO # Provides: named # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO # Source function library. export NAMEDPATH="/usr/sbin/named" export NAMEDOPTIONS="-u bind" export NAMEDPID="/var/named/run/named/named.pid" if [ -f /etc/sysconfig/named ]; then . /etc/sysconfig/named fi CWD=$(pwd) prog="named" start() { # Attach irda device echo -n $"Starting $prog: " ${NAMEDPATH} ${NAMEDOPTIONS} sleep 2 if [ "`ps ax | grep -v \"grep\" | grep ${NAMEDPATH}`" != "" ] ; then echo -n "succuess"; else echo -n "failure"; fi echo } stop() { # Stop service. echo -n $"Shutting down $prog: " if [ -f ${NAMEDPID} ] then kill "`cat ${NAMEDPID}`" fi sleep 2 if [ "`ps ax | grep -v \"grep\" | grep ${NAMEDPATH}`" = "" ] ; then echo -n "succuess"; else echo -n "failure"; fi echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0 ===== /etc/init.d/samba4 ===== #! /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: samba4 # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO # Source function library. export SAMBA4PATH="/usr/sbin/samba" if [ -f /etc/sysconfig/samba4 ]; then . /etc/sysconfig/samba4 fi CWD=$(pwd) prog="samba4" start() { # Attach irda device echo -n $"Starting $prog: " ${SAMBA4PATH} sleep 2 if [ "`ps ax | grep -v \"grep\" | grep ${SAMBA4PATH}`" != "" ] ; then echo -n "succuess"; else echo -n "failure"; fi echo } stop() { # Stop service. echo -n $"Shutting down $prog: " killall samba sleep 2 if [ "`ps ax | grep -v \"grep\" | grep ${SAMBA4PATH}`" = "" ] ; then echo -n "succuess"; else echo -n "failure"; fi echo } status() { ${SAMBA4PATH} --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