Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 708

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.&nbsp;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&nbsp;8 en environnement 
      restreint
  
  "><link rel="up" href="index.html" title="
  
      Guide pratique d'utilisation de BIND&nbsp;8 en environnement 
      restreint
  
  "><link rel="prev" href="ar01s03.html" title="3.&nbsp;Compilation de BIND"><link rel="next" href="ar01s05.html" title="5.&nbsp;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.&nbsp;Installer votre beau BIND tout neuf</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s03.html">Pr&eacute;c&eacute;dent</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<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.&nbsp;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&eacute;sinstaller avant d'installer la nouvelle. Sur un syst&egrave;me Red Hat, cela
implique probablement de d&eacute;sinstaller les paquetages
<em class="medialabel">bind</em> et <em class="medialabel">bind-utils</em>, et
peut-&ecirc;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&nbsp;; 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.&nbsp;
   
Installer les outils en dehors de l'environnement restreint

</h3></div></div></div><p>

C'est la partie facile :-). Il vous suffit d'ex&eacute;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 &ecirc;tre s&ucirc;r que vous n'ex&eacute;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&eacute;r&eacute;).

</p></div><div class="section" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="N102AA"></a>4.2.&nbsp;

Installer les binaires dans l'environnement restreint

</h3></div></div></div><p>

Seuls deux parties du paquetage doivent s'ex&eacute;cuter &agrave; l'int&eacute;rieur de
l'environnement restreint&nbsp;: le d&eacute;mon principal
<span><strong class="command">named</strong></span> lui-m&ecirc;me, et <span><strong class="command">named-xfer</strong></span>, qui
est utilis&eacute; pour les transferts de zone. Vous pouvez simplement les
copier depuis l'arborescence source&nbsp;:

</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.&nbsp;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&eacute;cuter
<span><strong class="command">/chroot/named/bin/named</strong></span>, avec les param&egrave;tres
appropri&eacute;s. Les param&egrave;tres sont&hellip; (roulement de tambour s'il vous
pla&icirc;t&hellip;)

</p><div class="itemizedlist"><ul type="disc"><li><p>

<code class="option">-u named</code>, qui demande &agrave; BIND de s'ex&eacute;cuter en tant 
qu'utilisateur <code class="literal">named</code>, plut&ocirc;t que 
<code class="literal">root</code>.

</p></li><li><p>

<code class="option">-g named</code>, pour ex&eacute;cuter BIND avec le groupe 
<code class="literal">named</code> &eacute;galement, plut&ocirc;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 &agrave; BIND de s'ex&eacute;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&egrave;me Red Hat
6.0. Comme vous pouvez voir, il est presque identique &agrave; celui 
livr&eacute; par Red Hat. J'ai aussi modifi&eacute; la commande <strong class="userinput"><code>ndc 
restart</code></strong> de fa&ccedil;on &agrave; ce qu'elle red&eacute;marre le serveur correctement, 
et le garde &agrave; l'int&eacute;rieur de l'environnement restreint. Vous pouvez 
probablement faire la m&ecirc;me chose dans votre script d'init, sans avoir &agrave; 
copier celui-ci.

</p><pre class="programlisting">
#!/bin/sh
#
# named           Le r&ocirc;le de ce script "shell" est de d&eacute;marrer et d'arr&ecirc;ter
#                 named (serveur DNS BIND)
#
# chkconfig: 345 55 45
# description: named (BIND) est le serveur de nom de domain (DNS)
# qui est utilis&eacute; pour r&eacute;soudre les noms de domaines en adresses IP.
# probe: true

# Biblioth&egrave;que basique de fonctions.
. /etc/rc.d/init.d/functions

# Configuration basique du r&eacute;seau.
. /etc/sysconfig/network

# V&eacute;rifie que la gestion du r&eacute;seau est assur&eacute;e
[ ${NETWORKING} = "no" ] &amp;&amp; exit 0

[ -f /chroot/named/bin/named ] || exit 0

[ -f /chroot/named/etc/named.conf ] || exit 0

# En fonction de ce qui est appel&eacute;
case "$1" in
  start)
        # D&eacute;marrer le d&eacute;mon.
        echo -n "D&eacute;marrage de named : "
        daemon /chroot/named/bin/named -u named -g named -t /chroot/named
        echo
        touch /var/lock/subsys/named
        ;;
  stop)
        # Arr&ecirc;ter le d&eacute;mon.
        echo -n "Arr&ecirc;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&eacute;marrer intelligemment ; nous ne voulons pas 
        # que linuxconf nous propose de le red&eacute;marrer &agrave; chaque fois
        /usr/local/sbin/ndc reload &gt;/dev/null 2&gt;&amp;1 || echo start
        exit 0
        ;;

  *)
        echo "Utilisation: named {start|stop|status|restart}"
        exit 1
esac

exit 0
</pre><p>

Sur les syst&egrave;mes Caldera OpenLinux, vous avez juste besoin de modifier
les variables d&eacute;finies au d&eacute;but et le syst&egrave;me va s'occuper du reste pour vous&nbsp;:

</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.&nbsp;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&eacute;rents r&eacute;pertoires en
ordre. En particulier, vous devez ajouter (ou changer, si vous les avez
d&eacute;j&agrave;) les directives suivantes dans la section
<code class="literal">options</code>&nbsp;:

</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&eacute;mon <span><strong class="command">named</strong></span>, tous
les chemins sont naturellement relatifs &agrave; l'environnement restreint.

</p><p>

Quelques personnes ont aussi rapport&eacute; devoir ajouter quelques lignes
suppl&eacute;mentaires &agrave; leur <code class="filename">named.conf</code> pour obtenir un
fonctionnement correct de <span><strong class="command">ndc</strong></span>&nbsp;:

</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&eacute;c&eacute;dent</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ar01s05.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">3.&nbsp;Compilation de BIND&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%">&nbsp;5.&nbsp;La fin</td></tr></table></div></body></html>