<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4. Installer votre beau BIND tout neuf</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title=" Guide pratique d'utilisation de BIND 8 en environnement restreint "><link rel="up" href="index.html" title=" Guide pratique d'utilisation de BIND 8 en environnement restreint "><link rel="prev" href="ar01s03.html" title="3. Compilation de BIND"><link rel="next" href="ar01s05.html" title="5. La fin"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4. Installer votre beau BIND tout neuf</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s03.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s05.html">Suivant</a></td></tr></table><hr></div><div class="section" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="installing"></a>4. Installer votre beau BIND tout neuf</h2></div></div></div><p> Je dois signaler que si vous avez une installation existante de BIND, par exemple en provenance d'un RPM, vous devrez probablement la désinstaller avant d'installer la nouvelle. Sur un système Red Hat, cela implique probablement de désinstaller les paquetages <em class="medialabel">bind</em> et <em class="medialabel">bind-utils</em>, et peut-être <em class="medialabel">bind-devel</em> et <em class="medialabel">caching-nameserver</em>, si vous les avez. </p><p> Vous voudrez sans doute sauvegarder une copie du script d'init (par exemple <code class="filename">/etc/rc.d/init.d/named</code>), s'il y a en un, avant de faire ceci ; ce sera utile plus tard. </p><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="N10294"></a>4.1. Installer les outils en dehors de l'environnement restreint </h3></div></div></div><p> C'est la partie facile :-). Il vous suffit d'exécuter <span><strong class="command">make install</strong></span> et laissez faire le tout pour vous. Vous pouvez vouloir faire un <span><strong class="command">chmod 000 /usr/local/sbin/named</strong></span> par la suite, pour être sûr que vous n'exécutez pas accidentellement une copie de BIND hors environnement restreint (il s'agit de <code class="filename">/usr/sbin/named</code> si vous ne lui avez pas dit d'aller dans <code class="filename">/usr/local/sbin</code> comme je l'ai suggéré). </p></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="N102AA"></a>4.2. Installer les binaires dans l'environnement restreint </h3></div></div></div><p> Seuls deux parties du paquetage doivent s'exécuter à l'intérieur de l'environnement restreint : le démon principal <span><strong class="command">named</strong></span> lui-même, et <span><strong class="command">named-xfer</strong></span>, qui est utilisé pour les transferts de zone. Vous pouvez simplement les copier depuis l'arborescence source : </p><pre class="screen"> # cp src/bin/named/named /chroot/named/bin # cp src/bin/named-xfer/named-xfer /chroot/named/bin </pre></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="N102BA"></a>4.3. Mise en place du script d'init</h3></div></div></div><p> Si vous avez un script d'init provenant de votre distribution, le mieux serait probablement de simplement le modifier pour exécuter <span><strong class="command">/chroot/named/bin/named</strong></span>, avec les paramètres appropriés. Les paramètres sont… (roulement de tambour s'il vous plaît…) </p><div class="itemizedlist"><ul type="disc"><li><p> <code class="option">-u named</code>, qui demande à BIND de s'exécuter en tant qu'utilisateur <code class="literal">named</code>, plutôt que <code class="literal">root</code>. </p></li><li><p> <code class="option">-g named</code>, pour exécuter BIND avec le groupe <code class="literal">named</code> également, plutôt que <code class="literal">root</code> ou <code class="literal">wheel</code>. </p></li><li><p> <code class="option">-t /chroot/named</code>, qui demande à BIND de s'exécuter dans l'environnement restreint que nous avons construit. </p></li></ul></div><p> Ce qui suit est le script d'init que j'utilise avec mon système Red Hat 6.0. Comme vous pouvez voir, il est presque identique à celui livré par Red Hat. J'ai aussi modifié la commande <strong class="userinput"><code>ndc restart</code></strong> de façon à ce qu'elle redémarre le serveur correctement, et le garde à l'intérieur de l'environnement restreint. Vous pouvez probablement faire la même chose dans votre script d'init, sans avoir à copier celui-ci. </p><pre class="programlisting"> #!/bin/sh # # named Le rôle de ce script "shell" est de démarrer et d'arrêter # named (serveur DNS BIND) # # chkconfig: 345 55 45 # description: named (BIND) est le serveur de nom de domain (DNS) # qui est utilisé pour résoudre les noms de domaines en adresses IP. # probe: true # Bibliothèque basique de fonctions. . /etc/rc.d/init.d/functions # Configuration basique du réseau. . /etc/sysconfig/network # Vérifie que la gestion du réseau est assurée [ ${NETWORKING} = "no" ] && exit 0 [ -f /chroot/named/bin/named ] || exit 0 [ -f /chroot/named/etc/named.conf ] || exit 0 # En fonction de ce qui est appelé case "$1" in start) # Démarrer le démon. echo -n "Démarrage de named : " daemon /chroot/named/bin/named -u named -g named -t /chroot/named echo touch /var/lock/subsys/named ;; stop) # Arrêter le démon. echo -n "Arrêt de named : " killproc named rm -f /var/lock/subsys/named echo ;; status) /usr/local/sbin/ndc status exit $? ;; restart) /usr/local/sbin/ndc -n /chroot/named/bin/named "restart -u named -g named -t /chroot/named" exit $? ;; reload) /usr/local/sbin/ndc reload exit $? ;; probe) # named sait comment redémarrer intelligemment ; nous ne voulons pas # que linuxconf nous propose de le redémarrer à chaque fois /usr/local/sbin/ndc reload >/dev/null 2>&1 || echo start exit 0 ;; *) echo "Utilisation: named {start|stop|status|restart}" exit 1 esac exit 0 </pre><p> Sur les systèmes Caldera OpenLinux, vous avez juste besoin de modifier les variables définies au début et le système va s'occuper du reste pour vous : </p><pre class="programlisting"> NAME=named DAEMON=/chroot/named/bin/$NAME OPTIONS="-t /chroot/named -u named -g named" </pre></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="N102F8"></a>4.4. Changement de configuration</h3></div></div></div><p> Vous devez aussi ajouter ou modifier quelques options dans votre <code class="filename">named.conf</code> pour avoir vos différents répertoires en ordre. En particulier, vous devez ajouter (ou changer, si vous les avez déjà) les directives suivantes dans la section <code class="literal">options</code> : </p><pre class="programlisting"> directory "/etc/namedb"; pid-file "/var/run/named.pid"; named-xfer "/bin/named-xfer"; </pre><p> Puisque ce fichier est lu par le démon <span><strong class="command">named</strong></span>, tous les chemins sont naturellement relatifs à l'environnement restreint. </p><p> Quelques personnes ont aussi rapporté devoir ajouter quelques lignes supplémentaires à leur <code class="filename">named.conf</code> pour obtenir un fonctionnement correct de <span><strong class="command">ndc</strong></span> : </p><pre class="programlisting"> controls { unix "/var/run/ndc" perm 0600 owner 0 group 0; }; </pre></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s03.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s05.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">3. Compilation de BIND </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> 5. La fin</td></tr></table></div></body></html>