<!--
     The FreeBSD Italian Documentation Project
-->

<chapter id="app-replacement">
  <title>Sostituire alcuni applicativi di sistema utilizzando i port</title>

  <sect1 id="app-replacement-intro">
    <title>Preambolo</title>

    <para>In certi casi (hardware datato ad esempio) e in particolari ambienti
      operativi (macchine mission critical ad esempio), pu&ograve; non essere
      raccomandabile eseguire il <emphasis>world</emphasis> solo per aggiornare
      alcune applicazioni di sistema.  In questi casi pu&ograve; essere
      consigliato installare gli applicativi utilizzando i port per
      eventualmente utilizzare in un secondo momento la comoda procedura di
      <application>portupgrade</application> per eseguire l'aggiornamento delle
      applicazioni.</para>

    <para>Di seguito vediamo come gestire il passaggio per quelle applicazioni
      che vengono maggiormente utilizzate in ambiente WAN (Wilde Area Network)
      e sulla rete internet.</para>
  </sect1>

  <sect1 id="app-replacement-postfix">
    <title>Postfix</title>

    <para><application>Postfix</application> (<ulink
      url="http://www.postfix.org/">http://www.postfix.org/</ulink>) pu&ograve;
      essere considerato come l'esempio del moderno server di posta elettronica.
      Si tratta di una applicazione realizzata da <ulink
        url="http://www.porcupine.org/wietse/">Wietse Venema</ulink>, questo
      software &egrave; stato pensato e sviluppato presso i laboratori di
      ricerca <emphasis>IBM di T.J. Watson</emphasis> e pur essendo stato
      concepito come diretto competitore di <ulink
        url="http://www.qmail.org/">Qmail</ulink> &egrave; divenuto
      immediatamente una valida alternativa al pi&ugrave; noto dei mail-server
      <link linkend="Sendmail">Sendmail</link>.  Uno degli obiettivi perseguiti
      da <application>Postfix</application> &egrave; quello di essere un server
      di posta elettronica sicuro e veloce.</para>

    <para>Tecnicamente <application>Postfix</application> si compone di diversi
      demoni che si occupano di gestire diversi processi che sono molto ben
      definiti.  Il demone principale, meglio conosciuto come
      <emphasis>master</emphasis>, viene eseguito con i massimi privilegi di
      un sistema &unix; mentre tutti gli altri demoni, che vengono controllati
      appunto dal processo <emphasis>master</emphasis>, possono essere eseguiti
      da un utente &unix; che dispone di privilegi molto limitati.  L'esecuzione
      dei processi figli del server <application>Postfix</application>
      pu&ograve; anche essere circoscritta a un ambiente molto limitato quale
      &egrave; la gabbia di <emphasis>chroot</emphasis>.  La
      <emphasis>chroot jail</emphasis> non &egrave; altro che una
      sottodirectory nella quale pu&ograve; essere eseguita una applicazione,
      questo programma riconosce questa directory come se si trattasse della
      root directory del filesystem.</para>

    <para>Il demone principale <emphasis>master</emphasis> si occupa di
      richiamare e coordinare tutti gli tutti gli altri processi, nel momento
      in cui il server di posta elettronica <application>Postfix</application>
      riceve una connessione <emphasis>SMTP</emphasis> &egrave; il demone
      <emphasis>master</emphasis> che si occupa di avviare il sottoprocesso
      <emphasis>smtpd</emphasis>.  Di seguito elenchiamo alcuni dei demoni
      avviati dal processo master:</para>

    <itemizedlist>
      <listitem>
        <para>master (eseguito con i privilegi dell'utente root)</para>
      </listitem>

      <listitem>
        <para>smtpd (privilegi minimi)</para>
      </listitem>

      <listitem>
        <para>qmgr (privilegi minimi)</para>
      </listitem>

      <listitem>
        <para>smtp (privilegi minimi)</para>
      </listitem>

      <listitem>
        <para>local (privilegi minimi)</para>
      </listitem>
    </itemizedlist>

    <para><application>Postfix</application> &egrave; compatibile con il
      protocollo <emphasis>ESMTP</emphasis> ma, contrariamente a
      <application>Sendmail</application>, il supporto al protocollo UUCP
      &egrave; piuttosto limitato, <application>Postfix</application> supporta
      i domini virtuali ed il filtri anti spam, molti dei file di
      configurazione del server di posta elettronica
      <application>Sendmail</application> (aliases, .forward) sono pienamente
      compatibili con i files di configurazione del server
      <application>Postfix</application>.</para>

    <sect2>
      <title>Configurare Postfix con &os;</title>

      <para><application>Postfix</application> viene mantenuto nell'albero
        dei port di &os;, pertanto procederemo all'installazione del software
        utilizzando il port relativo nel pieno rispetto delle procedure
        che abbiamo analizzato nei capitoli precedenti</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/mail/postfix/</userinput></screen>

      <screen>&prompt.root; <userinput>make install clean</userinput></screen>

      <para>In fase di installazione il programma richieder&agrave; di
        aggiungere un nuovo utente <username>postfix</username> al gruppo
        <groupname>mail</groupname>, successivamente la procedura di
        installazione ci chieder&agrave; di attivare il server
        <application>Postfix</application> utilizzando un nuovo file
        <filename>/etc/mail/mailer.conf</filename>.</para>

      <para>Molti sistemi BSD vengono forniti con un
        <emphasis>mailwrapper</emphasis>, questo sistema pu&ograve; essere
        utilizzato per avere a disposizione diversi MTA installati nello stesso
        tempo.  Il file che viene utilizzato dal
        <emphasis>mailwrapper</emphasis> &egrave;
        <filename>/etc/mail/mailer.conf</filename>, questo file invoca
        l'MTA appropriato rimpiazzando, se necessario, l'MTA di default
        <application>Sendmail</application>.  Visualizziamo ora il contenuto
        del file <filename>mailer.conf</filename> generato dal processo di
        installazione di <application>Postfix</application></para>

      <programlisting>[# Execute the Postfix sendmail program, named /usr/local/sbin/sendmail
sendmail        /usr/local/sbin/sendmail
send-mail       /usr/local/sbin/sendmail
mailq           /usr/local/sbin/sendmail
newaliases      /usr/local/sbin/sendmail</programlisting>

      <para>Si rammenta al lettore che questo file definisce l'MTA
        (<emphasis>Mail Transport Agent</emphasis>) di default di un sistema
        &os;, il vecchio file, per intenderci quello che sino ad ora avviava
        il server <application>Sendmail</application>, verr&agrave; salvato
        con una copia di backup direttamente nel file
        <filename>/etc/mail/mailer.conf.old</filename></para>
    </sect2>

    <sect2>
      <title>Il file <filename>main.cf</filename></title>

      <para>Al termine della compilazione e dell'installazione di
        <application>Postfix</application> dovremo posizionarci nella
        directory contenente i files di configurazione di Postfix e editare il
        file <filename>/usr/local/etc/postfix/main.cf</filename></para>

      <para>La configurazione che andremo ad analizzare pu&ograve; essere
        utilizzata su un server che esegue un semplice mail relay per il dominio
        <emphasis>test.com</emphasis>.  Questo sistema prende in consegna la
        posta e la ridirige verso il mail server definito nel campo
        <emphasis>MX (Mail Excharge)</emphasis>.  Nel nostro caso il campo
        <emphasis>MX</emphasis> impostato nel server <emphasis>DNS</emphasis>
        &egrave; l'host <emphasis>popmail.test.com</emphasis> quindi il server
        Postfix prender&agrave; in consegna la posta e la inoltrer&agrave; verso
        l'host <emphasis>popmail.test.com</emphasis></para>

      <programlisting># main.cf
#
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
myhostname = relay.test.com
mydomain = test.com
myorigin = $mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain # se la macchina e' un mailhub
mydestination = $myhostname, localhost.$mydomain # la macchina funziona da semplice relay
mynetworks = 192.168.1.0/24, 127.0.0.1
relay_domains = $mydestination,127.0.0.1
#
header_checks = regexp:/usr/local/etc/postfix/myCheckHeaders.re
body_checks = regexp:/usr/local/etc/postfix/myCheckBody.re
#
#relayhost = mailhub.test.com # da definire solo se ci si vuole appoggiare ad un server esterno
#
alias_maps = hash:/etc/aliases
smtpd_banner = $myhostname Nome_Organizzazione ESMTP MailServer (Versione 1.0)
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
# Mappe antispam
smtpd_client_restrictions = permit_mynetworks,
    reject_rbl_client relays.ordb.org,
    reject_rbl_client list.dsbl.org,
    reject_rbl_client relays.visi.com,
    reject_rbl_client blackholes.wirehub.net,
    reject_rbl_client dynablocks.wirehub.net,
    reject_rbl_client blacklist.spambag.org,
    reject_rbl_client dnsbl.njabl.org,
    reject_rbl_client bl.spamcop.net,
#
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_etrn_restrictions = permit_mynetworks</programlisting>

      <para>Ora vediamo un rapido elenco dei principali parametri di
        configurazione di <application>Postfix</application></para>

      <itemizedlist>
        <listitem>
          <para><literal>myhostname</literal> &egrave; il nome della macchina
            locale.  Se il nome della macchina locale non corrisponde con il
            fully-qualified domain name o il server
            <application>Postfix</application> viene eseguito su una
            interfaccia virtuale &egrave; necessario specificare il FQDN che
            il sistema sta utilizzando;</para>
        </listitem>

        <listitem>
          <para><literal>mydomain</literal> specifica il nome di domino al
            quale appartiene la nostra macchina;</para>
        </listitem>

        <listitem>
          <para><literal>myorigin</literal> specifica il dominio di
            appartenenza della macchina nel momento in cui inoltra messaggi di
            posta elettronica;</para>
        </listitem>

        <listitem>
          <para><literal>mydestination</literal> spefica il nome dei domini
            per il quale il mailserver esegue il delivery locale della posta,
            se non specificato nel parametro i messaggi verranno inoltrati ad
            altro host;</para>
        </listitem>

        <listitem>
          <para><literal>mynetworks</literal> specifica l'elenco degli host per
            i quali <application>Postfix</application> esegue il relay
            della posta elettronica, in definitiva si tratta dell'elenco delle
            reti o degli host autorizzati ad inoltrare posta, come default
            <application>Postfix</application> esegue il relay solo per gli
            host definiti dal parametro <literal>mynetworks</literal>;</para>
        </listitem>

        <listitem>
          <para><literal>relay_domains</literal> viene utilizzato per
            controllare che l'indirizzo di destinazione del messaggio sia
            conforme con quanto specificato dal parametro stesso, viene
            utilizzato quando Postfix funziona anche come sistema
            <emphasis>MX</emphasis> di backup;</para>
        </listitem>

        <listitem>
          <para><literal>header_checks</literal> viene utilizzato per
            analizzare gli header dei messaggi di posta elettronica,
            l'impostazione di default &egrave; qualsiasi tipo di header, in
            genere si utilizza un file esterno alla configurazione.</para>
        </listitem>

        <listitem>
          <para><literal>body_checks</literal> viene utilizzato per
            analizzare ed eventualmente restringere il testo nelle linee di
            body del messaggio, l'impostazione di default &egrave; qualsiasi
            tipo di body;</para>
        </listitem>

        <listitem>
          <para><literal>smtpd_banner</literal> viene utilizzato per
            personalizzare il banner di presentazione;</para>
        </listitem>

        <listitem>
          <para><literal>smtpd_client_restrictions</literal> definisce il
            client autorizzati ad iniziare connessioni smtp dal nostro server,
            l'impostazione di default autorizza qualsiasi tipo di
            connessione</para>
        </listitem>

        <listitem>
          <para><literal>smtpd_helo_required</literal> determina se i client
            debbano inviare o meno il messaggio di HELO (EHLO) nel momento in
            cui iniziano la connessione smtp, l'impostazione di default &egrave;
            quella di non richiedere alcun messaggio di HELO;</para>
        </listitem>

        <listitem>
          <para><literal>smtpd_sender_restrictions</literal> definisce il tipo
            di sender che può essere accettato nel comando MAIL FROM, Postix
            come default accetta qualsiasi tipo di sender;</para>
        </listitem>

        <listitem>
          <para><literal>smtpd_etrn_restrictions</literal> restringe i domini
            che devono essere specificati nel comando ETRN, come default
            Postfix accetta il comando ETRN da qualsiasi client;</para>
        </listitem>
      </itemizedlist>

      <para>Ringrazio <ulink
          url="mailto:ale@unixmania.net">Alessandro De Manzano</ulink> che ha
        contribuito in maniera determinante alla realizzazione di questo
        paragrafo.</para>
    </sect2>

    <sect2>
      <title>Gli aliases con <application>Postfix</application></title>

      <para>Dopo aver editato il file
        <filename>/usr/local/etc/postfix/main.cf</filename> e prima di avviare
        il server di posta <application>Postfix</application>, dovremmo
        necessariamente creare il nuovo file contenente gli alias di sistema
        per la posta elettronica utilizzando i comandi
        <command>newaliases</command> e <command>postalias</command>.</para>

      <para>Grazie a questi due comandi Postfix esegue dei link simbolici ed
        effettua la conversione della tabella degli alias di sistema utilizzata
        precedentemente da Sendmail</para>

    <screen>&prompt.root; <userinput>ls /etc/aliases*</userinput>
lrwxrwxrwx  1 root  wheel     12 Apr 28 15:14 /etc/aliases@ -> mail/aliases
-rw-r--r--  1 root  wheel  65536 Oct  2 13:29 /etc/aliases.db</screen>
    </sect2>

    <sect2>
      <title>Avviare Postfix</title>

      <para>Dopo aver eseguito la configurazione e successiva creazione dei
        nuovi alias del server Postfix possiamo finalmente stoppare il server
        di posta elettronica Sendmail</para>

      <screen>&prompt.root; <userinput>cd /etc/mail</userinput></screen>

      <screen>&prompt.root; <userinput>make stop</userinput></screen>

      <para>per finire facciamo finalmente partire il nuovo server di posta
        elettronica Postfix</para>

      <screen>&prompt.root; <userinput>postfix check</userinput></screen>

      <screen>&prompt.root; <userinput>postfix start</userinput>
postfix/postfix-script: starting the Postfix mail system</screen>

      <para>Al caso si decida di modificare la configurazione del server
        Postfix, per bloccare il server sar&agrave; necessario eseguire i
        seguenti comandi</para>

      <screen>&prompt.root; <userinput>postfix stop</userinput>
postfix/postfix-script: stopping the Postfix mail system</screen>

      <screen>&prompt.root; <userinput>postfix check</userinput></screen>

      <screen>&prompt.root; <userinput>postfix start</userinput>
postfix/postfix-script: starting the Postfix mail system</screen>

      <para>Abbiamo gi&agrave; visto che in fase di compilazione ed
        installazione il file di Make di Postfix sostituisce il file
        <filename>/etc/mail/mailer.conf</filename>, grazie a questa procedura,
        gi&agrave; a partire dal successivo riavvio della macchina &os;,
        il nuovo mailserver Postfix diverr&agrave; automaticamente il server di
        default in luogo del vecchio postino Sendmail.  Nel caso si desideri
        utilizzare <application>Postfix</application> come server di posta
        elettronica predefinto sar&agrave; opportuno apportare alcune modifiche
        al file <filename>/etc/rc.conf</filename>.</para>

      <programlisting>sendmail_enable="NONE"</programlisting>

      <para>Grazie a questa piccola modifica verr&agrave; disabilitato il
        sistema basato sul mailwrapper, per avviare
        <application>Postfix</application> in maniera nativa sar&agrave;
        necessario creare uno script di avviamento</para>

      <programlisting>#! /usr/local/bin/bash
/usr/local/sbin/postfix $1</programlisting>

      <para>Questo &egrave; l'esempio dello script
        <filename>/usr/local/etc/rc.d/postfix.sh</filename> per l'avviamento
        del server <application>Postfix</application>.</para>
    </sect2>
  </sect1>

  <sect1 id="app-replacement-sendmail">
    <title>Sendmail</title>

    <para>Il postino viene da lontano, Sendmail &egrave; il pi&ugrave;
      vecchio e uno dei pi&ugrave; funzionali dei server di posta elettronica
      attualmente in circolazione ed abbiamo gi&agrave; trattato piuttosto
      approfonditamente le funzionalit&agrave; di Sendmail integrate al Sistema
      Operativo.</para>

    <para>&Egrave; certo che questo applicativo &egrave; un p&ograve; una
      bestia matta visto che &egrave; pieno di bugs nuovi e vecchi.   &Egrave;
      quindi necessario tenere sempre aggiornato il proprio router di posta
      elettronica per tenersi lontano da sgradite sorprese legate alla
      sicurezza informatica.</para>

    <para>Vediamo ora come sostituire la copia di sistema con quella dei
      port di &os;, editiamo il file <filename>/etc/rc.conf</filename> per
      modificarlo come segue:</para>

    <programlisting>sendmail_enable="NONE" # sendmail non verrà avviato come default</programlisting>

    <para>Attenzione, con la versione 8.12, <application>sendmail</application>
      utilizza una componente server ed una client, lasciando l'instruzione
      <literal>sendmail_enable="NO"</literal> faremo in modo che
      l'applicativo avvi la sola componente server per rimanere poi in ascolto
      sulla porta 25.  A questo punto avviamo il processo di compilazione e di
      installazione del port:</para>

    <screen>&prompt.root; <userinput>cd /usr/ports/mail/sendmail</userinput></screen>

    <screen>&prompt.root; <userinput>make install</userinput></screen>

    <screen>&prompt.root; <userinput>make clean</userinput></screen>

    <para>Terminata la compilazione e l'installazione, Sendmail diverr&agrave;
      un processo di sistema locale.  Nella directory
      <filename>/usr/local/etc/rc.d/</filename> verranno installati gli
      script che consentiranno di avviare il server mail all'avviamento del
      sistema:</para>

    <screen>&prompt.root; <userinput>ls -l /usr/local/etc/rc.d/</userinput>
-r-xr-xr-x 1 root wheel 1363 Mar 20 22:46 sendmail.sh.sample
-r-xr-xr-x 1 root wheel 640 Mar 20 22:46 sm-client.sh.sample</screen>

    <para>Le funzionalit&agrave; del comando make nella directory
      <filename>/etc/mail</filename> rimarranno invariate, per escludere la
      compilazione di <application>sendmail</application> dalla build del
      sistema, sar&agrave; necessario modificare il file
      <filename>/etc/make.conf</filename> come segue:</para>

    <programlisting>NO_SENDMAIL= true # do not build sendmail and related programs</programlisting>

    <para>Secondo il parere di chi scrive, la procedura di aggiornamento del
      prodotto con il sistema dei port &egrave; altamente sconsigliata,
      <application>sendmail</application> &egrave; una componente fondamentale
      di &os; alla quale sono legate tutte le procedure di inoltro dei messaggi
      di posta elettronica.</para>
  </sect1>

  <sect1 id="app-replacement-openssh">
    <title>OpenSSH</title>

    <para>La gestione remota oltre ad essere una comoda alternativa
      rappresenta anche uno strumento di vitale importanza nella gestione
      sistemistica.  <application>OpenSSH</application> consente di
      crittografare le transazioni remote in modalit&agrave; terminale, anche
      in questo caso &os; ci viene incontro con una versione
      <emphasis>built-in</emphasis> di <application>OpenSSH</application>, ma
      anche in questo caso vediamo come affidarci ai ports di &os; per
      mantenere una versione sempre aggiornata di
      <application>OpenSSH</application>.</para>

    <para>Editiamo il file <filename>/etc/rc.conf</filename> per modificarlo
      come segue</para>

    <programlisting>sshd_enable="NO" # openssh non verrà avviato come default</programlisting>

    <para>Ora compiliamo ed installiamo il ports di
      <application>openSSH</application></para>

    <screen>&prompt.root; <userinput>cd /usr/ports/security/openssh-portable/</userinput></screen>

    <screen>&prompt.root; <userinput>make install</userinput></screen>

    <screen>&prompt.root; <userinput>make clean</userinput></screen>

    <para>Terminata la fase di installazione e compilazione,
      <application>OpenSSH</application> diverr&agrave; un processo locale.
      Nella directory <filename>/usr/local/etc/rc.d/</filename> verranno
      copiati gli script per l'avviamento del demone, mentre nella directory
      <filename>/usr/local/etc/ssh</filename> verranno posizionati tutti i file
      di configurazione inclusa la chiave privata.  Per disabilitare la
      compilazione della vecchia versione di <application>OpenSSH</application>
      sar&agrave; necessario modificare il file
      <filename>/etc/make.conf</filename> come segue:</para>

    <programlisting>NO_OPENSSH= true # do not build OpenSSH</programlisting>

    <para>Secondo il parere di chi scrive la procedura pu&ograve; essere
      giustificata dall'esigenza di avere sempre a disposizione l'ultimissima
      versione di OpenSSH.  La release inclusa nel sistema operativo &egrave;
      anche essa sicura e funzionale, pertanto l'aggiornamento, anche se non
      giustificato da oggettive motivazioni, pu&ograve; essere pianificato
      senza introdurre modifiche sostanziali al sistema operativo.</para>
  </sect1>

  <sect1 id="app-replacement-bind">
    <title>Bind</title>

    <para>Si tratta del server che gestisce la risoluzione dei nomi di dominio,
      in particolare questo applicativo si occupa di mappare uno o pi&ugrave;
      nomi di dominio su un'indirizzo IP e, nella risoluzione inversa, un
      indirizzo IP ad un nome univoco di host.</para>

    <para>Bind, conosciuto anche come &man.named.8;, &egrave; un pezzo
      fondamentale della storia di internet e di ogni sistema che lavora
      sulla rete internet, i server che risolvono i nomi su internet
      rappresentano uno dei pi&ugrave; grandi database distribuiti
      sulla rete.</para>

    <para>In tutte le sue versioni, &os; include la versione 8 di
      <application>Bind</application>, attualmente <emphasis>ISC Bind</emphasis>
      &egrave; giunto alla release 9.2.2 e la versione 8, come la vecchia
      versione 4, sono passate alla storia per alcuni problemi legati alla
      sicurezza che le hanno definite per antonomasia come
      <emphasis>versioni insicure</emphasis>.</para>

    <para>Se si utilizza Bind all'interno della propria rete &egrave;
      consigliabile lasciare la versione fornita di default con il sistema
      operativo, se invece si deve installare una macchina che deve risolvere
      i nomi di dominio sulla rete internet, la questione potrebbe cambiare
      in modo radicale, rendendo praticamente necessaria l'installazione e la
      compilazione del ports di Bind9.</para>

    <para>Editiamo il file <filename>/etc/rc.conf</filename> e modificandolo
      come segue</para>

    <programlisting>named_enable="NO" # disabilita l'esecuzione di named</programlisting>

    <para>Ora compiliamo ed installiamo il ports di Bind9</para>

    <screen>&prompt.root; <userinput>cd /usr/ports/net/bind9</userinput></screen>

    <screen>&prompt.root; <userinput>make install</userinput></screen>

    <screen>&prompt.root; <userinput>make clean</userinput></screen>

    <para>I file di <application>Bind9</application> verranno memorizzati
      nelle directory <filename>/usr/local/sbin</filename> ed
      <filename>/usr/local/bin</filename>, i file originali di
      <application>Bind8</application> sono invece memorizzati nella directory
      <filename>/usr/sbin</filename>.  A questo punto mandiamo in funzione e
      testiamo il nuovo server Bind9.</para>

    <para>Creiamo il file di configurazione
      <filename>/usr/local/etc/named.conf</filename>, nel caso &egrave;
      possibile utilizzare il file attuale che &egrave; posizionato nella
      directory <filename>/etc/namedb</filename></para>

    <screen>&prompt.root; <userinput>cd /etc/namedb/</userinput></screen>

    <screen>&prompt.root; <userinput>ls -l named.conf</userinput>
-rw-r--r-- 1 root wheel 482 Apr 22 21:22 named.conf</screen>

    <screen>&prompt.root; <userinput>cp named.conf /usr/local/etc/named.conf</userinput></screen>

    <para>Ora generiamo una Key rndc e la memorizziamola nella directory
      <filename>/usr/local/etc</filename></para>

    <screen>&prompt.root; <userinput>cd /usr/local/etc</userinput></screen>

    <screen>&prompt.root; <userinput>rndc-confgen > rndc.key</userinput></screen>

    <para>Creiamo un script <filename>named.sh</filename> per l'avviamento del
      server e posizioniamolo nella directory
      <filename>/usr/local/etc/rc.d/</filename></para>

    <programlisting>#!/bin/sh
# file named.sh
# script per l'avviamento di bind9
case "$1" in
start)
/usr/local/sbin/named > /dev/null && echo -n ' named'
;;
stop)
/usr/bin/killall named > /dev/null && echo -n ' named'
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0</programlisting>

    <para>Ora avviamo il server named e verifichiamone il funzionamento</para>

    <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/named.sh start</userinput></screen>
    
    <screen>&prompt.root; <userinput>nslookup - sil</userinput>
Default Server: klingon.merlino.bbs
Address: 192.168.0.4
 server 192.168.0.10
Default Server: picard.merlino.bbs
Address: 192.168.0.10
 www.ansa.it
Server: picard.merlino.bbs
Address: 192.168.0.10
Non-authoritative answer:
Name: www.ansa.it
Address: 212.177.102.181</screen>
    
    <para>Per evitare la compilazione dei sorgenti di Bind8, che sono parte
      integrante del sistema operativo, sar&agrave; necessario modificare il
      file <filename>/etc/make.conf</filename> come segue</para>

    <programlisting>NO_BIND= true # do not build Bind</programlisting>

    <para>Secondo il parere di chi scrive, l'aggiornamento &egrave; consigliato
      per i sistemi installati sulla rete internet, c'&egrave; da dire che
      l'aggiornamento, anche in questo caso, non &egrave; propriamente
      necessario considerando il fatto che la versione di Bind8 che viene
      inclusa nel sistema operativo &egrave; aggiornata e patchata per
      garantire il massimo livello di sicurezza.</para>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "book" "chapter")
     End:
-->
