Aller à : navigation, rechercher

SAMBA - Compiler et installer Samba4 depuis les sources

Compiler son propre samba

Prérequis

Cette documentation se base sur la distribution debian Stretch 64bit

La distribution Stretch contient un paquet SaMBa 4.5.12, mais celui ci ne bénéficie pas des dernières évolutions du projet Samba qui avance très vite au niveau du contrôleur de domaine. Il reste donc préférable pour l'instant de recompiler son samba soi-même à partir des sources officielles (rien de bien méchant, nous allons voir).

Installer les dépendances

apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get install build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls28-dev libreadline-dev python-dev libpam0g-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl \
libgpgme11-dev python-gpgme libgpgme11-dev python-gpgme python-m2crypto
unset DEBIAN_FRONTEND

Compilation samba4

Compiler samba4

Récupérer le tar.gz, compiler et installer (ça peut prendre 10-15 minutes, donc patience)

cd /root
wget --no-check-certificate https://www.samba.org/samba/ftp/stable/samba-4.6.4.tar.gz
tar -zxvf samba-4.6.4.tar.gz
cd samba-4.6.4
./configure
make 
make install

Compiler samba4 avec les attributs UID/GUID

  • Récupérer le tar.gz, compiler et installer (bien noter le --with-ldap)
cd /root
wget --no-check-certificate https://www.samba.org/samba/ftp/stable/samba-4.6.4.tar.gz
tar -zxvf samba-4.6.4.tar.gz
cd samba-4.6.4
./configure --with-ldap
make 
make install


Par défaut samba sera compilé dans le répertoire: /usr/local/samba

il vous faudra penser a adapter les chemins que nous donnerons dans les prochaines documentations:

l’arborescence d'un samba compilé par défaut:

tree -L 1 -d /usr/local/samba/
/usr/local/samba/
├── bin
├── etc
├── include
├── lib
├── libexec
├── private
├── sbin
├── share
└── var

Exemple pour la commande samba-tool se trouve:

/usr/local/samba/bin/samba-tool --version

Rajouts divers

Rajout des outils samba dans $PATH

echo "export PATH=$PATH:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.bashrc
source /root/.bashrc

En cas de samba compilé, voici un fichier systemctl

Mettre le serveur samba en démarrage automatique. Créer le fichier init.d suivant la page SAMBA - Fichier init.d samba4