Hide navigation sidebar
Hide table of contents sidebar
Skip to content
SAMBA 4.24
Back to top
View this page
Toggle table of contents sidebar

# 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 RedHat10 et dérivées

A FAIRE