1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
6 <meta name="generator" content=
7 "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
8 <meta http-equiv="Content-Type" content=
9 "text/html; charset=iso-8859-1">
10 <meta name="generator" content=
11 "Docutils 0.5: http://docutils.sourceforge.net/">
13 <title>Servizi di rete passo a passo</title>
14 <style type="text/css">
17 :Author: David Goodger (goodger@python.org)
18 :Id: $Id: html4css1.css 5196 2007-06-03 20:25:28Z wiemann $
19 :Copyright: This stylesheet has been placed in the public domain.
21 Default cascading style sheet for the HTML output of Docutils.
23 See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
24 customize this style sheet.
27 /* used to remove borders from tables and images */
28 .borderless, table.borderless td, table.borderless th {
31 table.borderless td, table.borderless th {
32 /* Override padding for "table.docutils td" with "! important".
33 The right padding separates the table cells. */
34 padding: 0 0.5em 0 0 ! important }
37 /* Override more specific margin styles with "! important". */
38 margin-top: 0 ! important }
40 .last, .with-subtitle {
41 margin-bottom: 0 ! important }
47 text-decoration: none ;
54 margin-bottom: 0.5em }
56 /* Uncomment (and remove this text!) to get bold-faced definition list terms
64 div.abstract p.topic-title {
68 div.admonition, div.attention, div.caution, div.danger, div.error,
69 div.hint, div.important, div.note, div.tip, div.warning {
71 border: medium outset ;
74 div.admonition p.admonition-title, div.hint p.admonition-title,
75 div.important p.admonition-title, div.note p.admonition-title,
76 div.tip p.admonition-title {
78 font-family: sans-serif }
80 div.attention p.admonition-title, div.caution p.admonition-title,
81 div.danger p.admonition-title, div.error p.admonition-title,
82 div.warning p.admonition-title {
85 font-family: sans-serif }
87 /* Uncomment (and remove this text!) to get reduced vertical space in
89 div.compound .compound-first, div.compound .compound-middle {
90 margin-bottom: 0.5em }
92 div.compound .compound-last, div.compound .compound-middle {
101 div.dedication p.topic-title {
109 div.footer, div.header {
118 div.line-block div.line-block {
124 margin: 0 0 0.5em 1em ;
125 border: medium outset ;
127 background-color: #ffffee ;
132 div.sidebar p.rubric {
133 font-family: sans-serif ;
136 div.system-messages {
139 div.system-messages h1 {
143 border: medium outset ;
146 div.system-message p.system-message-title {
153 h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
154 h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
172 ol.simple, ul.simple {
176 list-style: decimal }
179 list-style: lower-alpha }
182 list-style: upper-alpha }
185 list-style: lower-roman }
188 list-style: upper-roman }
202 white-space: nowrap }
211 font-family: sans-serif ;
216 font-family: sans-serif ;
228 pre.literal-block, pre.doctest-block {
233 font-family: sans-serif ;
234 font-style: oblique }
236 span.classifier-delimiter {
237 font-family: sans-serif ;
241 font-family: sans-serif }
244 white-space: nowrap }
252 span.section-subtitle {
253 /* font-size relative to parent (h1..h6 element) */
257 border-left: solid 1px gray;
265 margin-bottom: 0.5em }
268 border-left: solid 1px black;
271 table.docutils td, table.docutils th,
272 table.docinfo td, table.docinfo th {
273 padding-left: 0.5em ;
274 padding-right: 0.5em ;
275 vertical-align: top }
277 table.docutils th.field-name, table.docinfo th.docinfo-name {
280 white-space: nowrap ;
283 h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
284 h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
288 list-style-type: none }
294 <div class="document" id="servizi-di-rete-passo-a-passo">
295 <h1 class="title">Servizi di rete passo a passo</h1>
297 <h2 class="subtitle" id=
298 "appunti-sulla-installazione-e-configurazione-dei-servizi">
299 Appunti sulla installazione e configurazione dei servizi</h2>
302 <table class="docutils field-list" frame="void" rules="none">
303 <col class="field-name">
304 <col class="field-body">
308 <th class="field-name">Author:</th>
310 <td class="field-body">Andrea Manni</td>
314 <th class="field-name">Copyright:</th>
316 <td class="field-body">GFDL</td>
320 <th class="field-name">Version:</th>
322 <td class="field-body">0.4</td>
328 <p>Questa guida e' dedicata agli studenti delle lezioni di
329 informatica tenute da Andrea nel lab208. Nella parte iniziale
330 sono presenti alcuni richiami alle impostazioni di rete e di
331 installazione del laboratorio 208 (lab208) dove generalmente si
332 tengono le lezioni. Questi parametri non sono interessanti per
333 chiunque si trovasse al di fuori della rete piffa.net .</p>
335 <div class="contents topic" id="indice-degli-argomenti">
336 <p class="topic-title first">Indice degli argomenti</p>
338 <ul class="auto-toc simple">
340 <a class="reference internal" href=
341 "#configurazione-sistema" id="id5" name=
342 "id5">1 Configurazione sistema</a>
344 <ul class="auto-toc">
345 <li><a class="reference internal" href=
346 "#solo-per-uso-interno" id="id6" name=
347 "id6">1.1 Solo per uso
350 <li><a class="reference internal" href="#rete" id="id7"
351 name="id7">1.2 Rete</a></li>
353 <li><a class="reference internal" href=
354 "#bash-completion" id="id8" name=
355 "id8">1.3 Bash completion</a></li>
357 <li><a class="reference internal" href="#vim" id="id9"
358 name="id9">1.4 Vim</a></li>
360 <li><a class="reference internal" href="#vnc" id="id10"
361 name="id10">1.5 VNC</a></li>
363 <li><a class="reference internal" href=
364 "#lista-dei-pacchetti-di-base" id="id11" name=
365 "id11">1.6 Lista dei pacchetti di
369 <a class="reference internal" href=
370 "#apt-configurazione" id="id12" name=
371 "id12">1.7 Apt configurazione</a>
373 <ul class="auto-toc">
374 <li><a class="reference internal" href=
375 "#sources-list" id="id13" name=
376 "id13">1.7.1 sources.list</a></li>
378 <li><a class="reference internal" href=
379 "#etc-apt-apt-conf" id="id14" name=
380 "id14">1.7.2 /etc/apt/apt.conf</a></li>
386 <li><a class="reference internal" href="#squid" id="id15"
387 name="id15">2 Squid</a></li>
390 <a class="reference internal" href="#apache" id="id16"
391 name="id16">3 Apache</a>
393 <ul class="auto-toc">
394 <li><a class="reference internal" href=
395 "#pacchetti-da-installare" id="id17" name=
396 "id17">3.1 Pacchetti da
397 installare::</a></li>
399 <li><a class="reference internal" href=
400 "#configurazione-di-apache" id="id18" name=
401 "id18">3.2 Configurazione di
404 <li><a class="reference internal" href="#apache-conf"
406 "id19">3.3 apache.conf</a></li>
409 <a class="reference internal" href=
410 "#installazione-di-php" id="id20" name=
411 "id20">3.4 Installazione di PHP</a>
413 <ul class="auto-toc">
414 <li><a class="reference internal" href=
415 "#test-del-modulo-php" id="id21" name=
416 "id21">3.4.1 Test del modulo
419 <li><a class="reference internal" href=
420 "#installazione-del-supporto-per-mysql" id="id22"
421 name="id22">3.4.2 Installazione
422 del supporto per Mysql</a></li>
424 <li><a class="reference internal" href=
425 "#phpmyadmin" id="id23" name=
426 "id23">3.4.3 phpmyadmin</a></li>
428 <li><a class="reference internal" href=
429 "#installazione-del-supporto-per-postgresql" id=
431 "id24">3.4.4 Installazione del
432 supporto per Postgresql</a></li>
434 <li><a class="reference internal" href=
435 "#phppgadmin" id="id25" name=
436 "id25">3.4.5 phppgadmin</a></li>
441 <a class="reference internal" href="#virtual-hosts"
442 id="id26" name="id26">3.5 Virtual
445 <ul class="auto-toc">
446 <li><a class="reference internal" href=
447 "#gestione-dns" id="id27" name=
448 "id27">3.5.1 Gestione DNS</a></li>
450 <li><a class="reference internal" href=
451 "#virtual-host" id="id28" name=
452 "id28">3.5.2 Virtual host</a></li>
457 <a class="reference internal" href=
458 "#negoziazione-accessi" id="id29" name=
459 "id29">3.6 Negoziazione accessi</a>
461 <ul class="auto-toc">
462 <li><a class="reference internal" href=
463 "#limiti-su-base-ip" id="id30" name=
464 "id30">3.6.1 Limiti su base
467 <li><a class="reference internal" href=
468 "#user-authentication" id="id31" name=
469 "id31">3.6.2 User
470 Authentication</a></li>
474 <li><a class="reference internal" href="#cavets" id=
475 "id32" name="id32">3.7 Cavets</a></li>
480 <a class="reference internal" href="#domain-name-system"
481 id="id33" name="id33">4 Domain Name
484 <ul class="auto-toc">
485 <li><a class="reference internal" href=
486 "#nomi-di-dominio" id="id34" name=
487 "id34">4.1 Nomi di dominio</a></li>
489 <li><a class="reference internal" href=
490 "#tipologie-di-record" id="id35" name=
491 "id35">4.2 Tipologie di
494 <li><a class="reference internal" href="#utilizzo" id=
496 "id36">4.3 Utilizzo</a></li>
498 <li><a class="reference internal" href=
499 "#risoluzione-dei-nomi-di-dominio" id="id37" name=
500 "id37">4.4 Risoluzione dei nomi di
503 <li><a class="reference internal" href="#dig" id="id38"
504 name="id38">4.5 Dig</a></li>
508 <li><a class="reference internal" href="#dnsmasq" id="id39"
509 name="id39">5 DNSmasq</a></li>
512 <a class="reference internal" href="#samba" id="id40"
513 name="id40">6 Samba</a>
515 <ul class="auto-toc">
516 <li><a class="reference internal" href="#pacchetti" id=
518 "id41">6.1 Pacchetti</a></li>
520 <li><a class="reference internal" href=
521 "#passwords-e-autenticazione" id="id42" name=
522 "id42">6.2 Passwords e
523 autenticazione</a></li>
525 <li><a class="reference internal" href=
526 "#creazione-utenti" id="id43" name=
527 "id43">6.3 Creazione Utenti</a></li>
530 <a class="reference internal" href=
531 "#creare-la-condivisione" id="id44" name=
532 "id44">6.4 Creare la
535 <ul class="auto-toc">
536 <li><a class="reference internal" href=
537 "#sicurezza-permessi-di-esecuzione-sul-server" id=
539 "id45">6.4.1 Sicurezza: permessi
540 di esecuzione sul server</a></li>
544 <li><a class="reference internal" href=
545 "#configurazione-dell-applicativo-samba-vero-e-proprio"
547 "id46">6.5 Configurazione
548 dell'applicativo Samba vero e proprio.</a></li>
550 <li><a class="reference internal" href=
551 "#testare-il-servizio" id="id47" name=
552 "id47">6.6 Testare il
557 <li><a class="reference internal" href="#note" id="id48"
558 name="id48">7 NOTE</a></li>
562 <p>Generato con: <a class="reference external" href=
563 "http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
565 <div class="section" id="configurazione-sistema">
566 <h1><a class="toc-backref" href=
567 "#id5">1 Configurazione sistema</a></h1>
569 <div class="section" id="solo-per-uso-interno">
570 <h2><a class="toc-backref" href=
571 "#id6">1.1 Solo per uso interno</a></h2>
573 <p>Impostazioni di base per la configurazione del sistema
574 operativo e della rete nel laboratorio 208 facente parte
575 della rete piffa.net .</p>
577 <p>Qui riportati per comodita' degli studenti (e del
578 docente che non sara' <strong>mai piu'</strong> costretto a
582 <div class="section" id="rete">
583 <h2><a class="toc-backref" href=
584 "#id7">1.2 Rete</a></h2>
586 <p>Parametri della rete attualmente in uso:</p>
588 <table border="1" class="docutils">
596 <td colspan="2">Parametri della rete</td>
602 <td>10.10.208.0/24</td>
608 <td>255.255.255.0</td>
614 <td>10.10.208.255</td>
620 <td>10.10.208.254</td>
626 <td>10.10.208.250 persistente</td>
632 <td>10.10.208.254</td>
638 <td>10.10.208.250 persistente</td>
643 <p>Sul portatile di Andrea, corrispondente all'ip 254, gira
644 un DHCP, proxy http e mirror di Debian ( <a class=
645 "reference external" href=
646 "http://debian.piffa.net">http://debian.piffa.net</a>). Se
647 Andrea non e' in aula (o ancora peggio non c'e' il suo
648 portatile Net) gli studenti dovranno darsi un indirizzo ip
649 manualmente e disabilitare il proxy (che pero' e
650 trasparente, quindi fate pure come se non ci fosse ;) .</p>
653 <div class="section" id="bash-completion">
654 <h2><a class="toc-backref" href=
655 "#id8">1.3 Bash completion</a></h2>
657 <p>Il completamento automatico della shell (che si attiva
658 premendo il tasto tab una o due volte mentre si sta
659 scrivendo un termine) permette di comporre automaticamente
660 i nomi dei comandi e i percorsi dei file, sopratutto la
661 composizione automatica dei percorsi dei file e' di grande
664 <p>Bash_completion permette di integrare il completamento
665 automatico con i nomi dei pacchetti e oggetti dei comandi:
666 ad es. volendo digitare <tt class=
667 "docutils literal"><span class="pre">apt-get</span>
668 <span class="pre">inst[TAB]</span> <span class=
669 "pre">xtigh[TAB]</span></tt> ora verra' completatato
670 automaticamente sia la parola <tt class=
671 "docutils literal"><span class="pre">install</span></tt>
672 che il nome del pacchetto <tt class=
673 "docutils literal"><span class=
674 "pre">xtightvncviewer</span></tt>.</p>
676 <p>Abilitare /etc/bash_completion nel file <tt class=
677 "docutils literal"><span class=
678 "pre">/etc/bash.bashrc</span></tt> oppure includerlo nel
679 proprio <tt class="docutils literal"><span class=
680 "pre">~/.bashrc</span></tt> (che sarebbe il file
681 <em>nascosto</em>, quindi con un punto all'inizio del nome
682 del file, di configurazione della shell bash per ogni
683 utente, presente nella propria <em>home
685 <pre class="literal-block">
686 echo ". /etc/bash_completion" >> ~/.bashrc
689 <p>Esempio di ~/.bahsrc</p>
690 <pre class="literal-block">
691 # ~/.bashrc: executed by bash(1) for non-login shells.
693 export PS1='\h:\w\$ '
696 # Decommentare le seguenti righr per abilitare la colorazione dei
698 export LS_OPTIONS='--color=auto'
700 alias ls='ls $LS_OPTIONS'
701 alias ll='ls $LS_OPTIONS -l'
702 alias l='ls $LS_OPTIONS -lA'
704 # Some more alias to avoid making mistakes:
709 # questo abilita bash completion
710 . /etc/bash_completion
713 <p>Il file <tt class="docutils literal"><span class=
714 "pre">/etc/bash_completion</span></tt> deve essere presente
715 nel sistema, in caso contrario installare il pacchetto:
716 <tt class="docutils literal"><span class=
717 "pre">bash-completion</span></tt>. Generalmente l'utente
718 <tt class="docutils literal"><span class=
719 "pre">root</span></tt> ha un file <tt class=
720 "docutils literal"><span class="pre">.bashrc</span></tt>
721 preimpostato analogo a quello citato sopra, a differenza
722 dei normali utenti di sistema.</p>
727 <li><a class="reference external" href=
728 "http://www.debian-administration.org/articles/316">An
729 introduction to bash completion</a></li>
731 <li><a class="reference external" href=
732 "http://www.caliban.org/bash/">Working more productively
733 with bash 2.x/3.x</a></li>
737 <div class="section" id="vim">
738 <h2><a class="toc-backref" href=
739 "#id9">1.4 Vim</a></h2>
741 <p>Vim e' l'editor di testo preferito dai sistemisti,
742 quindi sara' conveniente impostare fin da subito alcune
743 impostazioni per renderlo piu' comodo.</p>
745 <p>Assicurarsi che sia installata nel sistema la versione
746 completa dell'editor <tt class=
747 "docutils literal"><span class="pre">vim</span></tt>
748 nstallando il pacchetto vimi:</p>
749 <pre class="literal-block">
750 # apt-get install vim
752 e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::
754 " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
755 " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
756 " you can find below. If you wish to change any of those settings, you should
757 " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
758 " everytime an upgrade of the vim packages is performed. It is recommended to
759 " make changes after sourcing debian.vim since it alters the value of the
760 " 'compatible' option.
762 " This line should not be removed as it ensures that various options are
763 " properly set to work with the Vim-related packages available in Debian.
766 " Uncomment the next line to make Vim more Vi-compatible
767 " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
768 " options, so any other options should be set AFTER setting 'compatible'.
771 " Vim5 and later versions support syntax highlighting. Uncommenting the next
772 " line enables syntax highlighting by default.
775 " If using a dark background within the editing area and syntax highlighting
776 " turn on this option as well
779 " Uncomment the following to have Vim jump to the last position when
783 au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
784 \| exe "normal! g'\"" | endif
787 " Uncomment the following to have Vim load indentation rules and plugins
788 " according to the detected filetype.
790 filetype plugin indent on
793 " The following are commented out as they cause vim to behave a lot
794 " differently from regular Vi. They are highly recommended though.
795 set showcmd " Show (partial) command in status line.
796 "set showmatch " Show matching brackets.
797 set ignorecase " Do case insensitive matching
798 "set smartcase " Do smart case matching
799 "set incsearch " Incremental search
800 set autowrite " Automatically save before commands like :next and :make
801 "set hidden " Hide buffers when they are abandoned
802 "set mouse=a " Enable mouse usage (all modes) in terminals
804 " Source a global configuration file if available
805 " XXX Deprecated, please move your changes here in /etc/vim/vimrc
806 if filereadable("/etc/vim/vimrc.local")
807 source /etc/vim/vimrc.local
812 <div class="section" id="vnc">
813 <h2><a class="toc-backref" href=
814 "#id10">1.5 VNC</a></h2>
816 <p>I Virtual Network Computing (o VNC) sono software di
817 controllo remoto e servono per amministrare il proprio
818 computer a distanza o visuallizare la sessione di lavoro di
819 un altro computer sul proprio a scopo didattico.
820 Installando un server VNC sulla propria macchina ed
821 impostando una opportuna password si consente ai client VNC
822 di ricevere una immagine dello schermo ed eventualmente di
823 inviare input di tastiera e mouse al computer server
824 (durante le lezioni questo non e' possibile per gli
825 studenti, solo Andrea esegue i comandi). In pratica si può
826 gestire il computer server da un'altra postazione, come se
827 fosse il proprio computer fisico.</p>
829 <p>Scaricare il pacchetto <tt class=
830 "docutils literal"><span class=
831 "pre">xtightvncviewer</span></tt> e lo script <tt class=
832 "docutils literal"><span class="pre">guarda.sh</span></tt>
833 in una posizione (collocazione nel <em>path</em> degli
834 utenti, es <tt class="docutils literal"><span class=
835 "pre">echo</span> <span class="pre">$PATH</span></tt> per
836 visualizzare l'attuale path ) comoda per gli utenti ( in
837 genere <tt class="docutils literal"><span class=
838 "pre">/bin</span></tt> ), rndere eseguibile lo script.</p>
841 <pre class="literal-block">
844 wget http://debian.piffa.net/guarda.sh
849 <p>Si noti che non e' possibile lanciare un applicativo sul
850 server grafico di un utente da una shell in cui si sta
851 lavorando come altro utente, anche se root. E' quindi
852 necessario essere l'utente di sistema che si e' loggato
853 inizialmente nella sessione grafica per poter lanciare lo
854 script guarda.sh da una shell.</p>
856 <p>Controllare con <tt class=
857 "docutils literal"><span class="pre">whoami</span></tt> di
858 essere l'utente normale (es <tt class=
859 "docutils literal"><span class="pre">utente</span>
860 <span class="pre">|</span> <span class=
861 "pre">studente</span> <span class="pre">|</span>
862 <span class="pre">proprio</span> <span class=
863 "pre">nome</span></tt> ), in caso si sia assunta una altra
864 <tt class="docutils literal"><span class=
865 "pre">id</span></tt> si apra un altra shell o si esca da
866 quella attuale con <tt class=
867 "docutils literal"><span class="pre">exit</span></tt> .</p>
870 <div class="section" id="lista-dei-pacchetti-di-base">
871 <h2><a class="toc-backref" href=
872 "#id11">1.6 Lista dei pacchetti di
875 <p>I pacchetti installati generalmente <a class=
876 "footnote-reference" href="#id2" id="id1" name=
877 "id1">[1]</a> per poter seguire le lezioni sono:</p>
878 <pre class="literal-block">
879 kde-core kdm kde-i18n-it xorg vim less xtightvncviewer
882 <table class="docutils footnote" frame="void" id="id2"
891 <td class="label"><a class="fn-backref" href=
894 <td><tt class="docutils literal"><span class=
895 "pre">kde-core</span></tt> e' piu' leggero del
896 pacchetto <tt class="docutils literal"><span class=
897 "pre">kde</span></tt>, esiste anche un equivalente
898 <tt class="docutils literal"><span class=
899 "pre">gnome-core</span> <span class=
900 "pre">gnome</span></tt> e il log-in manager
901 <tt class="docutils literal"><span class=
902 "pre">gdm</span></tt> per il l'ambiente grafico
909 <div class="section" id="apt-configurazione">
910 <h2><a class="toc-backref" href=
911 "#id12">1.7 Apt configurazione</a></h2>
913 <p>Vediamo i due file principali di apt:</p>
916 <li><tt class="docutils literal"><span class=
917 "pre">/etc/apt/sources.list</span></tt></li>
919 <li><tt class="docutils literal"><span class=
920 "pre">/etc/apt/apt.conf</span></tt></li>
923 <div class="section" id="sources-list">
924 <h3><a class="toc-backref" href=
925 "#id13">1.7.1 sources.list</a></h3>
927 <p>Questo file contiene i sorgenti da cui <em>apt</em>
928 preleva i pacchetti da installare tramite <em>dpkg</em>,
929 vengono quindi precisati i metodi (ad es. http / ftp /
930 cdrom / file), la release che si vuole tracciare (es
931 <tt class="docutils literal"><span class=
932 "pre">stable,</span> <span class="pre">testing,</span>
933 <span class="pre">unstable</span></tt> oppure i
934 corrispondenti release name es: <tt class=
935 "docutils literal"><span class="pre">Lenny,</span>
936 <span class="pre">Squeeze,</span> <span class=
937 "pre">Sid</span></tt>), i rami di interesse (es:
938 <tt class="docutils literal"><span class=
939 "pre">main</span></tt> che e' l'archivio principale,
940 <tt class="docutils literal"><span class=
941 "pre">non-free</span></tt> per il software non libero,
942 <tt class="docutils literal"><span class=
943 "pre">contrib</span></tt> per i pacchetti non realizzati
944 dai manutentori ufficiali).</p>
946 <p>Gli archivi sono generalmente:</p>
949 <li><tt class="docutils literal"><span class=
950 "pre">deb</span></tt> per pacchetti Debian binari</li>
952 <li><tt class="docutils literal"><span class=
953 "pre">deb-src</span></tt> per i pacchetti sorgenti
954 (quindi da compilare, come il kernel) degli stessi
955 pacchetti binari. In genere se non compilate spesso
956 potete evitare di tracciare i sorgenti per risparmiare
960 <p><tt class="docutils literal"><span class=
961 "pre">/etc/apt/sources.list</span></tt></p>
962 <pre class="literal-block">
963 # esempio di accesso a un CDROM:
964 # cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 kde-CD Binary-1 20090$
966 # Archivio principale debian via http su piffa.net,
967 # non funziona al difuori dell'aula dei corsi
968 deb http://debian.piffa.net/debian/ Lenny main
969 # deb http://debian.piffa.net/debian/ Lenny non-free contrib
971 # Mirror da kernel.org da usare a casa:
972 deb http://mirrors.eu.kernel.org/debian/ Lenny main
974 # Security dal sito principale
975 deb http://security.debian.org/ Lenny/updates main
976 deb-src http://security.debian.org/ Lenny/updates main
978 # Debian volatile per le cose soggette a cambiamenti non legati
979 # a dinamiche di sicurezza
980 deb http://volatile.debian.org/debian-volatile Lenny/volatile main
981 deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
983 # Esempio di accesso a un filesystem locale contenente i pacchetti:
984 # deb file:/mnt/mirror Sid main non-free contrib
988 <div class="section" id="etc-apt-apt-conf">
989 <h3><a class="toc-backref" href=
990 "#id14">1.7.2 /etc/apt/apt.conf</a></h3>
992 <p>Questo file contiene le opzioni di apt, come ad
993 esempio il proxy:</p>
994 <pre class="literal-block">
995 Acquire::http::Proxy "http://10.10.208.254:3128"
998 <p>Si tenga conto che se si imposta un proxy per apt sul
999 proprio portatile e tornati a casa propria si vuole
1000 scaricare nuovi pacchetti si dovra' disabilitare il
1006 <div class="section" id="squid">
1007 <h1><a class="toc-backref" href=
1008 "#id15">2 Squid</a></h1>
1011 <div class="section" id="apache">
1012 <h1><a class="toc-backref" href=
1013 "#id16">3 Apache</a></h1>
1015 <p>Apache HTTP Server, o più comunemente Apache, e' il nome
1016 dato alla piattaforma server Web modulare più diffusa (ma
1017 anche al gruppo di lavoro open source che ha creato,
1018 sviluppato e aggiornato il software server), in grado di
1019 operare da sistemi operativi UNIX-Linux e Microsoft.</p>
1021 <p>Un server web e' un processo, e per estensione il computer
1022 su cui è in esecuzione, che si occupa di fornire, su
1023 richiesta del browser, una pagina web (spesso scritta in
1024 HTML). Le informazioni inviate dal server web viaggiano in
1025 rete trasportate dal protocollo HTTP. L'insieme di server web
1026 dà vita al World Wide Web, uno dei servizi più
1027 utilizzati di Internet.</p>
1029 <div class="section" id="pacchetti-da-installare">
1030 <h2><a class="toc-backref" href=
1031 "#id17">3.1 Pacchetti da
1032 installare::</a></h2>
1038 <p>Con la release 2.0 di Apache viene automaticamente resa
1039 disponibile anche la versione SSL (Secure Socket Layer,
1040 cpnnessioni criptate ) del web server.</p>
1043 <div class="section" id="configurazione-di-apache">
1044 <h2><a class="toc-backref" href=
1045 "#id18">3.2 Configurazione di
1048 <p>I file di configurazione di apache si trovano nella
1049 cartella: <tt class="docutils literal"><span class=
1050 "pre">/etc/apache2</span></tt> e sono strutturati come
1051 descritto nel file <tt class=
1052 "docutils literal"><span class="pre">/usr/share/doc/apache2/README.Debian.gz</span></tt>
1053 . Sostanzialmente lo schema e' il seguente:</p>
1055 <dl class="docutils">
1056 <dt>apache2.conf</dt>
1059 <p class="first">File di configurazione principale del
1062 <p class="last">httpd.conf e' il vecchio file di
1063 configurazione di Apache1, presente per motivi di
1064 retrocompatibilita' e' generalemente vuoto.</p>
1069 <dd>In questo file vengono specificate le porte sulle
1070 quali resta in ascolto il server web. Si noti che
1071 utilizzando dei virtual hosts generalmente viene
1072 specificata per questi la porta su cui ascoltare nel file
1073 di configurazione del virtual host, ad es: <tt class=
1074 "docutils literal"><span class=
1075 "pre"><VirtualHost</span> <span class=
1076 "pre">*:80></span></tt></dd>
1078 <dt>sites-available</dt>
1080 <dd>In questa cartella vengono raccolti i file di
1081 configurazione dei virtual host disponibili.</dd>
1083 <dt>sites-enabled</dt>
1085 <dd>In questa cartella sono contenuti dei link simbolici
1086 ai files in ../sites-available : se il link e' presente
1087 in questa cartella il virtual host e' abilitato.</dd>
1089 <dt>mods-available</dt>
1091 <dd>Stesso metodo per i moduli: in questa cartella ci
1092 sono i moduli veri e propri che verranno poi abilitati
1093 grazie all'esistenza di link simbolici nella cartella
1096 <dt>mods-enabled</dt>
1098 <dd>Moduli abilitati, effettivamente caricati.</dd>
1102 <div class="section" id="apache-conf">
1103 <h2><a class="toc-backref" href=
1104 "#id19">3.3 apache.conf</a></h2>
1106 <p>File di configurazione del servizio Apache, contiene le
1107 impostazioni generiche (ad esempio utilizzo della RAM e
1108 risorse di sistema) dell'intero servizio. Nella
1109 configurazione di default per Debian non viene definito un
1110 vero e proprio sito di default ma solo dei virtual
1113 <p>Guardiamo alcune direttive interessanti:</p>
1115 <dl class="docutils">
1118 <dd>Numero di secondi da aspettare prima di chiudere la
1119 connessione con il client. Questo parametro serve a
1120 liberare le risorse di sistema nel caso che un client,
1121 magar a causa di una connessione particolarmente lenta o
1122 instabili, tenga attivo indefinitivamente un processo di
1127 <dd>L'estensione keep-alive (http 1.0) congiuntamente
1128 alle connessioni persistenti (http 1.1) permettono al
1129 server di rispondere a piu' richieste dei client mediante
1130 la stessa connessione. Il protocoll http per sua natura
1131 e' senza stato (<em>statelessi</em> ), quindi ogni
1132 risorsa richiesta (per pagine web si pensi ad esempio
1133 alle immagini) dal client necessita di una connessione
1134 autonoma. Keep-alive permette di ottimizzare la
1135 connessione anche fino al 50% a seconda delle situazioni
1138 <dt>Server-Pool Size Regulation</dt>
1140 <dd>Questi parametri (StartServers, MinSpareServers, ecc.
1141 Tutti spiegati nel manuale di apache) servono per
1142 attribuire le risorse di sistema disponibili al server
1143 Apache. Tenere questi parametri bassi serve a limitare il
1144 rischio di Denial of Service per il server, nel caso
1145 offra altri servizi. I settagi di default sono come
1146 sempre abbastanza conservativi, se si conta di usare il
1147 proprio Apache per servire un sito web con molti
1148 visitatori sara' necessario aumentare sensibilmente le
1149 impostazioni di base.</dd>
1151 <dt>AccessFileName</dt>
1153 <dd>Il nome del file che viene onorato per modificare le
1154 impostazioni per una singola directory, legato alla
1155 direttiva AllowOverride .</dd>
1159 <div class="section" id="installazione-di-php">
1160 <h2><a class="toc-backref" href=
1161 "#id20">3.4 Installazione di PHP</a></h2>
1163 <p>Pacchetti da installare: <tt class=
1164 "docutils literal"><span class="pre">php5</span>
1165 <span class="pre">php-pear</span></tt></p>
1167 <div class="section" id="test-del-modulo-php">
1168 <h3><a class="toc-backref" href=
1169 "#id21">3.4.1 Test del modulo
1172 <p>Creare nella cartella <tt class=
1173 "docutils literal"><span class="pre">/var/www</span></tt>
1174 (o altra cartella visibile) un file con estensione *.php
1175 (es <tt class="docutils literal"><span class=
1176 "pre">/var/ww/info.php</span></tt> contenete codice php
1177 eseguibile dall'interprete, ad es:</p>
1178 <pre class="literal-block">
1179 <?php phpinfo() ; ?>
1182 <p>Questa funzione di php generera' la tipica pagina con
1183 le impostazioni attuali per PHP. Richiamando la pagina
1184 (es: <tt class="docutils literal"><span class=
1185 "pre">http://localhost/info.php</span></tt> ) verra
1186 generata dall'interprete PHP la pagina HTML e resa
1187 disponibile tramite Apache ai utclient HTTP, a prova del
1188 correto funzionamento del modulo di PHP e della sua
1189 integrazione con il serv web Apache. In caso contrario se
1190 il client http proporra di scaricare la pagina invece che
1191 visualizzarla nel browser: non funziona l'interprete di
1192 php o sono mal configurati i MIME-type. prima di tutto
1193 assicurarsi di aver fatoo ripartire Apache.</p>
1196 <div class="section" id=
1197 "installazione-del-supporto-per-mysql">
1198 <h3><a class="toc-backref" href=
1199 "#id22">3.4.2 Installazione del supporto
1202 <p>Installare i pacchetti:</p>
1203 <pre class="literal-block">
1204 php5-mysql phpmyadmin
1207 <p>Controllare tramite la pagina php.info che sia
1208 abilitato il supporto per Mysql (ripartito Apache,
1209 ricaricare la pagina e cercare con CTRL+f <tt class=
1210 "docutils literal"><span class=
1211 "pre">mysql</span></tt>).</p>
1214 <div class="section" id="phpmyadmin">
1215 <h3><a class="toc-backref" href=
1216 "#id23">3.4.3 phpmyadmin</a></h3>
1218 <p>L'interfaccia web Phpmyadmin non richede
1219 necessariamente la presenza di un database Mysql locale,
1220 puo' infatti essere utilizzata per gestire databases
1221 remoti (il suo file di configurazione: <tt class=
1222 "docutils literal"><span class=
1223 "pre">/etc/phpmyadmin/config.inc.php</span></tt> ). Nel
1224 caso si voglia installare localmente Mysql si utilizzi il
1225 pacchetto <tt class="docutils literal"><span class=
1226 "pre">mysql-server</span></tt> .</p>
1228 <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1229 <tt class="docutils literal"><span class=
1230 "pre">http://localhost/phpmyadmin/</span></tt>, se cosi
1231 non fosse controllare che sia incluso il file <tt class=
1232 "docutils literal"><span class=
1233 "pre">/etc/phpmyadmin/apache.conf</span></tt> in
1234 <tt class="docutils literal"><span class=
1235 "pre">/etc/apache2/conf.d/</span></tt> .</p>
1238 <div class="section" id=
1239 "installazione-del-supporto-per-postgresql">
1240 <h3><a class="toc-backref" href=
1241 "#id24">3.4.4 Installazione del supporto
1242 per Postgresql</a></h3>
1244 <p>Installare i pacchetti:</p>
1245 <pre class="literal-block">
1246 php5-pgsql phppgadmin
1249 <p>Controllare tramite la pagina php.info che sia
1250 abilitato il supporto per PostgreSQL (ripartito Apache,
1251 ricaricare la pagina e cercare con CTRL+f <tt class=
1252 "docutils literal"><span class=
1253 "pre">pgsql</span></tt>).</p>
1256 <div class="section" id="phppgadmin">
1257 <h3><a class="toc-backref" href=
1258 "#id25">3.4.5 phppgadmin</a></h3>
1260 <p>L'interfaccia web Phppgadmin per il database server
1261 PostgreSQL non richede necessariamente la presenza di un
1262 database locale, puo' infatti essere utilizzata per
1263 gestire databases remoti (il suo file di configurazione:
1264 <tt class="docutils literal"><span class=
1265 "pre">/etc/phppgadmin/config.inc.php</span></tt> ). Nel
1266 caso si voglia installare localmente Mysql si utilizzi il
1267 pacchetto <tt class="docutils literal"><span class=
1268 "pre">postgresql</span></tt> .</p>
1270 <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1271 <tt class="docutils literal"><span class=
1272 "pre">http://localhost/phppgadmin/</span></tt>, se cosi
1273 non fosse controllare che sia incluso il file <tt class=
1274 "docutils literal"><span class=
1275 "pre">/etc/phppgadmin/apache.conf</span></tt> in
1276 <tt class="docutils literal"><span class=
1277 "pre">/etc/apache2/conf.d/</span></tt> .</p>
1281 <div class="section" id="virtual-hosts">
1282 <h2><a class="toc-backref" href=
1283 "#id26">3.5 Virtual hosts</a></h2>
1287 <li><a class="reference external" href=
1288 "http://www.apacheweek.com/features/vhost">http://www.apacheweek.com/features/vhost</a></li>
1290 <li><a class="reference external" href=
1291 "http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html">
1292 http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html</a></li>
1296 <p>I virtual host permettono di avere piu' siti internet
1297 disponibili tramite lo stesso server web, eventualmente
1298 mappati su un solo indirizzo ip. Sono generalemente di due
1303 <li>Basati su <em>indirizzi ip</em>. Se si ha la
1304 possibilita' di avere piu' indirizzi ip dedicati per i
1305 diversi siti che si vuole servire. ES: <tt class=
1306 "docutils literal"><span class=
1307 "pre"><VirtualHost</span> <span class=
1308 "pre">192.168.0.2:80></span></tt> . Soluzione
1309 dispendiosa, si tende ad usarla solo se servono
1310 certificati di sicurezza (SSL ) dedicati per ogni
1313 <li>Basati su <em>nomi di dominio</em> che puntano allo
1314 stesso ip. Soluzione piu' economica e diffusa che si
1315 basa sulle funzionalita' di http 1.1 .</li>
1319 <p>Prenderemo in esame la gestione di virtual hosts basati
1320 su nomi di dominio.</p>
1322 <div class="section" id="gestione-dns">
1323 <h3><a class="toc-backref" href=
1324 "#id27">3.5.1 Gestione DNS</a></h3>
1326 <p>Prima di tutto per poter impostare i virtual hosts
1327 dovete avere un server DNS che risolva i vostri nomi di
1328 dominio sull'indirizzo ip del server. Questo si puo'
1329 ottenere in vari modi, ad es:</p>
1332 <dl class="docutils">
1333 <dt><em>Bind</em> (DNS server)</dt>
1335 <dd>Impostare i campi A nelle proprie zone gestite
1336 dal server dns Bind. Ad es: <tt class=
1337 "docutils literal"><span class=
1338 "pre">papo</span>
1340 "pre">A</span>
1341 <span class="pre">212.22.136.248</span></tt></dd>
1343 <dt><em>Servizio DNS dinamico on line</em>.</dt>
1345 <dd>Utilizzare un servizio come ad es: <a class=
1346 "reference external" href=
1347 "https://www.dyndns.com/">https://www.dyndns.com/</a>
1348 per mappare nomi di dominio sul proprio indirizzo ip,
1349 comodo ad esempio se si dispone di un indirzzo ip
1350 pubblico (anche se dinamico) per la propria
1351 connessione ad internet.</dd>
1353 <dt><em>Dnsmasq</em> (DNS server)</dt>
1355 <dd>Utilizzabile a livello locale per fare dei test,
1356 utilizzando direttive come: <tt class=
1357 "docutils literal"><span class=
1358 "pre">address=/davide.piffa.net/10.10.208.178</span></tt></dd>
1360 <dt><tt class="docutils literal"><span class=
1361 "pre">/etc/hosts</span></tt></dt>
1363 <dd>Per prove <em>strettamente a livello locale</em>
1364 potete impostare i nomi dei vostri virtual server nel
1365 file /etc/hosts .</dd>
1368 <pre class="literal-block">
1371 ; <<>> DiG 9.5.1-P1 <<>> 177.piffa.net
1372 ;; global options: printcmd
1374 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38036
1375 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
1377 ;; QUESTION SECTION:
1378 ;177.piffa.net. IN A
1381 177.piffa.net. 0 IN A 10.10.208.177
1383 ;; Query time: 12 msec
1384 ;; SERVER: 10.10.208.254#53(10.10.208.254)
1385 ;; WHEN: Wed May 6 12:27:08 2009
1386 ;; MSG SIZE rcvd: 47
1389 <p>La parte interessante e' <tt class=
1390 "docutils literal"><span class=
1391 "pre">177.piffa.net.</span>
1393 "pre">0</span>
1394 <span class="pre">IN</span>
1396 "pre">A</span>
1397 <span class="pre">10.10.208.177</span></tt> . Il nome di
1398 dominio 177.piffa.net viene risolto sull'ip 10.10.208.177
1399 , nel nostro Apache (che risponde all'ip 10.10.208.177 )
1400 dovra' essere disponibile un virtual host che corrisponde
1401 al nome <tt class="docutils literal"><span class=
1402 "pre">177.piffa.net</span></tt> .</p>
1405 <div class="section" id="virtual-host">
1406 <h3><a class="toc-backref" href=
1407 "#id28">3.5.2 Virtual host</a></h3>
1409 <p>Esempio di Virtual host:</p>
1410 <pre class="literal-block">
1411 <VirtualHost *:80 >
1412 ServerName 177.piffa.net
1413 DocumentRoot /var/www/177.piffa.net/
1414 ServerAdmin webmaster@177.piffa.net
1415 </VirtualHost>
1418 <ol class="arabic simple">
1419 <li><tt class="docutils literal"><span class=
1420 "pre"><VirtualHost</span> <span class=
1421 "pre">\*:80</span> <span class="pre">></span></tt>
1422 La prima riga indica l'inizio della stanza relativa al
1423 nostro virtual host, che ascolotera' su qualunque
1424 indirizzo ip (nel caso il server abbia piu' indirizzi
1425 dai quali e' raggiungibile) sulla porta <tt class=
1426 "docutils literal"><span class=
1427 "pre">80</span></tt>.</li>
1429 <li><tt class="docutils literal"><span class=
1430 "pre">Server/name</span></tt> precisa quale sara' il
1431 nome di dominio a cui verra' associato questo sito
1432 rispetto ad altri eventualmenti presenti sullo stesso
1435 <li><tt class="docutils literal"><span class=
1436 "pre">DocumentRoot</span></tt> : il path della
1437 directory che contiene le pagine del sito.</li>
1439 <li><tt class="docutils literal"><span class=
1440 "pre">ServerAdmin</span></tt>: l'indirizzo del
1441 webmaster, in modo da poterlo contattare in caso di
1442 problemi col sito.</li>
1444 <li><tt class="docutils literal"><span class=
1445 "pre"></VirtualHost></span></tt>: <em>tag</em> di
1446 chiusura della stanza di definizione del virtual
1450 <p>Quelle che abbiamo appena visto sono le direttive
1451 essenziali per definire un sito virtuale, potrebbe essere
1452 utile aggiungene altre:</p>
1456 <dl class="first docutils">
1457 <dt><tt class="docutils literal"><span class=
1458 "pre">ErrorLog</span> <span class=
1459 "pre">/var/log/apache2/177.piffa.net/error.log</span></tt></dt>
1462 <p class="first last">Log degli errori separato
1463 dai restanti siti web ospitati dal server.</p>
1469 <dl class="first docutils">
1470 <dt><tt class="docutils literal"><span class=
1471 "pre">LogLevel</span> <span class=
1472 "pre">warn</span></tt></dt>
1475 <p class="first last">Livello di importanza degli
1476 eventi loggati= warning <em>attenzione</em> .</p>
1482 <dl class="first docutils">
1483 <dt><tt class="docutils literal"><span class=
1484 "pre">CustomLog</span> <span class=
1485 "pre">/var/log/apache2/177.piffa.net/access.log</span>
1486 <span class="pre">combined</span></tt></dt>
1489 <p class="first last">Log di accesso separati
1490 dagli altri siti, utile anche qua per statistiche
1491 di accesso per il solo sito virtuale.</p>
1497 <p>Potrebbe essere utile modificare le impostazioni di
1498 una intera directory, ad esempio per abilitare
1499 l'<tt class="docutils literal"><span class=
1500 "pre">AuthConfig</span></tt>:</p>
1501 <pre class="literal-block">
1502 <Directory "/var/www/miosito.net/privata">
1503 AllowOverride AuthConfig
1504 Options ExecCGI Indexes MultiViews FollowSymLinks
1510 <p><tt class="docutils literal"><span class=
1511 "pre">AllowOverride</span> <span class=
1512 "pre">AuthConfig</span></tt> ora vale per l'intera
1513 directory, come le altre opzioni.</p>
1517 <div class="section" id="negoziazione-accessi">
1518 <h2><a class="toc-backref" href=
1519 "#id29">3.6 Negoziazione accessi</a></h2>
1521 <p>Tipicamente quando si installa un server web il proprio
1522 desiderio e' di dare accesso ai materiali disponibili al
1523 maggior numero di visitatori possibile. Talvolta pero' puo
1524 essere utile o necessario limitare gli accessi, ad esempio
1525 per escludere un <em>bot</em> indesiderato che scansiona
1526 ininterottamente le nostre pagine o per creare una <em>Area
1527 Riservata</em> i cui materiali non devono essere
1528 disponibile a tutti.</p>
1530 <div class="section" id="limiti-su-base-ip">
1531 <h3><a class="toc-backref" href=
1532 "#id30">3.6.1 Limiti su base ip</a></h3>
1534 <p>La forma piu' semplice di restrizine degli accessi e'
1535 su base degli indirizzi IP dei client: tipicamente i siti
1536 web sono settati per dare accesso a chiunque:</p>
1537 <pre class="literal-block">
1538 <VirtualHost *:80 >
1542 </VirtualHost>
1545 <p>Potremmo negare l'accesso a uno o piu' indirizzi IP in
1547 <pre class="literal-block">
1548 <VirtualHost *:80 >
1551 Deny from 192.168.0.1
1552 </VirtualHost>
1555 <p>Ora l'IP 192.168.0.1 non potra' piu' accedere ai
1556 materiali dell'intero sito virtuale, oppure potremmo
1557 lavorare su una sola directory:</p>
1558 <pre class="literal-block">
1559 <Directory "/var/www/miosito.net/limitata">
1561 Allow from 192.168.0.0./24
1566 <p>In questo modo solo la classe IP <tt class=
1567 "docutils literal"><span class=
1568 "pre">192.168.0.0/24</span></tt> potra' accedere alla
1569 directory <tt class="docutils literal"><span class=
1570 "pre">/limitata</span></tt> Si tenga pero' conto che e'
1571 relativamente facile per un malintenzionato cambiare il
1572 propio indirizzo ip, oppure collegarsi da un altra zona.
1573 Meno facile e' accedere ad una classe privata trovandosi
1574 all'esterno di questa, ma e' comunque possibile mandare
1575 delle richieste <tt class="docutils literal"><span class=
1576 "pre">GET</span></tt> per cercare di mandare in Denial Of
1577 Service il webserver.</p>
1580 <div class="section" id="user-authentication">
1581 <h3><a class="toc-backref" href=
1582 "#id31">3.6.2 User
1583 Authentication</a></h3>
1585 <p>A volte conviene negoziare gli accessi ad un area di
1586 un sito tramite autenticazione basata sull'accopiata
1587 <em>nome utente / password</em>. Questo puo' venire utile
1588 per creare una area download <em>intranet</em>, alla
1589 quale possano accedere solo gli utenti previsti a
1590 prescindere dagli indirizzi IP dei loro client. Per
1591 quanto esistano soluzioni piu' granulari e sofisticate
1592 per ottenere questo, <em>mod-auth</em> puo'essere
1593 sufficente. E mod auth non richiede l'installazione di
1594 software aggiuntivi.</p>
1596 <p>link: <a class="reference external" href=
1597 "http://www.apacheweek.com/features/userauth">http://www.apacheweek.com/features/userauth</a></p>
1601 <div class="section" id="cavets">
1602 <h2><a class="toc-backref" href=
1603 "#id32">3.7 Cavets</a></h2>
1605 <p>Problemi di cache:</p>
1609 <li>Proxy: nei settaggi del browser specificare di non
1610 utilizzare un server proxy http per il sito web locale
1611 (o per gli altri che si stanno monitorando). Se si ha
1612 il controllo del proxy server: stopparlo, ricaricare la
1613 pagina (operazione che fallira'), far ripartire il
1614 proxy, ricaricare la pagina.</li>
1616 <li>Provare con un altro browser, o cercare di svuotare
1617 la cache chiudere/riaprire l'applicativo. Provare a
1618 fermare Apache, ricaricare la pagina (operazione che
1619 fallira'), far ripartire Apache, ricaricare la
1626 <div class="section" id="domain-name-system">
1627 <h1><a class="toc-backref" href=
1628 "#id33">4 Domain Name System</a></h1>
1630 <p>Domain Name System (spesso indicato con DNS) è un
1631 servizio utilizzato per la risoluzione di nomi di host in
1632 indirizzi IP e viceversa. Il servizio è realizzato tramite
1633 un database distribuito, costituito dai server DNS.</p>
1635 <p>Il nome DNS denota anche il protocollo che regola il
1636 funzionamento del servizio, i programmi che lo implementano,
1637 i server su cui questi girano, l'insieme di questi server che
1638 cooperano per fornire il servizio.</p>
1640 <p>I nomi DNS, o "nomi di dominio", sono una delle
1641 caratteristiche più visibili di Internet.</p>
1643 <p>C'è confusione in merito alla definizione dell'acronimo:
1644 la S spesso viene interpretata come service, ma la
1645 definizione corretta è system.</p>
1647 <p>L'operazione di convertire un nome in un indirizzo è
1648 detta risoluzione DNS, convertire un indirizzo IP in nome è
1649 detto risoluzione inversa.</p>
1651 <div class="section" id="nomi-di-dominio">
1652 <h2><a class="toc-backref" href=
1653 "#id34">4.1 Nomi di dominio</a></h2>
1655 <p>Un nome a dominio è costituito da una serie di stringhe
1656 separate da punti, ad esempio it.wikipedia.org. A
1657 differenza degli indirizzi IP, dove la parte più
1658 importante del numero è la prima partendo da sinistra, in
1659 un nome DNS la parte più importante è la prima partendo
1660 da destra. Questa è detta dominio di primo livello (o TLD,
1661 Top Level Domain), per esempio .org o .it.</p>
1663 <p>Un dominio di secondo livello consiste in due parti, per
1664 esempio wikipedia.org, e così via. Ogni ulteriore elemento
1665 specifica un'ulteriore suddivisione. Quando un dominio di
1666 secondo livello viene registrato all'assegnatario, questo
1667 è autorizzato a usare i nomi di dominio relativi ai
1668 successivi livelli come it.wikipedia.org (dominio di terzo
1669 livello) e altri come some.other.stuff.wikipedia.org
1670 (dominio di quinto livello) e così via.</p>
1673 <div class="section" id="tipologie-di-record">
1674 <h2><a class="toc-backref" href=
1675 "#id35">4.2 Tipologie di record</a></h2>
1677 <p>Ad un nome DNS possono corrispondere diversi tipi di
1678 informazioni. Per questo motivo, esistono diversi tipi di
1679 record DNS. Ogni voce del database DNS deve essere
1680 caratterizzata da un tipo. I principali tipi sono:</p>
1683 <li>Record A - Indica la corrispondenza tra un nome ed
1684 uno (o più) indirizzi IP (per la precisione indirizzi
1685 IPv4, ovvero la versione attualmente in uso).</li>
1687 <li>Record MX - (Mail eXchange) indica a quali server
1688 debba essere inviata la posta elettronica per un certo
1691 <li>Record CNAME - Sono usati per creare un alias, ovvero
1692 per fare in modo che lo stesso calcolatore sia noto con
1693 più nomi. Uno degli utilizzi di questo tipo di record
1694 consiste nell'attribuire ad un host che offre più
1695 servizi un nome per ciascun servizio. In questo modo, i
1696 servizi possono poi essere spostati su altri host senza
1697 dover riconfigurare i client, ma modificando solo il
1700 <li>Record PTR - Il DNS viene utilizzato anche per
1701 realizzare la risoluzione inversa, ovvero per far
1702 corrispondere ad un indirizzo IP il corrispondente nome a
1703 dominio. Per questo si usano i record di tipo "PTR" (e
1704 una apposita zona dello spazio dei nomi
1707 <li>Record AAAA - Restituisce un indirizzo IPv6.</li>
1709 <li>Record SRV - Identificano il server per un
1710 determinato servizio all'interno di un dominio. Possono
1711 essere considerati una generalizzazione dei record
1714 <li>Record TXT - Associano campi di testo arbitrari ad un
1715 dominio. Questi campi possono contenere una descrizione
1716 informativa oppure essere utilizzati per realizzare
1720 <p>Vi sono anche tipi di record "di servizio", necessari al
1721 funzionamento del database distribuito: * Record NS -
1722 Utilizzato per indicare quali siano i server DNS
1723 autoritativi per un certo dominio, ovvero per delegarne la
1724 gestione. * Record SOA - (Start of Authority) usato per la
1725 gestione delle zone DNS.</p>
1728 <div class="section" id="utilizzo">
1729 <h2><a class="toc-backref" href=
1730 "#id36">4.3 Utilizzo</a></h2>
1732 <p>I computer vengono identificati in rete grazie agli
1733 indirizzi <em>IP</em>, questi pero' non sono comodi per gli
1734 utenti come riferimento per i vari server. Ad esempio
1735 sarebbe scomodoriferirsi al motore di ricerca Goggle con
1736 uno dei suoi IP: <tt class="docutils literal"><span class=
1737 "pre">74.125.43.104</span></tt>, e' preferibile usare il
1738 nome di dominio <em>www.google.com</em>:</p>
1739 <pre class="literal-block">
1740 ping -c 1 www.google.com
1741 PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
1745 <div class="section" id="risoluzione-dei-nomi-di-dominio">
1746 <h2><a class="toc-backref" href=
1747 "#id37">4.4 Risoluzione dei nomi di
1750 <p>Ci sono vari strumenti per interrogare i server DNS e
1751 ottenere l'indirizzo IP associato al nome di dominio che ci
1753 <pre class="literal-block">
1754 $ host www.piffa.net
1755 www.piffa.net is an alias for piffa.net.
1756 piffa.net has address 65.98.21.97
1757 piffa.net mail is handled by 10 65.98.21.97
1760 $ nslookup www.piffa.net
1761 Server: 192.168.0.10
1762 Address: 192.168.0.10#53
1764 Non-authoritative answer:
1765 www.piffa.net canonical name = piffa.net.
1767 Address: 65.98.21.97
1772 ; <<>> DiG 9.6.0-P1 <<>> www.piffa.net
1773 ;; global options: +cmd
1775 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47751
1776 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
1778 ;; QUESTION SECTION:
1779 ;www.piffa.net. IN A
1782 www.piffa.net. 3489 IN CNAME piffa.net.
1783 piffa.net. 3489 IN A 65.98.21.97
1785 ;; AUTHORITY SECTION:
1786 piffa.net. 86289 IN NS ns2.mydomain.com.
1787 piffa.net. 86289 IN NS ns1.mydomain.com.
1788 piffa.net. 86289 IN NS ns4.mydomain.com.
1789 piffa.net. 86289 IN NS ns3.mydomain.com.
1791 ;; ADDITIONAL SECTION:
1792 ns1.mydomain.com. 96208 IN A 64.94.117.193
1793 ns2.mydomain.com. 96208 IN A 64.94.31.67
1794 ns3.mydomain.com. 96208 IN A 66.150.161.137
1795 ns4.mydomain.com. 96208 IN A 63.251.83.74
1797 ;; Query time: 1 msec
1798 ;; SERVER: 192.168.0.10#53(192.168.0.10)
1799 ;; WHEN: Sun May 10 21:23:11 2009
1800 ;; MSG SIZE rcvd: 209
1803 <p>Lo strumento piu' esaustivo e' <tt class=
1804 "docutils literal"><span class="pre">dig</span></tt>,
1805 installabile con il pacchetto <tt class=
1806 "docutils literal"><span class="pre">dnsutils</span></tt>
1810 <div class="section" id="dig">
1811 <h2><a class="toc-backref" href=
1812 "#id38">4.5 Dig</a></h2>
1814 <p>Vediamo alcune opzioni utili nell'utilizzo di <tt class=
1815 "docutils literal"><span class="pre">dig</span></tt> per
1816 l'inerrogazione dei DNS Server:</p>
1817 <pre class="literal-block">
1820 ; <<>> DiG 9.6.0-P1 <<>> www.google.it
1821 ;; global options: +cmd
1823 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18816
1824 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 7, ADDITIONAL: 0
1826 ;; QUESTION SECTION:
1827 ;www.google.it. IN A
1830 www.google.it. 250683 IN CNAME www.google.com.
1831 www.google.com. 334819 IN CNAME www.l.google.com.
1832 www.l.google.com. 186 IN A 74.125.43.103
1833 www.l.google.com. 186 IN A 74.125.43.104
1834 www.l.google.com. 186 IN A 74.125.43.147
1835 www.l.google.com. 186 IN A 74.125.43.99
1837 ;; AUTHORITY SECTION:
1838 l.google.com. 80856 IN NS f.l.google.com.
1839 l.google.com. 80856 IN NS d.l.google.com.
1840 l.google.com. 80856 IN NS b.l.google.com.
1841 l.google.com. 80856 IN NS c.l.google.com.
1842 l.google.com. 80856 IN NS a.l.google.com.
1843 l.google.com. 80856 IN NS e.l.google.com.
1844 l.google.com. 80856 IN NS g.l.google.com.
1846 ;; Query time: 1 msec
1847 ;; SERVER: 192.168.0.10#53(192.168.0.10)
1848 ;; WHEN: Sun May 10 21:34:47 2009
1849 ;; MSG SIZE rcvd: 255
1852 <dl class="docutils">
1855 <dd>(semza opzioni o oggetti) Fornisce l'elenco dei
1856 <em>root servers</em> utilizzati. I root server sono i
1857 server che mantengono le informazioni sui domini di primo
1858 livello (TLD) e sono quindi il punto di partenza per
1859 scorrere nella directory dei DNS per recuperare le
1860 informazioni (tipicamente un campo <tt class=
1861 "docutils literal"><span class="pre">A</span></tt> per un
1862 indirizzo IP) che ci servono per raggiungere un certo
1871 <p>;; ANSWER SECTION: . 192032 IN NS C.ROOT-SERVERS.NET.
1872 . 192032 IN NS E.ROOT-SERVERS.NET. . 192032 IN NS
1873 B.ROOT-SERVERS.NET. . 192032 IN NS L.ROOT-SERVERS.NET. .
1874 192032 IN NS A.ROOT-SERVERS.NET. . 192032 IN NS
1875 F.ROOT-SERVERS.NET. . 192032 IN NS H.ROOT-SERVERS.NET. .
1876 192032 IN NS G.ROOT-SERVERS.NET. . 192032 IN NS
1877 K.ROOT-SERVERS.NET. . 192032 IN NS M.ROOT-SERVERS.NET. .
1878 192032 IN NS I.ROOT-SERVERS.NET. . 192032 IN NS
1879 J.ROOT-SERVERS.NET. . 192032 IN NS
1880 D.ROOT-SERVERS.NET.</p>
1887 <div class="section" id="dnsmasq">
1888 <h1><a class="toc-backref" href=
1889 "#id39">5 DNSmasq</a></h1>
1891 <p>Dnsmasq puo' svolgere le funzioni di un DNS cache /
1892 forwarder e un server DHCP caratterizzato dalla facilita' di
1893 configurazione, dalla leggerezza e dalla possibilita' di
1894 modificare rapidamente i record DNS serviti alla rete. Puo'
1895 essere anche utilizzato come <cite>server per il boot da rete
1896 <http://www.debian-administration.org/articles/478>_</cite>
1899 <p>Dnsmasq e' un interessante alternativa all'uso del server
1900 DNS Bind in modalita' cache-only (non autoritativo)
1901 accompagnato dal server DHCPD. I vantaggi sono:</p>
1904 <li>Leggerezza: puo' essere fatto girare su una macchina
1905 relativamente debole in caso di bisogno.</li>
1907 <li>Rapidita' di configurazione (in particolare per servire
1908 dei record A / MX alla rete, modificando al volo i valori
1909 originali ospitati sul server DNS Publico).</li>
1911 <li>Ben integrato con connssioni PPP (utile se dovete
1912 rendere disponibile rapidamente una connessione a internet
1913 a una rete in difficolta').</li>
1916 <p>Tutto cio' rende Dnsmasq una soluzione valida in
1917 particolare quando si deve intervenire in una rete
1918 pre-esistente in cui il server principale e' in crisi: si
1919 potra' utilizzare Dnsmasq anche su una macchina piu' debole e
1920 <em>mascherare</em> i servizi al momento non disponibili.
1921 Molto utile per scopi didattici, sopratutto per testare
1922 server SMTP impostando al volo i campi MX per nomi di dominio
1926 <div class="section" id="samba">
1927 <h1><a class="toc-backref" href=
1928 "#id40">6 Samba</a></h1>
1930 <p>Samba e' un progetto libero che fornisce servizi di
1931 condivisione di file e stampanti a client SMB/CIFS.</p>
1933 <p>Samba e' liberamente disponibile, al contrario di altre
1934 implementazioni SMB/CIFS, e permette di ottenere
1935 interoperabilita' tra Linux, Unix, Mac OS X e Windows.</p>
1937 <p>Samba e' un software che puo girare su piattaforme che non
1938 siano Microsoft Windows, per esempio, UNIX, Linux, IBM System
1939 390, OpenVMS e altri sistemi operativi. Samba utilizza il
1940 protocollo TCP/IP utilizzando i servizi offerti sul server
1941 ospite. Quando correttamente configurato, permette di
1942 interagire con client o server Microsoft Windows come se
1943 fosse un file e print server Microsoft agendo da Primary
1944 Domain Controller (PDC) o come Backup Domain Controller, puo'
1945 inoltre prendere parte ad un dominio Active Directory.</p>
1947 <div class="section" id="pacchetti">
1948 <h2><a class="toc-backref" href=
1949 "#id41">6.1 Pacchetti</a></h2>
1951 <p>Pacchetti da installare per utilizzare Samba in
1952 modalita' client <a class="footnote-reference" href="#id4"
1953 id="id3" name="id3">[2]</a></p>
1954 <pre class="literal-block">
1958 <p>Pacchetti da installare per utilizzare Samba in
1959 modalita' server:</p>
1960 <pre class="literal-block">
1961 samba smbfs smbclient
1964 <table class="docutils footnote" frame="void" id="id4"
1971 <tbody valign="top">
1973 <td class="label"><a class="fn-backref" href=
1976 <td>Anche se nato per i sistemi Windows, Samba puo'
1977 essere usato anche per montare cartelle sotto
1978 GNU/Linux come alternativa a NFS. Per la condivisione
1979 di stampanti sarebbe invece opportuno intervenire
1980 direttamente su <tt class=
1981 "docutils literal"><span class=
1982 "pre">CUPS</span></tt>.</td>
1987 <p>Durante la prima installazione viene chiesto il nome del
1988 gruppo di appartenenza, il default per Windows e'
1989 <tt class="docutils literal"><span class=
1990 "pre">WORKGROUP</span></tt>. In aula usiamo invece
1991 <tt class="docutils literal"><span class=
1992 "pre">208</span></tt> .</p>
1994 <p>Per riconfigurare Samba si usi il comando:</p>
1995 <pre class="literal-block">
1996 dpkg-reconfigure samba-common
2000 <div class="section" id="passwords-e-autenticazione">
2001 <h2><a class="toc-backref" href=
2002 "#id42">6.2 Passwords e
2003 autenticazione</a></h2>
2005 <p>Per poter configurare Samba in modo che usi un sistema
2006 di negoziazione degli accessi alle cartelle condivise
2007 basato su accoppiate <em>nome utente / password</em>
2008 bisogna distinguere tra 3 livelli di password (e
2009 generalmente volete usare <em>sempre la stessa
2010 password</em> per ognuno di questi) e delle differenze tra
2011 le modalita' di <em>autenticazione</em> (e quindi anche di
2012 criptaggio delle passwords) usate da sistemi GNU/Linux e
2015 <dl class="docutils">
2016 <dt>1 Sistema *Unix ( GNU/Linux )</dt>
2018 <dd>E' la password dell'<em>utente di sistema</em> che
2019 viene usata sul sistema operativo su cui gira il software
2020 Samba. E' importante tenere conto anche delle
2021 <em>user-id</em> e <em>group-id</em> degli utenti che
2022 dovranno fisicamente scrivere sui file system. Se un
2023 utente non puo' scrivere in una certa posizione del file
2024 system (ad esempio nella cartella <tt class=
2025 "docutils literal"><span class=
2026 "pre">/mnt/condivisione</span></tt> che sara' stata
2027 necessariamente creata inizialmente dall'utente
2028 <tt class="docutils literal"><span class=
2029 "pre">root</span></tt>) per mancanza dei privilegi di
2030 scrittura allora neanche Samba potra' farlo nel momento
2031 in mette a disposizione la risorsa all'utente. Se si
2032 montano file-system dedicati per le condivisioni
2033 controllare i permessi e propieta' dei <em>punti di
2034 mount*</em>. Queste passwords sono salvate nel solito
2035 file /etc/shadow (richiamato da /etc/passwd).</dd>
2037 <dt>2 Password per l'applicativo Samba</dt>
2039 <dd>Samba deve essere compatibile con Windows e quindi
2040 utilizzare un sistema di criptazione delle password
2041 diverso da /etc/shadow . Le password per Samba possono
2042 essere gestite ad esempio col comando <tt class=
2043 "docutils literal"><span class=
2044 "pre">smbpasswd</span></tt> e vengono generalmente
2045 salvate all'interno di <tt class=
2046 "docutils literal"><span class=
2047 "pre">/var/lib/samba/passdb.tdb</span></tt> .</dd>
2049 <dt>3 Password per Windows.</dt>
2051 <dd>Gli utenti Windows effettuano il log-in alla partenza
2052 della sessione di Windows. Se si avra' l'accortezza di
2053 usare sempre la <em>stessa password</em> data
2054 precedentemente anche a Windows (o viceversa impostare la
2055 password per GNU/Linux / Samba uguale a quella di
2056 Windows) l'utente potra' accedere automaticamente alle
2057 condivisioni a lui disponibili.</dd>
2061 <div class="section" id="creazione-utenti">
2062 <h2><a class="toc-backref" href=
2063 "#id43">6.3 Creazione Utenti</a></h2>
2065 <p>Creiamo per primo l'utente sotto GNU/Linux, facendo
2066 attenzione a <em>non dargli una shell di sistema</em>. Gli
2067 utenti Windows che accedono al server solo per le
2068 condivisioni non hanno bisogno di poter eseguire comandi
2071 <p>Creazione di un utente denominato sambo:</p>
2072 <pre class="literal-block">
2073 adduser --shell /bin/false sambo
2076 <p>Nel file <tt class="docutils literal"><span class=
2077 "pre">/etc/passwd</span></tt> avremo qualcosa come:</p>
2078 <pre class="literal-block">
2079 sambo:x:1001:1001:Sambo utente Samba,,,:/home/sambo:/bin/false
2082 <p>Aggiunta dell'utente al database delle password per
2083 Samba e generazione della sua password:</p>
2084 <pre class="literal-block">
2088 <p>Se successivamente si vorra' modificare la password di
2089 un utente gia' esistente si usi:</p>
2090 <pre class="literal-block">
2094 <p>La password sotto Windows verra' modificata sul sistema
2098 <div class="section" id="creare-la-condivisione">
2099 <h2><a class="toc-backref" href=
2100 "#id44">6.4 Creare la
2101 condivisione</a></h2>
2103 <p>La condivisione altro non e' che una cartella sul server
2104 che viene resa disponibile ai client negoziando l'accesso
2105 in base a una autenticazione basata su <em>user-name /
2106 password</em>. E' per altro possibile permettere l'accesso
2107 a una risorsa a chiunque indiscriminatamente (a tutti i
2108 <tt class="docutils literal"><span class=
2109 "pre">guest</span></tt>) ma la cosa e' sconsigliabile dal
2110 punto di vista della sicurezza. Si decida se la cartella
2111 condivisa debba risiedere nella <em>home</em> di un utente
2112 (nel caso quest'ultimo ne sia l'unico fruitore) o in una
2113 cartella in /mnt/ (nel caso piu' utenti accedano a questa).
2114 Nel secondo caso si potranno gestire gli accessi sotto
2115 GNU/Linux tramite i gruppi.</p>
2117 <p>Creazione della risorsa sambo_share nella home
2118 dell'utente sambo:</p>
2119 <pre class="literal-block">
2120 # mkdir /home/sambo/sambo_share
2121 # chown sambo:sambo /home/sambo/sambo_share/
2124 <div class="section" id=
2125 "sicurezza-permessi-di-esecuzione-sul-server">
2126 <h3><a class="toc-backref" href=
2127 "#id45">6.4.1 Sicurezza: permessi di
2128 esecuzione sul server</a></h3>
2130 <p>Bisognerebbe notare sul server i permessi di
2131 esecuzione del file-system che ospita la cartella da
2132 condividere. Se i file che saranno contenuti nella
2133 condivisione saranno da usarsi sotto Windows non c'e'
2134 motivo che questi siano eseguibili sotto GNU/Linux. Si
2135 potrebbe avere quindi, ipotizzando una condivisione in
2136 <tt class="docutils literal"><span class=
2137 "pre">/mnt/share</span></tt> che risieda su di un file
2138 system dedicato:</p>
2140 <p><tt class="docutils literal"><span class=
2141 "pre">/etc/fstab</span></tt></p>
2144 /dev/hda10 /mnt/share ext3 rw,
2145 <strong>nosuid,noexec</strong> 0 3
2148 <p>Si noti anche l'uso di <em>nosuid</em> per evitare la
2149 possibilita' di eseguire programmi con credenziali
2154 <div class="section" id=
2155 "configurazione-dell-applicativo-samba-vero-e-proprio">
2156 <h2><a class="toc-backref" href=
2157 "#id46">6.5 Configurazione
2158 dell'applicativo Samba vero e proprio.</a></h2>
2160 <p>Avendo preparato gli utenti (ancora una volta: non si
2161 dia una shell completa a un utente che serve solo per Samba
2162 o la posta elettronica) e la cartella sul file system si
2163 puo' procedere a configurare la condivisione su Samba.</p>
2165 <p>/etc/samba/smb.conf riga ~235 , Share Definitions (in
2166 vim si usi 235gg ):</p>
2167 <pre class="literal-block">
2169 # Percorso della cartella condivisa
2170 path = /home/sambo/sambo_share
2171 # Se gli utenti possono scrivere / modificare file
2173 # Negoziazione degli accessi su base utenti / passwords
2176 # #######################################
2177 # Altri parametri opzionali di interesse
2178 # Se posso vedere la condivisione da esplora risorse
2179 # anche se non ho i privilegi per accedervi.
2181 # Commento indicativo della risorsa
2182 comment = Condivisione per Sambo
2185 <p>Dopo aver salvato il file si puo' fare un primo
2186 controllo tramite l'utility <tt class=
2187 "docutils literal"><span class="pre">testparm</span></tt> ,
2188 che controlla la sintassi del file di configurazione di
2189 Samba. Se questo non rileva problemi si puo' procedere a un
2190 <tt class="docutils literal"><span class="pre">#</span>
2191 <span class="pre">/etc/init.d/samba</span> <span class=
2192 "pre">restart</span></tt> .</p>
2195 <div class="section" id="testare-il-servizio">
2196 <h2><a class="toc-backref" href=
2197 "#id47">6.6 Testare il Servizio</a></h2>
2199 <p>Come testare il servizio</p>
2202 <pre class="literal-block">
2203 smbclient -U sambo -L localhost
2206 <p>Questo comando permette di esplorare la risorsa
2207 qualificandosi come utente, in questo modo potete testare
2208 il corretto funzionamento dell'autenticazione. Si provi
2209 inizialmente a sbagliare la password deliberatamente, poi a
2210 inserirla correttamente: dovrebbero essere visibili le
2211 risorse disponibili al solo utente sambo: la suo /home e la
2212 cartella samba_share:</p>
2213 <pre class="literal-block">
2214 Sharename Type Comment
2215 --------- ---- -------
2216 sambo_share Disk Condivisione per Sambo
2217 print$ Disk Printer Drivers
2218 IPC$ IPC IPC Service (base server)
2219 sambo Disk Home Directories
2222 <p>In particolare l'ultima voce relativa alla home
2223 directory dell'utente dovrebbe essere visibile solo agli
2224 utenti autenticati.</p>
2226 <p>In alternativa e' possibile montare realmente la
2227 condivisone anche su GNU/Linux tramite un client per samba
2228 e testarne il corretto funzionamento:</p>
2229 <pre class="literal-block">
2230 mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo
2235 <div class="section" id="note">
2236 <h1><a class="toc-backref" href=
2237 "#id48">7 NOTE</a></h1>
2240 <li>controllare apache</li>
2243 <p>sintassi: in <tt class="docutils literal"><span class=
2244 "pre">monospace</span></tt> :</p>
2247 <li>nomi di files</li>