<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21"> <TITLE>Chroot-BIND HOWTO: Installare il vostro nuovo BIND</TITLE> <LINK HREF="Chroot-BIND-HOWTO-5.html" REL=next> <LINK HREF="Chroot-BIND-HOWTO-3.html" REL=previous> <LINK HREF="Chroot-BIND-HOWTO.html#toc4" REL=contents> </HEAD> <BODY> <A HREF="Chroot-BIND-HOWTO-5.html">Avanti</A> <A HREF="Chroot-BIND-HOWTO-3.html">Indietro</A> <A HREF="Chroot-BIND-HOWTO.html#toc4">Indice</A> <HR> <H2><A NAME="installing"></A> <A NAME="s4">4.</A> <A HREF="Chroot-BIND-HOWTO.html#toc4">Installare il vostro nuovo BIND</A></H2> <P>Devo dire che se avete già un'installazione di BIND (per esempio da un RPM) dovete rimuoverla prima di installare quella nuova. Sui sistemi Red Hat di solito significa rimuovere i pacchetti <CODE>bind</CODE> e <CODE>bind-utils</CODE>, e possibilmente <CODE>bind-devel</CODE> e <CODE>caching-nameserver</CODE>, se li avete.</P> <P>Potrebbe essere una buona idea salvare una copia dello script di init (per esempio <CODE>/etc/rc.d/init.d/named</CODE>) prima di disinstallare; tornerà utile in seguito.</P> <P>Se state aggiornando BIND da una versione più vecchia, come BIND 8, vi conviene leggere la documentazione di migrazione nel file <CODE>doc/misc/migration</CODE> nel pacchetto sorgente di BIND. Non mi occupo di nessun argomento che riguardi la migrazione in questo documento; assumerò soltanto che stiate rimpiazzando una preesistente versione funzionante di BIND 9.</P> <H2><A NAME="ss4.1">4.1</A> <A HREF="Chroot-BIND-HOWTO.html#toc4.1">Installare i binari</A> </H2> <P>Questa è la parte facile :-). Semplicemente eseguite <CODE>make install</CODE> e lasciate fare tutto a lui. Davvero, è tutto qui!</P> <H2><A NAME="ss4.2">4.2</A> <A HREF="Chroot-BIND-HOWTO.html#toc4.2">Configurare lo script di inizializzazione</A> </H2> <P>Se avete già uno script di inizializzazione dalla vostra distribuzione, sarebbe bene modificare quello per eseguire i nuovi binari con le opzioni appropriate. Gli switch sono... <I>(rullo di tamburi prego...)</I> <UL> <LI><CODE>-u named</CODE>, che dice a BIND di girare come utente <CODE>named</CODE> invece che come <CODE>root</CODE>.</LI> <LI><CODE>-t /chroot/named</CODE>, che dice a BIND di utilizzare la gabbia chroot che abbiamo creato per lui.</LI> <LI><CODE>-c /etc/named.conf</CODE>, che dice a BIND dove trovare i suoi file di configurazione all'interno della gabbia.</LI> </UL> </P> <P>Quello che segue è lo script di inizializzazione che uso nel mio sistema Red Hat 6.0. Come potete vedere è quasi esattamente lo stesso file fornito da Red Hat. Non ho ancora provato i comandi <CODE>rndc</CODE> ma non vedo motivo per cui non debbano funzionare. <BLOCKQUOTE><CODE> <HR> <PRE> #!/bin/sh # # named This shell script takes care of starting and stopping # named (BIND DNS server). # # chkconfig: 345 55 45 # description: named (BIND) is a Domain Name Server (DNS) \ # that is used to resolve host names to IP addresses. # probe: true # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/local/sbin/named ] || exit 0 [ -f /chroot/named/etc/named.conf ] || exit 0 # See how we were called. case "$1" in start) # Start daemons. echo -n "Starting named: " daemon /usr/local/sbin/named -u named -t /chroot/named -c /etc/named.conf echo touch /var/lock/subsys/named ;; stop) # Stop daemons. echo -n "Shutting down named: " killproc named rm -f /var/lock/subsys/named echo ;; status) status named exit $? ;; restart) $0 stop $0 start exit $? ;; reload) /usr/local/sbin/rndc reload exit $? ;; probe) # named knows how to reload intelligently; we don't want linuxconf # to offer to restart every time /usr/local/sbin/rndc reload >/dev/null 2>&1 || echo start exit 0 ;; *) echo "Usage: named {start|stop|status|restart|reload}" exit 1 esac exit 0 </PRE> <HR> </CODE></BLOCKQUOTE> </P> <P>Come con syslogd, dalla Red Hat 7.2 anche questo lavoro è più facile. C'è un file chiamato <CODE>/etc/sysconfig/named</CODE> in cui specificare parametri supplementari per syslogd. Lo script predefinito <CODE>/etc/rc.d/init.d/named</CODE> su Red Hat 7.2 però controllerà l'esistenza di <CODE>/etc/named.conf</CODE> prima di partire. Dovrete correggere questo percorso.</P> <P>Su sistemi Caldera OpenLinux dovrete soltanto modificare le variabili definite in cima e a quanto sembra lo script si occuperà del resto al vostro posto: <BLOCKQUOTE><CODE> <PRE> NAME=named DAEMON=/usr/local/sbin/$NAME OPTIONS="-t /chroot/named -u named -c /etc/named.conf" </PRE> </CODE></BLOCKQUOTE> </P> <P>E per FreeBSD 4.3 potete modificare <CODE>rc.conf</CODE> ed inserirci queste righe: <BLOCKQUOTE><CODE> <PRE> named_enable="YES" named_program="chroot/named/bin/named" named_flags="-u named -t /chroot/named -c /etc/namedb/named.conf" </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="ss4.3">4.3</A> <A HREF="Chroot-BIND-HOWTO.html#toc4.3">Modifiche alla configurazione</A> </H2> <P>Dovrete anche aggiungere o cambiare alcune opzioni nel vostro <CODE>named.conf</CODE> per sistemare le varie directory. In particolare dovrete aggiungere (o cambiare, se le avete già) le seguenti direttive nella sezione <CODE>options</CODE>: <BLOCKQUOTE><CODE> <PRE> directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; </PRE> </CODE></BLOCKQUOTE> Dato che questo file è letto dal demone <CODE>named</CODE> tutti i percorsi sono naturalmente relativi alla gabbia chroot. Al momento della stesura di questo documento, BIND 9 non supporta molti dei file di statistiche e di dump che aveva prima. Probabilmente tale supporto verrà ripristinato nelle prossime versioni. Se state utilizzando una di queste nuove versioni potreste dover aggiungere voci aggiuntive per far scrivere anche questi nella directory <CODE>/var/run</CODE>.</P> <HR> <A HREF="Chroot-BIND-HOWTO-5.html">Avanti</A> <A HREF="Chroot-BIND-HOWTO-3.html">Indietro</A> <A HREF="Chroot-BIND-HOWTO.html#toc4">Indice</A> </BODY> </HTML>