Compiler Samba à partir des sources
Compiler Samba à partir des sources sur Debian Buster
Attention
La version de développement n’est pas à installer dans un environnement de production. Elle n’est pas stable et contient de nombreux bugs. Vous pouvez la compiler dans un environnement isolé pour tester les nouvelles fonctionnalités.
Cette documentation se base sur la distribution Debian Buster 64bits.
Nous partons du principe que la machine est fraichement installée et à jour sans aucun autre service installé que le serveur ssh.
apt-get update && apt-get upgrade
Nous installons les dépendances nécessaires à la compilation de Samba :
export DEBIAN_FRONTEND=noninteractive
apt-get install acl attr autoconf bind9utils bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb libjansson-dev krb5-user \
libacl1-dev libaio-dev libarchive-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libgpgme-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev nettle-dev perl perl-modules pkg-config \
python-all-dev python-crypto python-dbg python-dev python-dnspython \
python3-dnspython python-gpgme python3-gpgme python-markdown python3-markdown \
python3-dev xsltproc zlib1g-dev liblmdb-dev lmdb-utils
Comme nous allons récupérer la branche master de Samba depuis le github de Samba, nous allons télécharger Git :
apt-get install git
Nous nous plaçons dans le dossier /usr/src
pour télécharger les sources de Samba. Nous allons ensuite compiler Samba.
cd /usr/src
git clone https://github.com/samba-team/samba.git
cd samba
./configure
make
make install
Par défaut, Samba sera compilé dans le répertoire /usr/local/samba
.
Par exemple, la commande samba-tool se trouve dans /usr/local/samba/bin/samba-tool
.
Ajouter le chemin vers les commandes Samba à votre utilisateur Linux
Afin de ne pas écrire le chemin complet d’une commande Samba, nous allons rajouter les outils Samba dans $PATH :
echo "export PATH=$PATH:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.bashrc
source /root/.bashrc
Mettre en place le démarrage automatique de Samba
Créer le fichier
/etc/systemd/system/samba.service
:[Service] Type=forking PIDFile=/usr/local/samba/var/run/samba.pid LimitNOFILE=16384 EnvironmentFile=-/etc/conf.d/samba ExecStart=/usr/local/samba/sbin/samba ExecReload=/usr/bin/kill -HUP $MAINPID [Install] WantedBy=multi-user.target
Pour démarrer automatiquement Samba, exécuter la commande systemctl enable samba :
systemctl enable samba
Compiler Samba à partir des sources sur RedHat8 et dérivées
A FAIRE