]> git.piffa.net Git - doc/.git/blob - servizi.html
Apache authconfig
[doc/.git] / servizi.html
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
3
4 <html lang="it">
5 <head>
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/">
12
13   <title>Servizi di rete passo a passo</title>
14   <style type="text/css">
15
16   /*
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.
20
21   Default cascading style sheet for the HTML output of Docutils.
22
23   See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
24   customize this style sheet.
25   */
26
27   /* used to remove borders from tables and images */
28   .borderless, table.borderless td, table.borderless th {
29   border: 0 }
30
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 }
35
36   .first {
37   /* Override more specific margin styles with "! important". */
38   margin-top: 0 ! important }
39
40   .last, .with-subtitle {
41   margin-bottom: 0 ! important }
42
43   .hidden {
44   display: none }
45
46   a.toc-backref {
47   text-decoration: none ;
48   color: black }
49
50   blockquote.epigraph {
51   margin: 2em 5em ; }
52
53   dl.docutils dd {
54   margin-bottom: 0.5em }
55
56   /* Uncomment (and remove this text!) to get bold-faced definition list terms
57   dl.docutils dt {
58   font-weight: bold }
59   */
60
61   div.abstract {
62   margin: 2em 5em }
63
64   div.abstract p.topic-title {
65   font-weight: bold ;
66   text-align: center }
67
68   div.admonition, div.attention, div.caution, div.danger, div.error,
69   div.hint, div.important, div.note, div.tip, div.warning {
70   margin: 2em ;
71   border: medium outset ;
72   padding: 1em }
73
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 {
77   font-weight: bold ;
78   font-family: sans-serif }
79
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 {
83   color: red ;
84   font-weight: bold ;
85   font-family: sans-serif }
86
87   /* Uncomment (and remove this text!) to get reduced vertical space in
88    compound paragraphs.
89   div.compound .compound-first, div.compound .compound-middle {
90   margin-bottom: 0.5em }
91
92   div.compound .compound-last, div.compound .compound-middle {
93   margin-top: 0.5em }
94   */
95
96   div.dedication {
97   margin: 2em 5em ;
98   text-align: center ;
99   font-style: italic }
100
101   div.dedication p.topic-title {
102   font-weight: bold ;
103   font-style: normal }
104
105   div.figure {
106   margin-left: 2em ;
107   margin-right: 2em }
108
109   div.footer, div.header {
110   clear: both;
111   font-size: smaller }
112
113   div.line-block {
114   display: block ;
115   margin-top: 1em ;
116   margin-bottom: 1em }
117
118   div.line-block div.line-block {
119   margin-top: 0 ;
120   margin-bottom: 0 ;
121   margin-left: 1.5em }
122
123   div.sidebar {
124   margin: 0 0 0.5em 1em ;
125   border: medium outset ;
126   padding: 1em ;
127   background-color: #ffffee ;
128   width: 40% ;
129   float: right ;
130   clear: right }
131
132   div.sidebar p.rubric {
133   font-family: sans-serif ;
134   font-size: medium }
135
136   div.system-messages {
137   margin: 5em }
138
139   div.system-messages h1 {
140   color: red }
141
142   div.system-message {
143   border: medium outset ;
144   padding: 1em }
145
146   div.system-message p.system-message-title {
147   color: red ;
148   font-weight: bold }
149
150   div.topic {
151   margin: 2em }
152
153   h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
154   h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
155   margin-top: 0.4em }
156
157   h1.title {
158   text-align: center }
159
160   h2.subtitle {
161   text-align: center }
162
163   hr.docutils {
164   width: 75% }
165
166   img.align-left {
167   clear: left }
168
169   img.align-right {
170   clear: right }
171
172   ol.simple, ul.simple {
173   margin-bottom: 1em }
174
175   ol.arabic {
176   list-style: decimal }
177
178   ol.loweralpha {
179   list-style: lower-alpha }
180
181   ol.upperalpha {
182   list-style: upper-alpha }
183
184   ol.lowerroman {
185   list-style: lower-roman }
186
187   ol.upperroman {
188   list-style: upper-roman }
189
190   p.attribution {
191   text-align: right ;
192   margin-left: 50% }
193
194   p.caption {
195   font-style: italic }
196
197   p.credits {
198   font-style: italic ;
199   font-size: smaller }
200
201   p.label {
202   white-space: nowrap }
203
204   p.rubric {
205   font-weight: bold ;
206   font-size: larger ;
207   color: maroon ;
208   text-align: center }
209
210   p.sidebar-title {
211   font-family: sans-serif ;
212   font-weight: bold ;
213   font-size: larger }
214
215   p.sidebar-subtitle {
216   font-family: sans-serif ;
217   font-weight: bold }
218
219   p.topic-title {
220   font-weight: bold }
221
222   pre.address {
223   margin-bottom: 0 ;
224   margin-top: 0 ;
225   font-family: serif ;
226   font-size: 100% }
227
228   pre.literal-block, pre.doctest-block {
229   margin-left: 2em ;
230   margin-right: 2em }
231
232   span.classifier {
233   font-family: sans-serif ;
234   font-style: oblique }
235
236   span.classifier-delimiter {
237   font-family: sans-serif ;
238   font-weight: bold }
239
240   span.interpreted {
241   font-family: sans-serif }
242
243   span.option {
244   white-space: nowrap }
245
246   span.pre {
247   white-space: pre }
248
249   span.problematic {
250   color: red }
251
252   span.section-subtitle {
253   /* font-size relative to parent (h1..h6 element) */
254   font-size: 80% }
255
256   table.citation {
257   border-left: solid 1px gray;
258   margin-left: 1px }
259
260   table.docinfo {
261   margin: 2em 4em }
262
263   table.docutils {
264   margin-top: 0.5em ;
265   margin-bottom: 0.5em }
266
267   table.footnote {
268   border-left: solid 1px black;
269   margin-left: 1px }
270
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 }
276
277   table.docutils th.field-name, table.docinfo th.docinfo-name {
278   font-weight: bold ;
279   text-align: left ;
280   white-space: nowrap ;
281   padding-left: 0 }
282
283   h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
284   h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
285   font-size: 100% }
286
287   ul.auto-toc {
288   list-style-type: none }
289
290   </style>
291 </head>
292
293 <body>
294   <div class="document" id="servizi-di-rete-passo-a-passo">
295     <h1 class="title">Servizi di rete passo a passo</h1>
296
297     <h2 class="subtitle" id=
298     "appunti-sulla-installazione-e-configurazione-dei-servizi">
299     Appunti sulla installazione e configurazione dei servizi</h2>
300
301     <blockquote>
302       <table class="docutils field-list" frame="void" rules="none">
303         <col class="field-name">
304         <col class="field-body">
305
306         <tbody valign="top">
307           <tr class="field">
308             <th class="field-name">Author:</th>
309
310             <td class="field-body">Andrea Manni</td>
311           </tr>
312
313           <tr class="field">
314             <th class="field-name">Copyright:</th>
315
316             <td class="field-body">GFDL</td>
317           </tr>
318
319           <tr class="field">
320             <th class="field-name">Version:</th>
321
322             <td class="field-body">0.4</td>
323           </tr>
324         </tbody>
325       </table>
326     </blockquote>
327
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>
334
335     <div class="contents topic" id="indice-degli-argomenti">
336       <p class="topic-title first">Indice degli argomenti</p>
337
338       <ul class="auto-toc simple">
339         <li>
340           <a class="reference internal" href=
341           "#configurazione-sistema" id="id6" name=
342           "id6">1&nbsp;&nbsp;&nbsp;Configurazione sistema</a>
343
344           <ul class="auto-toc">
345             <li><a class="reference internal" href=
346             "#solo-per-uso-interno" id="id7" name=
347             "id7">1.1&nbsp;&nbsp;&nbsp;Solo per uso
348             interno</a></li>
349
350             <li><a class="reference internal" href="#rete" id="id8"
351             name="id8">1.2&nbsp;&nbsp;&nbsp;Rete</a></li>
352
353             <li><a class="reference internal" href=
354             "#bash-completion" id="id9" name=
355             "id9">1.3&nbsp;&nbsp;&nbsp;Bash completion</a></li>
356
357             <li><a class="reference internal" href="#vim" id="id10"
358             name="id10">1.4&nbsp;&nbsp;&nbsp;Vim</a></li>
359
360             <li><a class="reference internal" href="#vnc" id="id11"
361             name="id11">1.5&nbsp;&nbsp;&nbsp;VNC</a></li>
362
363             <li><a class="reference internal" href=
364             "#lista-dei-pacchetti-di-base" id="id12" name=
365             "id12">1.6&nbsp;&nbsp;&nbsp;Lista dei pacchetti di
366             base</a></li>
367
368             <li>
369               <a class="reference internal" href=
370               "#apt-configurazione" id="id13" name=
371               "id13">1.7&nbsp;&nbsp;&nbsp;Apt configurazione</a>
372
373               <ul class="auto-toc">
374                 <li><a class="reference internal" href=
375                 "#sources-list" id="id14" name=
376                 "id14">1.7.1&nbsp;&nbsp;&nbsp;sources.list</a></li>
377
378                 <li><a class="reference internal" href=
379                 "#etc-apt-apt-conf" id="id15" name=
380                 "id15">1.7.2&nbsp;&nbsp;&nbsp;/etc/apt/apt.conf</a></li>
381               </ul>
382             </li>
383           </ul>
384         </li>
385
386         <li><a class="reference internal" href="#squid" id="id16"
387         name="id16">2&nbsp;&nbsp;&nbsp;Squid</a></li>
388
389         <li>
390           <a class="reference internal" href="#apache" id="id17"
391           name="id17">3&nbsp;&nbsp;&nbsp;Apache</a>
392
393           <ul class="auto-toc">
394             <li><a class="reference internal" href=
395             "#pacchetti-da-installare" id="id18" name=
396             "id18">3.1&nbsp;&nbsp;&nbsp;Pacchetti da
397             installare::</a></li>
398
399             <li><a class="reference internal" href=
400             "#configurazione-di-apache" id="id19" name=
401             "id19">3.2&nbsp;&nbsp;&nbsp;Configurazione di
402             Apache</a></li>
403
404             <li><a class="reference internal" href="#apache-conf"
405             id="id20" name=
406             "id20">3.3&nbsp;&nbsp;&nbsp;apache.conf</a></li>
407
408             <li>
409               <a class="reference internal" href=
410               "#installazione-di-php" id="id21" name=
411               "id21">3.4&nbsp;&nbsp;&nbsp;Installazione di PHP</a>
412
413               <ul class="auto-toc">
414                 <li><a class="reference internal" href=
415                 "#test-del-modulo-php" id="id22" name=
416                 "id22">3.4.1&nbsp;&nbsp;&nbsp;Test del modulo
417                 php</a></li>
418
419                 <li><a class="reference internal" href=
420                 "#installazione-del-supporto-per-mysql" id="id23"
421                 name="id23">3.4.2&nbsp;&nbsp;&nbsp;Installazione
422                 del supporto per Mysql</a></li>
423
424                 <li><a class="reference internal" href=
425                 "#phpmyadmin" id="id24" name=
426                 "id24">3.4.3&nbsp;&nbsp;&nbsp;phpmyadmin</a></li>
427
428                 <li><a class="reference internal" href=
429                 "#installazione-del-supporto-per-postgresql" id=
430                 "id25" name=
431                 "id25">3.4.4&nbsp;&nbsp;&nbsp;Installazione del
432                 supporto per Postgresql</a></li>
433
434                 <li><a class="reference internal" href=
435                 "#phppgadmin" id="id26" name=
436                 "id26">3.4.5&nbsp;&nbsp;&nbsp;phppgadmin</a></li>
437               </ul>
438             </li>
439
440             <li>
441               <a class="reference internal" href="#virtual-hosts"
442               id="id27" name="id27">3.5&nbsp;&nbsp;&nbsp;Virtual
443               hosts</a>
444
445               <ul class="auto-toc">
446                 <li><a class="reference internal" href=
447                 "#gestione-dns" id="id28" name=
448                 "id28">3.5.1&nbsp;&nbsp;&nbsp;Gestione DNS</a></li>
449
450                 <li><a class="reference internal" href=
451                 "#virtual-host" id="id29" name=
452                 "id29">3.5.2&nbsp;&nbsp;&nbsp;Virtual host</a></li>
453               </ul>
454             </li>
455
456             <li>
457               <a class="reference internal" href=
458               "#negoziazione-accessi" id="id30" name=
459               "id30">3.6&nbsp;&nbsp;&nbsp;Negoziazione accessi</a>
460
461               <ul class="auto-toc">
462                 <li><a class="reference internal" href=
463                 "#limiti-su-base-ip" id="id31" name=
464                 "id31">3.6.1&nbsp;&nbsp;&nbsp;Limiti su base
465                 ip</a></li>
466               </ul>
467             </li>
468
469             <li>
470               <a class="reference internal" href=
471               "#user-authentication" id="id32" name=
472               "id32">3.7&nbsp;&nbsp;&nbsp;User Authentication</a>
473
474               <ul class="auto-toc">
475                 <li><a class="reference internal" href=
476                 "#definire-la-cartella" id="id33" name=
477                 "id33">3.7.1&nbsp;&nbsp;&nbsp;Definire la
478                 cartella</a></li>
479
480                 <li><a class="reference internal" href=
481                 "#creazione-del-database-delle-passwords" id="id34"
482                 name="id34">3.7.2&nbsp;&nbsp;&nbsp;Creazione del
483                 database delle passwords</a></li>
484
485                 <li><a class="reference internal" href="#id3" id=
486                 "id35" name=
487                 "id35">3.7.3&nbsp;&nbsp;&nbsp;Configurazione di
488                 Apache</a></li>
489               </ul>
490             </li>
491
492             <li><a class="reference internal" href="#cavets" id=
493             "id36" name="id36">3.8&nbsp;&nbsp;&nbsp;Cavets</a></li>
494           </ul>
495         </li>
496
497         <li>
498           <a class="reference internal" href="#domain-name-system"
499           id="id37" name="id37">4&nbsp;&nbsp;&nbsp;Domain Name
500           System</a>
501
502           <ul class="auto-toc">
503             <li><a class="reference internal" href=
504             "#nomi-di-dominio" id="id38" name=
505             "id38">4.1&nbsp;&nbsp;&nbsp;Nomi di dominio</a></li>
506
507             <li><a class="reference internal" href=
508             "#tipologie-di-record" id="id39" name=
509             "id39">4.2&nbsp;&nbsp;&nbsp;Tipologie di
510             record</a></li>
511
512             <li><a class="reference internal" href="#utilizzo" id=
513             "id40" name=
514             "id40">4.3&nbsp;&nbsp;&nbsp;Utilizzo</a></li>
515
516             <li><a class="reference internal" href=
517             "#risoluzione-dei-nomi-di-dominio" id="id41" name=
518             "id41">4.4&nbsp;&nbsp;&nbsp;Risoluzione dei nomi di
519             dominio</a></li>
520
521             <li><a class="reference internal" href="#dig" id="id42"
522             name="id42">4.5&nbsp;&nbsp;&nbsp;Dig</a></li>
523           </ul>
524         </li>
525
526         <li><a class="reference internal" href="#dnsmasq" id="id43"
527         name="id43">5&nbsp;&nbsp;&nbsp;DNSmasq</a></li>
528
529         <li>
530           <a class="reference internal" href="#samba" id="id44"
531           name="id44">6&nbsp;&nbsp;&nbsp;Samba</a>
532
533           <ul class="auto-toc">
534             <li><a class="reference internal" href="#pacchetti" id=
535             "id45" name=
536             "id45">6.1&nbsp;&nbsp;&nbsp;Pacchetti</a></li>
537
538             <li><a class="reference internal" href=
539             "#passwords-e-autenticazione" id="id46" name=
540             "id46">6.2&nbsp;&nbsp;&nbsp;Passwords e
541             autenticazione</a></li>
542
543             <li><a class="reference internal" href=
544             "#creazione-utenti" id="id47" name=
545             "id47">6.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></li>
546
547             <li>
548               <a class="reference internal" href=
549               "#creare-la-condivisione" id="id48" name=
550               "id48">6.4&nbsp;&nbsp;&nbsp;Creare la
551               condivisione</a>
552
553               <ul class="auto-toc">
554                 <li><a class="reference internal" href=
555                 "#sicurezza-permessi-di-esecuzione-sul-server" id=
556                 "id49" name=
557                 "id49">6.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi
558                 di esecuzione sul server</a></li>
559               </ul>
560             </li>
561
562             <li><a class="reference internal" href=
563             "#configurazione-dell-applicativo-samba-vero-e-proprio"
564             id="id50" name=
565             "id50">6.5&nbsp;&nbsp;&nbsp;Configurazione
566             dell'applicativo Samba vero e proprio.</a></li>
567
568             <li><a class="reference internal" href=
569             "#testare-il-servizio" id="id51" name=
570             "id51">6.6&nbsp;&nbsp;&nbsp;Testare il
571             Servizio</a></li>
572           </ul>
573         </li>
574
575         <li><a class="reference internal" href="#note" id="id52"
576         name="id52">7&nbsp;&nbsp;&nbsp;NOTE</a></li>
577       </ul>
578     </div>
579
580     <p>Generato con: <a class="reference external" href=
581     "http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
582
583     <div class="section" id="configurazione-sistema">
584       <h1><a class="toc-backref" href=
585       "#id6">1&nbsp;&nbsp;&nbsp;Configurazione sistema</a></h1>
586
587       <div class="section" id="solo-per-uso-interno">
588         <h2><a class="toc-backref" href=
589         "#id7">1.1&nbsp;&nbsp;&nbsp;Solo per uso interno</a></h2>
590
591         <p>Impostazioni di base per la configurazione del sistema
592         operativo e della rete nel laboratorio 208 facente parte
593         della rete piffa.net .</p>
594
595         <p>Qui riportati per comodita' degli studenti (e del
596         docente che non sara' <strong>mai piu'</strong> costretto a
597         ripeterli! )</p>
598       </div>
599
600       <div class="section" id="rete">
601         <h2><a class="toc-backref" href=
602         "#id8">1.2&nbsp;&nbsp;&nbsp;Rete</a></h2>
603
604         <p>Parametri della rete attualmente in uso:</p>
605
606         <table border="1" class="docutils">
607           <colgroup>
608             <col width="45%">
609             <col width="55%">
610           </colgroup>
611
612           <tbody valign="top">
613             <tr>
614               <td colspan="2">Parametri della rete</td>
615             </tr>
616
617             <tr>
618               <td>rete</td>
619
620               <td>10.10.208.0/24</td>
621             </tr>
622
623             <tr>
624               <td>netmask</td>
625
626               <td>255.255.255.0</td>
627             </tr>
628
629             <tr>
630               <td>broadcast</td>
631
632               <td>10.10.208.255</td>
633             </tr>
634
635             <tr>
636               <td>gateway</td>
637
638               <td>10.10.208.254</td>
639             </tr>
640
641             <tr>
642               <td>gateway</td>
643
644               <td>10.10.208.250 persistente</td>
645             </tr>
646
647             <tr>
648               <td>DNS</td>
649
650               <td>10.10.208.254</td>
651             </tr>
652
653             <tr>
654               <td>DNS</td>
655
656               <td>10.10.208.250 persistente</td>
657             </tr>
658           </tbody>
659         </table>
660
661         <p>Sul portatile di Andrea, corrispondente all'ip 254, gira
662         un DHCP, proxy http e mirror di Debian ( <a class=
663         "reference external" href=
664         "http://debian.piffa.net">http://debian.piffa.net</a>). Se
665         Andrea non e' in aula (o ancora peggio non c'e' il suo
666         portatile Net) gli studenti dovranno darsi un indirizzo ip
667         manualmente e disabilitare il proxy (che pero' e
668         trasparente, quindi fate pure come se non ci fosse ;) .</p>
669       </div>
670
671       <div class="section" id="bash-completion">
672         <h2><a class="toc-backref" href=
673         "#id9">1.3&nbsp;&nbsp;&nbsp;Bash completion</a></h2>
674
675         <p>Il completamento automatico della shell (che si attiva
676         premendo il tasto tab una o due volte mentre si sta
677         scrivendo un termine) permette di comporre automaticamente
678         i nomi dei comandi e i percorsi dei file, sopratutto la
679         composizione automatica dei percorsi dei file e' di grande
680         importanza.</p>
681
682         <p>Bash_completion permette di integrare il completamento
683         automatico con i nomi dei pacchetti e oggetti dei comandi:
684         ad es. volendo digitare <tt class=
685         "docutils literal"><span class="pre">apt-get</span>
686         <span class="pre">inst[TAB]</span> <span class=
687         "pre">xtigh[TAB]</span></tt> ora verra' completatato
688         automaticamente sia la parola <tt class=
689         "docutils literal"><span class="pre">install</span></tt>
690         che il nome del pacchetto <tt class=
691         "docutils literal"><span class=
692         "pre">xtightvncviewer</span></tt>.</p>
693
694         <p>Abilitare /etc/bash_completion nel file <tt class=
695         "docutils literal"><span class=
696         "pre">/etc/bash.bashrc</span></tt> oppure includerlo nel
697         proprio <tt class="docutils literal"><span class=
698         "pre">~/.bashrc</span></tt> (che sarebbe il file
699         <em>nascosto</em>, quindi con un punto all'inizio del nome
700         del file, di configurazione della shell bash per ogni
701         utente, presente nella propria <em>home
702         directory</em>):</p>
703         <pre class="literal-block">
704 echo ". /etc/bash_completion" &gt;&gt; ~/.bashrc
705 </pre>
706
707         <p>Esempio di ~/.bahsrc</p>
708         <pre class="literal-block">
709 # ~/.bashrc: executed by bash(1) for non-login shells.
710
711 export PS1='\h:\w\$ '
712 umask 022
713
714 # Decommentare le seguenti righr per abilitare la colorazione dei
715 # nomi dei file:
716  export LS_OPTIONS='--color=auto'
717  eval "`dircolors`"
718  alias ls='ls $LS_OPTIONS'
719  alias ll='ls $LS_OPTIONS -l'
720  alias l='ls $LS_OPTIONS -lA'
721
722 # Some more alias to avoid making mistakes:
723 # alias rm='rm -i'
724 # alias cp='cp -i'
725 # alias mv='mv -i'
726
727 # questo abilita bash completion
728 . /etc/bash_completion
729 </pre>
730
731         <p>Il file <tt class="docutils literal"><span class=
732         "pre">/etc/bash_completion</span></tt> deve essere presente
733         nel sistema, in caso contrario installare il pacchetto:
734         <tt class="docutils literal"><span class=
735         "pre">bash-completion</span></tt>. Generalmente l'utente
736         <tt class="docutils literal"><span class=
737         "pre">root</span></tt> ha un file <tt class=
738         "docutils literal"><span class="pre">.bashrc</span></tt>
739         preimpostato analogo a quello citato sopra, a differenza
740         dei normali utenti di sistema.</p>
741
742         <p>Links:</p>
743
744         <ul class="simple">
745           <li><a class="reference external" href=
746           "http://www.debian-administration.org/articles/316">An
747           introduction to bash completion</a></li>
748
749           <li><a class="reference external" href=
750           "http://www.caliban.org/bash/">Working more productively
751           with bash 2.x/3.x</a></li>
752         </ul>
753       </div>
754
755       <div class="section" id="vim">
756         <h2><a class="toc-backref" href=
757         "#id10">1.4&nbsp;&nbsp;&nbsp;Vim</a></h2>
758
759         <p>Vim e' l'editor di testo preferito dai sistemisti,
760         quindi sara' conveniente impostare fin da subito alcune
761         impostazioni per renderlo piu' comodo.</p>
762
763         <p>Assicurarsi che sia installata nel sistema la versione
764         completa dell'editor <tt class=
765         "docutils literal"><span class="pre">vim</span></tt>
766         nstallando il pacchetto vimi:</p>
767         <pre class="literal-block">
768        # apt-get install vim
769
770 e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::
771
772    " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
773    " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
774    " you can find below.  If you wish to change any of those settings, you should
775    " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
776    " everytime an upgrade of the vim packages is performed.  It is recommended to
777    " make changes after sourcing debian.vim since it alters the value of the
778    " 'compatible' option.
779
780    " This line should not be removed as it ensures that various options are
781    " properly set to work with the Vim-related packages available in Debian.
782    runtime! debian.vim
783
784    " Uncomment the next line to make Vim more Vi-compatible
785    " NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
786    " options, so any other options should be set AFTER setting 'compatible'.
787    "set compatible
788
789    " Vim5 and later versions support syntax highlighting. Uncommenting the next
790    " line enables syntax highlighting by default.
791    syntax on
792
793    " If using a dark background within the editing area and syntax highlighting
794    " turn on this option as well
795    set background=dark
796
797    " Uncomment the following to have Vim jump to the last position when
798    " reopening a file
799
800    if has("autocmd")
801      au BufReadPost * if line("'\"") &gt; 0 &amp;&amp; line("'\"") &lt;= line("$")
802        \| exe "normal! g'\"" | endif
803    endif
804
805    " Uncomment the following to have Vim load indentation rules and plugins
806    " according to the detected filetype.
807    if has("autocmd")
808      filetype plugin indent on
809    endif
810
811    " The following are commented out as they cause vim to behave a lot
812    " differently from regular Vi. They are highly recommended though.
813    set showcmd             " Show (partial) command in status line.
814    "set showmatch          " Show matching brackets.
815    set ignorecase          " Do case insensitive matching
816    "set smartcase          " Do smart case matching
817    "set incsearch          " Incremental search
818    set autowrite           " Automatically save before commands like :next and :make
819    "set hidden             " Hide buffers when they are abandoned
820    "set mouse=a            " Enable mouse usage (all modes) in terminals
821
822    " Source a global configuration file if available
823    " XXX Deprecated, please move your changes here in /etc/vim/vimrc
824    if filereadable("/etc/vim/vimrc.local")
825      source /etc/vim/vimrc.local
826    endif
827 </pre>
828       </div>
829
830       <div class="section" id="vnc">
831         <h2><a class="toc-backref" href=
832         "#id11">1.5&nbsp;&nbsp;&nbsp;VNC</a></h2>
833
834         <p>I Virtual Network Computing (o VNC) sono software di
835         controllo remoto e servono per amministrare il proprio
836         computer a distanza o visuallizare la sessione di lavoro di
837         un altro computer sul proprio a scopo didattico.
838         Installando un server VNC sulla propria macchina ed
839         impostando una opportuna password si consente ai client VNC
840         di ricevere una immagine dello schermo ed eventualmente di
841         inviare input di tastiera e mouse al computer server
842         (durante le lezioni questo non e' possibile per gli
843         studenti, solo Andrea esegue i comandi). In pratica si può
844         gestire il computer server da un'altra postazione, come se
845         fosse il proprio computer fisico.</p>
846
847         <p>Scaricare il pacchetto <tt class=
848         "docutils literal"><span class=
849         "pre">xtightvncviewer</span></tt> e lo script <tt class=
850         "docutils literal"><span class="pre">guarda.sh</span></tt>
851         in una posizione (collocazione nel <em>path</em> degli
852         utenti, es <tt class="docutils literal"><span class=
853         "pre">echo</span> <span class="pre">$PATH</span></tt> per
854         visualizzare l'attuale path ) comoda per gli utenti ( in
855         genere <tt class="docutils literal"><span class=
856         "pre">/bin</span></tt> ), rndere eseguibile lo script.</p>
857
858         <p>Procedura:</p>
859         <pre class="literal-block">
860 su root
861 cd /bin
862 wget http://debian.piffa.net/guarda.sh
863 chmod +x guarda.sh
864 exit
865 </pre>
866
867         <p>Si noti che non e' possibile lanciare un applicativo sul
868         server grafico di un utente da una shell in cui si sta
869         lavorando come altro utente, anche se root. E' quindi
870         necessario essere l'utente di sistema che si e' loggato
871         inizialmente nella sessione grafica per poter lanciare lo
872         script guarda.sh da una shell.</p>
873
874         <p>Controllare con <tt class=
875         "docutils literal"><span class="pre">whoami</span></tt> di
876         essere l'utente normale (es <tt class=
877         "docutils literal"><span class="pre">utente</span>
878         <span class="pre">|</span> <span class=
879         "pre">studente</span> <span class="pre">|</span>
880         <span class="pre">proprio</span> <span class=
881         "pre">nome</span></tt> ), in caso si sia assunta una altra
882         <tt class="docutils literal"><span class=
883         "pre">id</span></tt> si apra un altra shell o si esca da
884         quella attuale con <tt class=
885         "docutils literal"><span class="pre">exit</span></tt> .</p>
886       </div>
887
888       <div class="section" id="lista-dei-pacchetti-di-base">
889         <h2><a class="toc-backref" href=
890         "#id12">1.6&nbsp;&nbsp;&nbsp;Lista dei pacchetti di
891         base</a></h2>
892
893         <p>I pacchetti installati generalmente <a class=
894         "footnote-reference" href="#id2" id="id1" name=
895         "id1">[1]</a> per poter seguire le lezioni sono:</p>
896         <pre class="literal-block">
897 kde-core kdm kde-i18n-it xorg vim less xtightvncviewer
898 </pre>
899
900         <table class="docutils footnote" frame="void" id="id2"
901         rules="none">
902           <colgroup>
903             <col class="label">
904             <col>
905           </colgroup>
906
907           <tbody valign="top">
908             <tr>
909               <td class="label"><a class="fn-backref" href=
910               "#id1">[1]</a></td>
911
912               <td><tt class="docutils literal"><span class=
913               "pre">kde-core</span></tt> e' piu' leggero del
914               pacchetto <tt class="docutils literal"><span class=
915               "pre">kde</span></tt>, esiste anche un equivalente
916               <tt class="docutils literal"><span class=
917               "pre">gnome-core</span> <span class=
918               "pre">gnome</span></tt> e il log-in manager
919               <tt class="docutils literal"><span class=
920               "pre">gdm</span></tt> per il l'ambiente grafico
921               Gnome.</td>
922             </tr>
923           </tbody>
924         </table>
925       </div>
926
927       <div class="section" id="apt-configurazione">
928         <h2><a class="toc-backref" href=
929         "#id13">1.7&nbsp;&nbsp;&nbsp;Apt configurazione</a></h2>
930
931         <p>Vediamo i due file principali di apt:</p>
932
933         <ul class="simple">
934           <li><tt class="docutils literal"><span class=
935           "pre">/etc/apt/sources.list</span></tt></li>
936
937           <li><tt class="docutils literal"><span class=
938           "pre">/etc/apt/apt.conf</span></tt></li>
939         </ul>
940
941         <div class="section" id="sources-list">
942           <h3><a class="toc-backref" href=
943           "#id14">1.7.1&nbsp;&nbsp;&nbsp;sources.list</a></h3>
944
945           <p>Questo file contiene i sorgenti da cui <em>apt</em>
946           preleva i pacchetti da installare tramite <em>dpkg</em>,
947           vengono quindi precisati i metodi (ad es. http / ftp /
948           cdrom / file), la release che si vuole tracciare (es
949           <tt class="docutils literal"><span class=
950           "pre">stable,</span> <span class="pre">testing,</span>
951           <span class="pre">unstable</span></tt> oppure i
952           corrispondenti release name es: <tt class=
953           "docutils literal"><span class="pre">Lenny,</span>
954           <span class="pre">Squeeze,</span> <span class=
955           "pre">Sid</span></tt>), i rami di interesse (es:
956           <tt class="docutils literal"><span class=
957           "pre">main</span></tt> che e' l'archivio principale,
958           <tt class="docutils literal"><span class=
959           "pre">non-free</span></tt> per il software non libero,
960           <tt class="docutils literal"><span class=
961           "pre">contrib</span></tt> per i pacchetti non realizzati
962           dai manutentori ufficiali).</p>
963
964           <p>Gli archivi sono generalmente:</p>
965
966           <ul class="simple">
967             <li><tt class="docutils literal"><span class=
968             "pre">deb</span></tt> per pacchetti Debian binari</li>
969
970             <li><tt class="docutils literal"><span class=
971             "pre">deb-src</span></tt> per i pacchetti sorgenti
972             (quindi da compilare, come il kernel) degli stessi
973             pacchetti binari. In genere se non compilate spesso
974             potete evitare di tracciare i sorgenti per risparmiare
975             tempo e banda.</li>
976           </ul>
977
978           <p><tt class="docutils literal"><span class=
979           "pre">/etc/apt/sources.list</span></tt></p>
980           <pre class="literal-block">
981 # esempio di accesso a un CDROM:
982 # cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 kde-CD Binary-1 20090$
983
984 # Archivio principale debian via http su piffa.net,
985 # non funziona al difuori dell'aula dei corsi
986 deb http://debian.piffa.net/debian/ Lenny main
987 # deb http://debian.piffa.net/debian/ Lenny  non-free contrib
988
989 # Mirror da kernel.org da usare a casa:
990 deb http://mirrors.eu.kernel.org/debian/ Lenny main
991
992 # Security dal sito principale
993 deb http://security.debian.org/ Lenny/updates main
994 deb-src http://security.debian.org/ Lenny/updates main
995
996 # Debian volatile per le cose soggette a cambiamenti non legati
997 # a dinamiche di sicurezza
998 deb http://volatile.debian.org/debian-volatile Lenny/volatile main
999 deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
1000
1001 # Esempio di accesso a un filesystem locale contenente i pacchetti:
1002 # deb file:/mnt/mirror Sid main non-free contrib
1003 </pre>
1004         </div>
1005
1006         <div class="section" id="etc-apt-apt-conf">
1007           <h3><a class="toc-backref" href=
1008           "#id15">1.7.2&nbsp;&nbsp;&nbsp;/etc/apt/apt.conf</a></h3>
1009
1010           <p>Questo file contiene le opzioni di apt, come ad
1011           esempio il proxy:</p>
1012           <pre class="literal-block">
1013 Acquire::http::Proxy "http://10.10.208.254:3128"
1014 </pre>
1015
1016           <p>Si tenga conto che se si imposta un proxy per apt sul
1017           proprio portatile e tornati a casa propria si vuole
1018           scaricare nuovi pacchetti si dovra' disabilitare il
1019           proxy.</p>
1020         </div>
1021       </div>
1022     </div>
1023
1024     <div class="section" id="squid">
1025       <h1><a class="toc-backref" href=
1026       "#id16">2&nbsp;&nbsp;&nbsp;Squid</a></h1>
1027     </div>
1028
1029     <div class="section" id="apache">
1030       <h1><a class="toc-backref" href=
1031       "#id17">3&nbsp;&nbsp;&nbsp;Apache</a></h1>
1032
1033       <p>Apache HTTP Server, o più comunemente Apache, e' il nome
1034       dato alla piattaforma server Web modulare più diffusa (ma
1035       anche al gruppo di lavoro open source che ha creato,
1036       sviluppato e aggiornato il software server), in grado di
1037       operare da sistemi operativi UNIX-Linux e Microsoft.</p>
1038
1039       <p>Un server web e' un processo, e per estensione il computer
1040       su cui Ã¨ in esecuzione, che si occupa di fornire, su
1041       richiesta del browser, una pagina web (spesso scritta in
1042       HTML). Le informazioni inviate dal server web viaggiano in
1043       rete trasportate dal protocollo HTTP. L'insieme di server web
1044       dÃ&nbsp; vita al World Wide Web, uno dei servizi più
1045       utilizzati di Internet.</p>
1046
1047       <div class="section" id="pacchetti-da-installare">
1048         <h2><a class="toc-backref" href=
1049         "#id18">3.1&nbsp;&nbsp;&nbsp;Pacchetti da
1050         installare::</a></h2>
1051
1052         <blockquote>
1053           apache2 apache2-doc
1054         </blockquote>
1055
1056         <p>Con la release 2.0 di Apache viene automaticamente resa
1057         disponibile anche la versione SSL (Secure Socket Layer,
1058         cpnnessioni criptate ) del web server.</p>
1059       </div>
1060
1061       <div class="section" id="configurazione-di-apache">
1062         <h2><a class="toc-backref" href=
1063         "#id19">3.2&nbsp;&nbsp;&nbsp;Configurazione di
1064         Apache</a></h2>
1065
1066         <p>I file di configurazione di apache si trovano nella
1067         cartella: <tt class="docutils literal"><span class=
1068         "pre">/etc/apache2</span></tt> e sono strutturati come
1069         descritto nel file <tt class=
1070         "docutils literal"><span class="pre">/usr/share/doc/apache2/README.Debian.gz</span></tt>
1071         . Sostanzialmente lo schema e' il seguente:</p>
1072
1073         <dl class="docutils">
1074           <dt>apache2.conf</dt>
1075
1076           <dd>
1077             <p class="first">File di configurazione principale del
1078             servizio.</p>
1079
1080             <p class="last">httpd.conf e' il vecchio file di
1081             configurazione di Apache1, presente per motivi di
1082             retrocompatibilita' e' generalemente vuoto.</p>
1083           </dd>
1084
1085           <dt>ports.conf</dt>
1086
1087           <dd>In questo file vengono specificate le porte sulle
1088           quali resta in ascolto il server web. Si noti che
1089           utilizzando dei virtual hosts generalmente viene
1090           specificata per questi la porta su cui ascoltare nel file
1091           di configurazione del virtual host, ad es: <tt class=
1092           "docutils literal"><span class=
1093           "pre">&lt;VirtualHost</span> <span class=
1094           "pre">*:80&gt;</span></tt></dd>
1095
1096           <dt>sites-available</dt>
1097
1098           <dd>In questa cartella vengono raccolti i file di
1099           configurazione dei virtual host disponibili.</dd>
1100
1101           <dt>sites-enabled</dt>
1102
1103           <dd>In questa cartella sono contenuti dei link simbolici
1104           ai files in ../sites-available : se il link e' presente
1105           in questa cartella il virtual host e' abilitato.</dd>
1106
1107           <dt>mods-available</dt>
1108
1109           <dd>Stesso metodo per i moduli: in questa cartella ci
1110           sono i moduli veri e propri che verranno poi abilitati
1111           grazie all'esistenza di link simbolici nella cartella
1112           mods-enabled .</dd>
1113
1114           <dt>mods-enabled</dt>
1115
1116           <dd>Moduli abilitati, effettivamente caricati.</dd>
1117         </dl>
1118       </div>
1119
1120       <div class="section" id="apache-conf">
1121         <h2><a class="toc-backref" href=
1122         "#id20">3.3&nbsp;&nbsp;&nbsp;apache.conf</a></h2>
1123
1124         <p>File di configurazione del servizio Apache, contiene le
1125         impostazioni generiche (ad esempio utilizzo della RAM e
1126         risorse di sistema) dell'intero servizio. Nella
1127         configurazione di default per Debian non viene definito un
1128         vero e proprio sito di default ma solo dei virtual
1129         hosts.</p>
1130
1131         <p>Guardiamo alcune direttive interessanti:</p>
1132
1133         <dl class="docutils">
1134           <dt>Timeout</dt>
1135
1136           <dd>Numero di secondi da aspettare prima di chiudere la
1137           connessione con il client. Questo parametro serve a
1138           liberare le risorse di sistema nel caso che un client,
1139           magar a causa di una connessione particolarmente lenta o
1140           instabili, tenga attivo indefinitivamente un processo di
1141           apache.</dd>
1142
1143           <dt>KeepAlive</dt>
1144
1145           <dd>L'estensione keep-alive (http 1.0) congiuntamente
1146           alle connessioni persistenti (http 1.1) permettono al
1147           server di rispondere a piu' richieste dei client mediante
1148           la stessa connessione. Il protocoll http per sua natura
1149           e' senza stato (<em>statelessi</em> ), quindi ogni
1150           risorsa richiesta (per pagine web si pensi ad esempio
1151           alle immagini) dal client necessita di una connessione
1152           autonoma. Keep-alive permette di ottimizzare la
1153           connessione anche fino al 50% a seconda delle situazioni
1154           e contenuti.</dd>
1155
1156           <dt>Server-Pool Size Regulation</dt>
1157
1158           <dd>Questi parametri (StartServers, MinSpareServers, ecc.
1159           Tutti spiegati nel manuale di apache) servono per
1160           attribuire le risorse di sistema disponibili al server
1161           Apache. Tenere questi parametri bassi serve a limitare il
1162           rischio di Denial of Service per il server, nel caso
1163           offra altri servizi. I settagi di default sono come
1164           sempre abbastanza conservativi, se si conta di usare il
1165           proprio Apache per servire un sito web con molti
1166           visitatori sara' necessario aumentare sensibilmente le
1167           impostazioni di base.</dd>
1168
1169           <dt>AccessFileName</dt>
1170
1171           <dd>Il nome del file che viene onorato per modificare le
1172           impostazioni per una singola directory, legato alla
1173           direttiva AllowOverride .</dd>
1174         </dl>
1175       </div>
1176
1177       <div class="section" id="installazione-di-php">
1178         <h2><a class="toc-backref" href=
1179         "#id21">3.4&nbsp;&nbsp;&nbsp;Installazione di PHP</a></h2>
1180
1181         <p>Pacchetti da installare: <tt class=
1182         "docutils literal"><span class="pre">php5</span>
1183         <span class="pre">php-pear</span></tt></p>
1184
1185         <div class="section" id="test-del-modulo-php">
1186           <h3><a class="toc-backref" href=
1187           "#id22">3.4.1&nbsp;&nbsp;&nbsp;Test del modulo
1188           php</a></h3>
1189
1190           <p>Creare nella cartella <tt class=
1191           "docutils literal"><span class="pre">/var/www</span></tt>
1192           (o altra cartella visibile) un file con estensione *.php
1193           (es <tt class="docutils literal"><span class=
1194           "pre">/var/ww/info.php</span></tt> contenete codice php
1195           eseguibile dall'interprete, ad es:</p>
1196           <pre class="literal-block">
1197 &lt;?php phpinfo() ; ?&gt;
1198 </pre>
1199
1200           <p>Questa funzione di php generera' la tipica pagina con
1201           le impostazioni attuali per PHP. Richiamando la pagina
1202           (es: <tt class="docutils literal"><span class=
1203           "pre">http://localhost/info.php</span></tt> ) verra
1204           generata dall'interprete PHP la pagina HTML e resa
1205           disponibile tramite Apache ai utclient HTTP, a prova del
1206           correto funzionamento del modulo di PHP e della sua
1207           integrazione con il serv web Apache. In caso contrario se
1208           il client http proporra di scaricare la pagina invece che
1209           visualizzarla nel browser: non funziona l'interprete di
1210           php o sono mal configurati i MIME-type. prima di tutto
1211           assicurarsi di aver fatoo ripartire Apache.</p>
1212         </div>
1213
1214         <div class="section" id=
1215         "installazione-del-supporto-per-mysql">
1216           <h3><a class="toc-backref" href=
1217           "#id23">3.4.2&nbsp;&nbsp;&nbsp;Installazione del supporto
1218           per Mysql</a></h3>
1219
1220           <p>Installare i pacchetti:</p>
1221           <pre class="literal-block">
1222 php5-mysql phpmyadmin
1223 </pre>
1224
1225           <p>Controllare tramite la pagina php.info che sia
1226           abilitato il supporto per Mysql (ripartito Apache,
1227           ricaricare la pagina e cercare con CTRL+f <tt class=
1228           "docutils literal"><span class=
1229           "pre">mysql</span></tt>).</p>
1230         </div>
1231
1232         <div class="section" id="phpmyadmin">
1233           <h3><a class="toc-backref" href=
1234           "#id24">3.4.3&nbsp;&nbsp;&nbsp;phpmyadmin</a></h3>
1235
1236           <p>L'interfaccia web Phpmyadmin non richede
1237           necessariamente la presenza di un database Mysql locale,
1238           puo' infatti essere utilizzata per gestire databases
1239           remoti (il suo file di configurazione: <tt class=
1240           "docutils literal"><span class=
1241           "pre">/etc/phpmyadmin/config.inc.php</span></tt> ). Nel
1242           caso si voglia installare localmente Mysql si utilizzi il
1243           pacchetto <tt class="docutils literal"><span class=
1244           "pre">mysql-server</span></tt> .</p>
1245
1246           <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1247           <tt class="docutils literal"><span class=
1248           "pre">http://localhost/phpmyadmin/</span></tt>, se cosi
1249           non fosse controllare che sia incluso il file <tt class=
1250           "docutils literal"><span class=
1251           "pre">/etc/phpmyadmin/apache.conf</span></tt> in
1252           <tt class="docutils literal"><span class=
1253           "pre">/etc/apache2/conf.d/</span></tt> .</p>
1254         </div>
1255
1256         <div class="section" id=
1257         "installazione-del-supporto-per-postgresql">
1258           <h3><a class="toc-backref" href=
1259           "#id25">3.4.4&nbsp;&nbsp;&nbsp;Installazione del supporto
1260           per Postgresql</a></h3>
1261
1262           <p>Installare i pacchetti:</p>
1263           <pre class="literal-block">
1264 php5-pgsql phppgadmin
1265 </pre>
1266
1267           <p>Controllare tramite la pagina php.info che sia
1268           abilitato il supporto per PostgreSQL (ripartito Apache,
1269           ricaricare la pagina e cercare con CTRL+f <tt class=
1270           "docutils literal"><span class=
1271           "pre">pgsql</span></tt>).</p>
1272         </div>
1273
1274         <div class="section" id="phppgadmin">
1275           <h3><a class="toc-backref" href=
1276           "#id26">3.4.5&nbsp;&nbsp;&nbsp;phppgadmin</a></h3>
1277
1278           <p>L'interfaccia web Phppgadmin per il database server
1279           PostgreSQL non richede necessariamente la presenza di un
1280           database locale, puo' infatti essere utilizzata per
1281           gestire databases remoti (il suo file di configurazione:
1282           <tt class="docutils literal"><span class=
1283           "pre">/etc/phppgadmin/config.inc.php</span></tt> ). Nel
1284           caso si voglia installare localmente Mysql si utilizzi il
1285           pacchetto <tt class="docutils literal"><span class=
1286           "pre">postgresql</span></tt> .</p>
1287
1288           <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1289           <tt class="docutils literal"><span class=
1290           "pre">http://localhost/phppgadmin/</span></tt>, se cosi
1291           non fosse controllare che sia incluso il file <tt class=
1292           "docutils literal"><span class=
1293           "pre">/etc/phppgadmin/apache.conf</span></tt> in
1294           <tt class="docutils literal"><span class=
1295           "pre">/etc/apache2/conf.d/</span></tt> .</p>
1296         </div>
1297       </div>
1298
1299       <div class="section" id="virtual-hosts">
1300         <h2><a class="toc-backref" href=
1301         "#id27">3.5&nbsp;&nbsp;&nbsp;Virtual hosts</a></h2>
1302
1303         <blockquote>
1304           <ul class="simple">
1305             <li><a class="reference external" href=
1306             "http://www.apacheweek.com/features/vhost">http://www.apacheweek.com/features/vhost</a></li>
1307
1308             <li><a class="reference external" href=
1309             "http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html">
1310             http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html</a></li>
1311           </ul>
1312         </blockquote>
1313
1314         <p>I virtual host permettono di avere piu' siti internet
1315         disponibili tramite lo stesso server web, eventualmente
1316         mappati su un solo indirizzo ip. Sono generalemente di due
1317         tipi:</p>
1318
1319         <blockquote>
1320           <ul class="simple">
1321             <li>Basati su <em>indirizzi ip</em>. Se si ha la
1322             possibilita' di avere piu' indirizzi ip dedicati per i
1323             diversi siti che si vuole servire. ES: <tt class=
1324             "docutils literal"><span class=
1325             "pre">&lt;VirtualHost</span> <span class=
1326             "pre">192.168.0.2:80&gt;</span></tt> . Soluzione
1327             dispendiosa, si tende ad usarla solo se servono
1328             certificati di sicurezza (SSL ) dedicati per ogni
1329             sito.</li>
1330
1331             <li>Basati su <em>nomi di dominio</em> che puntano allo
1332             stesso ip. Soluzione piu' economica e diffusa che si
1333             basa sulle funzionalita' di http 1.1 .</li>
1334           </ul>
1335         </blockquote>
1336
1337         <p>Prenderemo in esame la gestione di virtual hosts basati
1338         su nomi di dominio.</p>
1339
1340         <div class="section" id="gestione-dns">
1341           <h3><a class="toc-backref" href=
1342           "#id28">3.5.1&nbsp;&nbsp;&nbsp;Gestione DNS</a></h3>
1343
1344           <p>Prima di tutto per poter impostare i virtual hosts
1345           dovete avere un server DNS che risolva i vostri nomi di
1346           dominio sull'indirizzo ip del server. Questo si puo'
1347           ottenere in vari modi, ad es:</p>
1348
1349           <blockquote>
1350             <dl class="docutils">
1351               <dt><em>Bind</em> (DNS server)</dt>
1352
1353               <dd>Impostare i campi A nelle proprie zone gestite
1354               dal server dns Bind. Ad es: <tt class=
1355               "docutils literal"><span class=
1356               "pre">papo</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1357               <span class=
1358               "pre">A</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1359               <span class="pre">212.22.136.248</span></tt></dd>
1360
1361               <dt><em>Servizio DNS dinamico on line</em>.</dt>
1362
1363               <dd>Utilizzare un servizio come ad es: <a class=
1364               "reference external" href=
1365               "https://www.dyndns.com/">https://www.dyndns.com/</a>
1366               per mappare nomi di dominio sul proprio indirizzo ip,
1367               comodo ad esempio se si dispone di un indirzzo ip
1368               pubblico (anche se dinamico) per la propria
1369               connessione ad internet.</dd>
1370
1371               <dt><em>Dnsmasq</em> (DNS server)</dt>
1372
1373               <dd>Utilizzabile a livello locale per fare dei test,
1374               utilizzando direttive come: <tt class=
1375               "docutils literal"><span class=
1376               "pre">address=/davide.piffa.net/10.10.208.178</span></tt></dd>
1377
1378               <dt><tt class="docutils literal"><span class=
1379               "pre">/etc/hosts</span></tt></dt>
1380
1381               <dd>Per prove <em>strettamente a livello locale</em>
1382               potete impostare i nomi dei vostri virtual server nel
1383               file /etc/hosts .</dd>
1384             </dl>
1385           </blockquote>
1386           <pre class="literal-block">
1387 # dig 177.piffa.net
1388
1389 ; &lt;&lt;&gt;&gt; DiG 9.5.1-P1 &lt;&lt;&gt;&gt; 177.piffa.net
1390 ;; global options:  printcmd
1391 ;; Got answer:
1392 ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 38036
1393 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
1394
1395 ;; QUESTION SECTION:
1396 ;177.piffa.net.                 IN      A
1397
1398 ;; ANSWER SECTION:
1399 177.piffa.net.          0       IN      A       10.10.208.177
1400
1401 ;; Query time: 12 msec
1402 ;; SERVER: 10.10.208.254#53(10.10.208.254)
1403 ;; WHEN: Wed May  6 12:27:08 2009
1404 ;; MSG SIZE  rcvd: 47
1405 </pre>
1406
1407           <p>La parte interessante e' <tt class=
1408           "docutils literal"><span class=
1409           "pre">177.piffa.net.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1410           <span class=
1411           "pre">0</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1412           <span class="pre">IN</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1413           <span class=
1414           "pre">A</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1415           <span class="pre">10.10.208.177</span></tt> . Il nome di
1416           dominio 177.piffa.net viene risolto sull'ip 10.10.208.177
1417           , nel nostro Apache (che risponde all'ip 10.10.208.177 )
1418           dovra' essere disponibile un virtual host che corrisponde
1419           al nome <tt class="docutils literal"><span class=
1420           "pre">177.piffa.net</span></tt> .</p>
1421         </div>
1422
1423         <div class="section" id="virtual-host">
1424           <h3><a class="toc-backref" href=
1425           "#id29">3.5.2&nbsp;&nbsp;&nbsp;Virtual host</a></h3>
1426
1427           <p>Esempio di Virtual host:</p>
1428           <pre class="literal-block">
1429 &lt;VirtualHost *:80 &gt;
1430     ServerName 177.piffa.net
1431     DocumentRoot /var/www/177.piffa.net/
1432     ServerAdmin webmaster@177.piffa.net
1433 &lt;/VirtualHost&gt;
1434 </pre>
1435
1436           <ol class="arabic simple">
1437             <li><tt class="docutils literal"><span class=
1438             "pre">&lt;VirtualHost</span> <span class=
1439             "pre">\*:80</span> <span class="pre">&gt;</span></tt>
1440             La prima riga indica l'inizio della stanza relativa al
1441             nostro virtual host, che ascolotera' su qualunque
1442             indirizzo ip (nel caso il server abbia piu' indirizzi
1443             dai quali e' raggiungibile) sulla porta <tt class=
1444             "docutils literal"><span class=
1445             "pre">80</span></tt>.</li>
1446
1447             <li><tt class="docutils literal"><span class=
1448             "pre">Server/name</span></tt> precisa quale sara' il
1449             nome di dominio a cui verra' associato questo sito
1450             rispetto ad altri eventualmenti presenti sullo stesso
1451             server web.</li>
1452
1453             <li><tt class="docutils literal"><span class=
1454             "pre">DocumentRoot</span></tt> : il path della
1455             directory che contiene le pagine del sito.</li>
1456
1457             <li><tt class="docutils literal"><span class=
1458             "pre">ServerAdmin</span></tt>: l'indirizzo del
1459             webmaster, in modo da poterlo contattare in caso di
1460             problemi col sito.</li>
1461
1462             <li><tt class="docutils literal"><span class=
1463             "pre">&lt;/VirtualHost&gt;</span></tt>: <em>tag</em> di
1464             chiusura della stanza di definizione del virtual
1465             host.</li>
1466           </ol>
1467
1468           <p>Quelle che abbiamo appena visto sono le direttive
1469           essenziali per definire un sito virtuale, potrebbe essere
1470           utile aggiungene altre:</p>
1471
1472           <ul>
1473             <li>
1474               <dl class="first docutils">
1475                 <dt><tt class="docutils literal"><span class=
1476                 "pre">ErrorLog</span> <span class=
1477                 "pre">/var/log/apache2/177.piffa.net/error.log</span></tt></dt>
1478
1479                 <dd>
1480                   <p class="first last">Log degli errori separato
1481                   dai restanti siti web ospitati dal server.</p>
1482                 </dd>
1483               </dl>
1484             </li>
1485
1486             <li>
1487               <dl class="first docutils">
1488                 <dt><tt class="docutils literal"><span class=
1489                 "pre">LogLevel</span> <span class=
1490                 "pre">warn</span></tt></dt>
1491
1492                 <dd>
1493                   <p class="first last">Livello di importanza degli
1494                   eventi loggati= warning <em>attenzione</em> .</p>
1495                 </dd>
1496               </dl>
1497             </li>
1498
1499             <li>
1500               <dl class="first docutils">
1501                 <dt><tt class="docutils literal"><span class=
1502                 "pre">CustomLog</span> <span class=
1503                 "pre">/var/log/apache2/177.piffa.net/access.log</span>
1504                 <span class="pre">combined</span></tt></dt>
1505
1506                 <dd>
1507                   <p class="first last">Log di accesso separati
1508                   dagli altri siti, utile anche qua per statistiche
1509                   di accesso per il solo sito virtuale.</p>
1510                 </dd>
1511               </dl>
1512             </li>
1513           </ul>
1514
1515           <p>Potrebbe essere utile modificare le impostazioni di
1516           una intera directory, ad esempio per abilitare
1517           l'<tt class="docutils literal"><span class=
1518           "pre">AuthConfig</span></tt>:</p>
1519           <pre class="literal-block">
1520 &lt;Directory "/var/www/miosito.net/privata"&gt;
1521         AllowOverride AuthConfig
1522         Options ExecCGI Indexes MultiViews FollowSymLinks
1523         Order allow,deny
1524         Allow from all
1525 &lt;/Directory&gt;
1526 </pre>
1527
1528           <p><tt class="docutils literal"><span class=
1529           "pre">AllowOverride</span> <span class=
1530           "pre">AuthConfig</span></tt> ora vale per l'intera
1531           directory, come le altre opzioni.</p>
1532         </div>
1533       </div>
1534
1535       <div class="section" id="negoziazione-accessi">
1536         <h2><a class="toc-backref" href=
1537         "#id30">3.6&nbsp;&nbsp;&nbsp;Negoziazione accessi</a></h2>
1538
1539         <p>Tipicamente quando si installa un server web il proprio
1540         desiderio e' di dare accesso ai materiali disponibili al
1541         maggior numero di visitatori possibile. Talvolta pero' puo
1542         essere utile o necessario limitare gli accessi, ad esempio
1543         per escludere un <em>bot</em> indesiderato che scansiona
1544         ininterottamente le nostre pagine o per creare una <em>Area
1545         Riservata</em> i cui materiali non devono essere
1546         disponibile a tutti.</p>
1547
1548         <div class="section" id="limiti-su-base-ip">
1549           <h3><a class="toc-backref" href=
1550           "#id31">3.6.1&nbsp;&nbsp;&nbsp;Limiti su base ip</a></h3>
1551
1552           <p>La forma piu' semplice di restrizine degli accessi e'
1553           su base degli indirizzi IP dei client: tipicamente i siti
1554           web sono settati per dare accesso a chiunque:</p>
1555           <pre class="literal-block">
1556 &lt;VirtualHost *:80 &gt;
1557        # ...
1558        &lt;Directory "/var/www/177.piffa.net"&gt;
1559        Order allow,deny
1560        Allow from all
1561        &lt;/Directory&gt;
1562 &lt;/VirtualHost&gt;
1563 </pre>
1564
1565           <p>Potremmo negare l'accesso a uno o piu' indirizzi IP in
1566           questo modo:</p>
1567           <pre class="literal-block">
1568 &lt;VirtualHost *:80 &gt;
1569        &lt;Directory "/var/www/177.piffa.net"&gt;
1570        Order allow,deny
1571        Allow from all
1572        Deny from 192.168.0.1
1573        &lt;/Directory&gt;
1574 &lt;/VirtualHost&gt;
1575 </pre>
1576
1577           <p>Ora l'IP 192.168.0.1 non potra' piu' accedere ai
1578           materiali dell'intero sito virtuale, oppure potremmo
1579           lavorare su una sola directory:</p>
1580           <pre class="literal-block">
1581 &lt;Directory "/var/www/miosito.net/limitata"&gt;
1582        Order allow,deny
1583        Allow from 192.168.0.0./24
1584        Deny from all
1585 &lt;/Directory&gt;
1586 </pre>
1587
1588           <p>In questo modo solo la classe IP <tt class=
1589           "docutils literal"><span class=
1590           "pre">192.168.0.0/24</span></tt> potra' accedere alla
1591           directory <tt class="docutils literal"><span class=
1592           "pre">/limitata</span></tt> Si tenga pero' conto che e'
1593           relativamente facile per un malintenzionato cambiare il
1594           propio indirizzo ip, oppure collegarsi da un altra zona.
1595           Meno facile e' accedere ad una classe privata trovandosi
1596           all'esterno di questa, ma e' comunque possibile mandare
1597           delle richieste <tt class="docutils literal"><span class=
1598           "pre">GET</span></tt> per cercare di mandare in Denial Of
1599           Service il webserver.</p>
1600         </div>
1601       </div>
1602
1603       <div class="section" id="user-authentication">
1604         <h2><a class="toc-backref" href=
1605         "#id32">3.7&nbsp;&nbsp;&nbsp;User Authentication</a></h2>
1606
1607         <p>A volte conviene negoziare gli accessi ad un area di un
1608         sito tramite autenticazione basata sull'accopiata <em>nome
1609         utente / password</em>. Questo puo' venire utile per creare
1610         una area download <em>intranet</em>, alla quale possano
1611         accedere solo gli utenti previsti a prescindere dagli
1612         indirizzi IP dei loro client. Per quanto esistano soluzioni
1613         piu' granulari e sofisticate per ottenere questo,
1614         <em>mod-auth</em> puo'essere sufficente. E mod auth non
1615         richiede l'installazione di software aggiuntivi.</p>
1616
1617         <p>link: <a class="reference external" href=
1618         "http://www.apacheweek.com/features/userauth">http://www.apacheweek.com/features/userauth</a></p>
1619
1620         <div class="section" id="definire-la-cartella">
1621           <h3><a class="toc-backref" href=
1622           "#id33">3.7.1&nbsp;&nbsp;&nbsp;Definire la
1623           cartella</a></h3>
1624
1625           <p>Decidere quale sara' il <em>path</em> della cartella
1626           da sottoporre ad autentizazione:(e creiamo la
1627           cartella):</p>
1628
1629           <blockquote>
1630             <tt class="docutils literal"><span class=
1631             "pre">mkdir</span> <span class=
1632             "pre">/var/www/177.piffa.net/privata</span></tt>
1633           </blockquote>
1634         </div>
1635
1636         <div class="section" id=
1637         "creazione-del-database-delle-passwords">
1638           <h3><a class="toc-backref" href=
1639           "#id34">3.7.2&nbsp;&nbsp;&nbsp;Creazione del database
1640           delle passwords</a></h3>
1641
1642           <p>Un modo semplice per gestire una database di
1643           <em>user-id / passwords</em> e' utilizzare l'utility
1644           <tt class="docutils literal"><span class=
1645           "pre">htpasswd</span></tt> di Apache. Questa crea un file
1646           in cui un <em>crypt</em> delle password viene associato
1647           agli utenti.</p>
1648
1649           <p>Si dovra' decidere dove tenere questo file, la cosa
1650           importante e' che non sia visibile nel sito web: non deve
1651           essere scaricabile dai visitatori. Deve essere cioe'
1652           all'esterno della <em>DocumentRoot</em>: un buon posto
1653           potrebbe essere la /home dell'utente.</p>
1654
1655           <p>Creiamo (con il <em>flag</em> <tt class=
1656           "docutils literal"><span class="pre">-c</span></tt>) il
1657           file <tt class="docutils literal"><span class=
1658           "pre">/home/utente/passwords</span></tt> con l'utente
1659           <tt class="docutils literal"><span class=
1660           "pre">luca</span></tt>:</p>
1661           <pre class="literal-block">
1662 htpasswd -c /home/utente/passwords luca
1663 </pre>
1664
1665           <p><tt class="docutils literal"><span class=
1666           "pre">htpasswd</span></tt> ci chedera' la password da
1667           associare all'utente <tt class=
1668           "docutils literal"><span class="pre">luca</span></tt>.
1669           Per sucessive modifiche della password o aggiunta di
1670           nuovi utenti non sara' necessario usare il flag
1671           <tt class="docutils literal"><span class=
1672           "pre">-c</span></tt>.</p>
1673         </div>
1674
1675         <div class="section" id="id3">
1676           <h3><a class="toc-backref" href=
1677           "#id35">3.7.3&nbsp;&nbsp;&nbsp;Configurazione di
1678           Apache</a></h3>
1679
1680           <p>Ora possiamo passare alla configurazione vera e
1681           propria di Apache, ma con una novita': andremo a inserire
1682           la voce in un <tt class="docutils literal"><span class=
1683           "pre">.htaccess</span></tt> invece che modificare il file
1684           di impostazione del virtual-host.</p>
1685
1686           <p>Questo per motivi pratici: solo l'utente <em>root</em>
1687           puo' modificare l'impostazione del virtual host nel file
1688           <tt class="docutils literal"><span class=
1689           "pre">/etc/apache2/sites-enabled/177.piffa.net</span></tt>,
1690           ma spesso il motivo per cui creiamo i virtual hosts e'
1691           ospitare i siti di altri utenti, che possono solo
1692           pubblicare (generalmente tramite <em>FTP</em>) i loro
1693           documenti nella loro <em>DocumentRoot</em>, senza poter
1694           quindi modificare in alcun modo la configurazione del
1695           virtual host.</p>
1696
1697           <p>Dando agli utenti la possibilita' di modificare
1698           (<em>AllowOverride</em>) autonomamente alcuni parametri
1699           (in questo caso solo l'<em>AuthConfig</em>) relativi al
1700           funzionamenteo del loro spazio web ci togliera'
1701           l'incombenza di dover intervenire suii vari virtual
1702           host.</p>
1703
1704           <p>Abilitiamo l'AllowOverride nel file di configurazione
1705           del virtual host per la sola directory <tt class=
1706           "docutils literal"><span class=
1707           "pre">privata</span></tt>:</p>
1708           <pre class="literal-block">
1709 &lt;VirtualHost *:80 &gt;
1710     ServerName 177.piffa.net
1711     DocumentRoot /var/www/177.piffa.net/
1712     ServerAdmin webmaster@177.piffa.net
1713     &lt;Directory "/var/www/177.piffa.net/privata"&gt;
1714         AllowOverride AuthConfig
1715     &lt;/Directory&gt;
1716 &lt;/VirtualHost&gt;
1717 </pre>
1718
1719           <p>Per rendere il cambiamento effettivo sara' necessario
1720           fare un restart / reload di Apache.</p>
1721
1722           <p>Ora sara' possibile, anche per l'utente di sistema,
1723           creare un fie <tt class="docutils literal"><span class=
1724           "pre">.htaccess</span></tt> che sara' onorato da
1725           Apache.</p>
1726
1727           <p>/var/www/177.piffa.net/privata/.htaccess</p>
1728           <pre class="literal-block">
1729 # Questo file viene incluso
1730 # nella configurazione del sito web
1731 # Messaggio visualizzato al prompt per l'autenticazione
1732 AuthName "Area privata soggetta ad autentizazione"
1733 # tipo di autenticazione da usarsi
1734 AuthType Basic
1735 # File generato precedentemente con htpasswd
1736 AuthUserFile  /home/utente/passwords
1737
1738 # Negoziazione degli accessi
1739 # valid users permette l'accesso agli utenti specificati
1740 # nel file generato da htpasswd
1741 require valid-user
1742 </pre>
1743
1744           <p>Si noti che non e' necessario fare ripartire Apache
1745           per onorare i cambiamenti (un utente non avrebbe la
1746           possibilita' di farlo!).</p>
1747         </div>
1748       </div>
1749
1750       <div class="section" id="cavets">
1751         <h2><a class="toc-backref" href=
1752         "#id36">3.8&nbsp;&nbsp;&nbsp;Cavets</a></h2>
1753
1754         <p>Problemi di cache:</p>
1755
1756         <blockquote>
1757           <ul class="simple">
1758             <li>Proxy: nei settaggi del browser specificare di non
1759             utilizzare un server proxy http per il sito web locale
1760             (o per gli altri che si stanno monitorando). Se si ha
1761             il controllo del proxy server: stopparlo, ricaricare la
1762             pagina (operazione che fallira'), far ripartire il
1763             proxy, ricaricare la pagina.</li>
1764
1765             <li>Provare con un altro browser, o cercare di svuotare
1766             la cache chiudere/riaprire l'applicativo. Provare a
1767             fermare Apache, ricaricare la pagina (operazione che
1768             fallira'), far ripartire Apache, ricaricare la
1769             pagina.</li>
1770           </ul>
1771         </blockquote>
1772       </div>
1773     </div>
1774
1775     <div class="section" id="domain-name-system">
1776       <h1><a class="toc-backref" href=
1777       "#id37">4&nbsp;&nbsp;&nbsp;Domain Name System</a></h1>
1778
1779       <p>Domain Name System (spesso indicato con DNS) Ã¨ un
1780       servizio utilizzato per la risoluzione di nomi di host in
1781       indirizzi IP e viceversa. Il servizio Ã¨ realizzato tramite
1782       un database distribuito, costituito dai server DNS.</p>
1783
1784       <p>Il nome DNS denota anche il protocollo che regola il
1785       funzionamento del servizio, i programmi che lo implementano,
1786       i server su cui questi girano, l'insieme di questi server che
1787       cooperano per fornire il servizio.</p>
1788
1789       <p>I nomi DNS, o "nomi di dominio", sono una delle
1790       caratteristiche più visibili di Internet.</p>
1791
1792       <p>C'è confusione in merito alla definizione dell'acronimo:
1793       la S spesso viene interpretata come service, ma la
1794       definizione corretta Ã¨ system.</p>
1795
1796       <p>L'operazione di convertire un nome in un indirizzo Ã¨
1797       detta risoluzione DNS, convertire un indirizzo IP in nome Ã¨
1798       detto risoluzione inversa.</p>
1799
1800       <div class="section" id="nomi-di-dominio">
1801         <h2><a class="toc-backref" href=
1802         "#id38">4.1&nbsp;&nbsp;&nbsp;Nomi di dominio</a></h2>
1803
1804         <p>Un nome a dominio Ã¨ costituito da una serie di stringhe
1805         separate da punti, ad esempio it.wikipedia.org. A
1806         differenza degli indirizzi IP, dove la parte più
1807         importante del numero Ã¨ la prima partendo da sinistra, in
1808         un nome DNS la parte più importante Ã¨ la prima partendo
1809         da destra. Questa Ã¨ detta dominio di primo livello (o TLD,
1810         Top Level Domain), per esempio .org o .it.</p>
1811
1812         <p>Un dominio di secondo livello consiste in due parti, per
1813         esempio wikipedia.org, e così via. Ogni ulteriore elemento
1814         specifica un'ulteriore suddivisione. Quando un dominio di
1815         secondo livello viene registrato all'assegnatario, questo
1816         Ã¨ autorizzato a usare i nomi di dominio relativi ai
1817         successivi livelli come it.wikipedia.org (dominio di terzo
1818         livello) e altri come some.other.stuff.wikipedia.org
1819         (dominio di quinto livello) e così via.</p>
1820       </div>
1821
1822       <div class="section" id="tipologie-di-record">
1823         <h2><a class="toc-backref" href=
1824         "#id39">4.2&nbsp;&nbsp;&nbsp;Tipologie di record</a></h2>
1825
1826         <p>Ad un nome DNS possono corrispondere diversi tipi di
1827         informazioni. Per questo motivo, esistono diversi tipi di
1828         record DNS. Ogni voce del database DNS deve essere
1829         caratterizzata da un tipo. I principali tipi sono:</p>
1830
1831         <ul class="simple">
1832           <li>Record A - Indica la corrispondenza tra un nome ed
1833           uno (o più) indirizzi IP (per la precisione indirizzi
1834           IPv4, ovvero la versione attualmente in uso).</li>
1835
1836           <li>Record MX - (Mail eXchange) indica a quali server
1837           debba essere inviata la posta elettronica per un certo
1838           dominio.</li>
1839
1840           <li>Record CNAME - Sono usati per creare un alias, ovvero
1841           per fare in modo che lo stesso calcolatore sia noto con
1842           più nomi. Uno degli utilizzi di questo tipo di record
1843           consiste nell'attribuire ad un host che offre più
1844           servizi un nome per ciascun servizio. In questo modo, i
1845           servizi possono poi essere spostati su altri host senza
1846           dover riconfigurare i client, ma modificando solo il
1847           DNS.</li>
1848
1849           <li>Record PTR - Il DNS viene utilizzato anche per
1850           realizzare la risoluzione inversa, ovvero per far
1851           corrispondere ad un indirizzo IP il corrispondente nome a
1852           dominio. Per questo si usano i record di tipo "PTR" (e
1853           una apposita zona dello spazio dei nomi
1854           in-addr.arpa).</li>
1855
1856           <li>Record AAAA - Restituisce un indirizzo IPv6.</li>
1857
1858           <li>Record SRV - Identificano il server per un
1859           determinato servizio all'interno di un dominio. Possono
1860           essere considerati una generalizzazione dei record
1861           MX.</li>
1862
1863           <li>Record TXT - Associano campi di testo arbitrari ad un
1864           dominio. Questi campi possono contenere una descrizione
1865           informativa oppure essere utilizzati per realizzare
1866           servizi.</li>
1867         </ul>
1868
1869         <p>Vi sono anche tipi di record "di servizio", necessari al
1870         funzionamento del database distribuito: * Record NS -
1871         Utilizzato per indicare quali siano i server DNS
1872         autoritativi per un certo dominio, ovvero per delegarne la
1873         gestione. * Record SOA - (Start of Authority) usato per la
1874         gestione delle zone DNS.</p>
1875       </div>
1876
1877       <div class="section" id="utilizzo">
1878         <h2><a class="toc-backref" href=
1879         "#id40">4.3&nbsp;&nbsp;&nbsp;Utilizzo</a></h2>
1880
1881         <p>I computer vengono identificati in rete grazie agli
1882         indirizzi <em>IP</em>, questi pero' non sono comodi per gli
1883         utenti come riferimento per i vari server. Ad esempio
1884         sarebbe scomodoriferirsi al motore di ricerca Goggle con
1885         uno dei suoi IP: <tt class="docutils literal"><span class=
1886         "pre">74.125.43.104</span></tt>, e' preferibile usare il
1887         nome di dominio <em>www.google.com</em>:</p>
1888         <pre class="literal-block">
1889 ping -c 1 www.google.com
1890 PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
1891 </pre>
1892       </div>
1893
1894       <div class="section" id="risoluzione-dei-nomi-di-dominio">
1895         <h2><a class="toc-backref" href=
1896         "#id41">4.4&nbsp;&nbsp;&nbsp;Risoluzione dei nomi di
1897         dominio</a></h2>
1898
1899         <p>Ci sono vari strumenti per interrogare i server DNS e
1900         ottenere l'indirizzo IP associato al nome di dominio che ci
1901         interessa:</p>
1902         <pre class="literal-block">
1903 $ host www.piffa.net
1904 www.piffa.net is an alias for piffa.net.
1905 piffa.net has address 65.98.21.97
1906 piffa.net mail is handled by 10 65.98.21.97
1907
1908
1909 $ nslookup www.piffa.net
1910 Server:         192.168.0.10
1911 Address:        192.168.0.10#53
1912
1913 Non-authoritative answer:
1914 www.piffa.net   canonical name = piffa.net.
1915 Name:   piffa.net
1916 Address: 65.98.21.97
1917
1918
1919 $ dig www.piffa.net
1920
1921 ; &lt;&lt;&gt;&gt; DiG 9.6.0-P1 &lt;&lt;&gt;&gt; www.piffa.net
1922 ;; global options: +cmd
1923 ;; Got answer:
1924 ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 47751
1925 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
1926
1927 ;; QUESTION SECTION:
1928 ;www.piffa.net.                 IN      A
1929
1930 ;; ANSWER SECTION:
1931 www.piffa.net.          3489    IN      CNAME   piffa.net.
1932 piffa.net.              3489    IN      A       65.98.21.97
1933
1934 ;; AUTHORITY SECTION:
1935 piffa.net.              86289   IN      NS      ns2.mydomain.com.
1936 piffa.net.              86289   IN      NS      ns1.mydomain.com.
1937 piffa.net.              86289   IN      NS      ns4.mydomain.com.
1938 piffa.net.              86289   IN      NS      ns3.mydomain.com.
1939
1940 ;; ADDITIONAL SECTION:
1941 ns1.mydomain.com.       96208   IN      A       64.94.117.193
1942 ns2.mydomain.com.       96208   IN      A       64.94.31.67
1943 ns3.mydomain.com.       96208   IN      A       66.150.161.137
1944 ns4.mydomain.com.       96208   IN      A       63.251.83.74
1945
1946 ;; Query time: 1 msec
1947 ;; SERVER: 192.168.0.10#53(192.168.0.10)
1948 ;; WHEN: Sun May 10 21:23:11 2009
1949 ;; MSG SIZE  rcvd: 209
1950 </pre>
1951
1952         <p>Lo strumento piu' esaustivo e' <tt class=
1953         "docutils literal"><span class="pre">dig</span></tt>,
1954         installabile con il pacchetto <tt class=
1955         "docutils literal"><span class="pre">dnsutils</span></tt>
1956         .</p>
1957       </div>
1958
1959       <div class="section" id="dig">
1960         <h2><a class="toc-backref" href=
1961         "#id42">4.5&nbsp;&nbsp;&nbsp;Dig</a></h2>
1962
1963         <p>Vediamo alcune opzioni utili nell'utilizzo di <tt class=
1964         "docutils literal"><span class="pre">dig</span></tt> per
1965         l'inerrogazione dei DNS Server:</p>
1966         <pre class="literal-block">
1967 $ dig www.google.it
1968
1969 ; &lt;&lt;&gt;&gt; DiG 9.6.0-P1 &lt;&lt;&gt;&gt; www.google.it
1970 ;; global options: +cmd
1971 ;; Got answer:
1972 ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 18816
1973 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 7, ADDITIONAL: 0
1974
1975 ;; QUESTION SECTION:
1976 ;www.google.it.                 IN      A
1977
1978 ;; ANSWER SECTION:
1979 www.google.it.          250683  IN      CNAME   www.google.com.
1980 www.google.com.         334819  IN      CNAME   www.l.google.com.
1981 www.l.google.com.       186     IN      A       74.125.43.103
1982 www.l.google.com.       186     IN      A       74.125.43.104
1983 www.l.google.com.       186     IN      A       74.125.43.147
1984 www.l.google.com.       186     IN      A       74.125.43.99
1985
1986 ;; AUTHORITY SECTION:
1987 l.google.com.           80856   IN      NS      f.l.google.com.
1988 l.google.com.           80856   IN      NS      d.l.google.com.
1989 l.google.com.           80856   IN      NS      b.l.google.com.
1990 l.google.com.           80856   IN      NS      c.l.google.com.
1991 l.google.com.           80856   IN      NS      a.l.google.com.
1992 l.google.com.           80856   IN      NS      e.l.google.com.
1993 l.google.com.           80856   IN      NS      g.l.google.com.
1994
1995 ;; Query time: 1 msec
1996 ;; SERVER: 192.168.0.10#53(192.168.0.10)
1997 ;; WHEN: Sun May 10 21:34:47 2009
1998 ;; MSG SIZE  rcvd: 255
1999 </pre>
2000
2001         <dl class="docutils">
2002           <dt>$ dig</dt>
2003
2004           <dd>(semza opzioni o oggetti) Fornisce l'elenco dei
2005           <em>root servers</em> utilizzati. I root server sono i
2006           server che mantengono le informazioni sui domini di primo
2007           livello (TLD) e sono quindi il punto di partenza per
2008           scorrere nella directory dei DNS per recuperare le
2009           informazioni (tipicamente un campo <tt class=
2010           "docutils literal"><span class="pre">A</span></tt> per un
2011           indirizzo IP) che ci servono per raggiungere un certo
2012           servizio.</dd>
2013         </dl>
2014
2015         <p>$ dig</p>
2016
2017         <blockquote>
2018           <p>...</p>
2019
2020           <p>;; ANSWER SECTION: . 192032 IN NS C.ROOT-SERVERS.NET.
2021           . 192032 IN NS E.ROOT-SERVERS.NET. . 192032 IN NS
2022           B.ROOT-SERVERS.NET. . 192032 IN NS L.ROOT-SERVERS.NET. .
2023           192032 IN NS A.ROOT-SERVERS.NET. . 192032 IN NS
2024           F.ROOT-SERVERS.NET. . 192032 IN NS H.ROOT-SERVERS.NET. .
2025           192032 IN NS G.ROOT-SERVERS.NET. . 192032 IN NS
2026           K.ROOT-SERVERS.NET. . 192032 IN NS M.ROOT-SERVERS.NET. .
2027           192032 IN NS I.ROOT-SERVERS.NET. . 192032 IN NS
2028           J.ROOT-SERVERS.NET. . 192032 IN NS
2029           D.ROOT-SERVERS.NET.</p>
2030
2031           <p>...</p>
2032         </blockquote>
2033       </div>
2034     </div>
2035
2036     <div class="section" id="dnsmasq">
2037       <h1><a class="toc-backref" href=
2038       "#id43">5&nbsp;&nbsp;&nbsp;DNSmasq</a></h1>
2039
2040       <p>Dnsmasq puo' svolgere le funzioni di un DNS cache /
2041       forwarder e un server DHCP caratterizzato dalla facilita' di
2042       configurazione, dalla leggerezza e dalla possibilita' di
2043       modificare rapidamente i record DNS serviti alla rete. Puo'
2044       essere anche utilizzato come <cite>server per il boot da rete
2045       &lt;http://www.debian-administration.org/articles/478&gt;_</cite>
2046       .</p>
2047
2048       <p>Dnsmasq e' un interessante alternativa all'uso del server
2049       DNS Bind in modalita' cache-only (non autoritativo)
2050       accompagnato dal server DHCPD. I vantaggi sono:</p>
2051
2052       <ul class="simple">
2053         <li>Leggerezza: puo' essere fatto girare su una macchina
2054         relativamente debole in caso di bisogno.</li>
2055
2056         <li>Rapidita' di configurazione (in particolare per servire
2057         dei record A / MX alla rete, modificando al volo i valori
2058         originali ospitati sul server DNS Publico).</li>
2059
2060         <li>Ben integrato con connssioni PPP (utile se dovete
2061         rendere disponibile rapidamente una connessione a internet
2062         a una rete in difficolta').</li>
2063       </ul>
2064
2065       <p>Tutto cio' rende Dnsmasq una soluzione valida in
2066       particolare quando si deve intervenire in una rete
2067       pre-esistente in cui il server principale e' in crisi: si
2068       potra' utilizzare Dnsmasq anche su una macchina piu' debole e
2069       <em>mascherare</em> i servizi al momento non disponibili.
2070       Molto utile per scopi didattici, sopratutto per testare
2071       server SMTP impostando al volo i campi MX per nomi di dominio
2072       fittizi.</p>
2073     </div>
2074
2075     <div class="section" id="samba">
2076       <h1><a class="toc-backref" href=
2077       "#id44">6&nbsp;&nbsp;&nbsp;Samba</a></h1>
2078
2079       <p>Samba e' un progetto libero che fornisce servizi di
2080       condivisione di file e stampanti a client SMB/CIFS.</p>
2081
2082       <p>Samba e' liberamente disponibile, al contrario di altre
2083       implementazioni SMB/CIFS, e permette di ottenere
2084       interoperabilita' tra Linux, Unix, Mac OS X e Windows.</p>
2085
2086       <p>Samba e' un software che puo girare su piattaforme che non
2087       siano Microsoft Windows, per esempio, UNIX, Linux, IBM System
2088       390, OpenVMS e altri sistemi operativi. Samba utilizza il
2089       protocollo TCP/IP utilizzando i servizi offerti sul server
2090       ospite. Quando correttamente configurato, permette di
2091       interagire con client o server Microsoft Windows come se
2092       fosse un file e print server Microsoft agendo da Primary
2093       Domain Controller (PDC) o come Backup Domain Controller, puo'
2094       inoltre prendere parte ad un dominio Active Directory.</p>
2095
2096       <div class="section" id="pacchetti">
2097         <h2><a class="toc-backref" href=
2098         "#id45">6.1&nbsp;&nbsp;&nbsp;Pacchetti</a></h2>
2099
2100         <p>Pacchetti da installare per utilizzare Samba in
2101         modalita' client <a class="footnote-reference" href="#id5"
2102         id="id4" name="id4">[2]</a></p>
2103         <pre class="literal-block">
2104 samba-client
2105 </pre>
2106
2107         <p>Pacchetti da installare per utilizzare Samba in
2108         modalita' server:</p>
2109         <pre class="literal-block">
2110 samba smbfs smbclient
2111 </pre>
2112
2113         <table class="docutils footnote" frame="void" id="id5"
2114         rules="none">
2115           <colgroup>
2116             <col class="label">
2117             <col>
2118           </colgroup>
2119
2120           <tbody valign="top">
2121             <tr>
2122               <td class="label"><a class="fn-backref" href=
2123               "#id4">[2]</a></td>
2124
2125               <td>Anche se nato per i sistemi Windows, Samba puo'
2126               essere usato anche per montare cartelle sotto
2127               GNU/Linux come alternativa a NFS. Per la condivisione
2128               di stampanti sarebbe invece opportuno intervenire
2129               direttamente su <tt class=
2130               "docutils literal"><span class=
2131               "pre">CUPS</span></tt>.</td>
2132             </tr>
2133           </tbody>
2134         </table>
2135
2136         <p>Durante la prima installazione viene chiesto il nome del
2137         gruppo di appartenenza, il default per Windows e'
2138         <tt class="docutils literal"><span class=
2139         "pre">WORKGROUP</span></tt>. In aula usiamo invece
2140         <tt class="docutils literal"><span class=
2141         "pre">208</span></tt> .</p>
2142
2143         <p>Per riconfigurare Samba si usi il comando:</p>
2144         <pre class="literal-block">
2145 dpkg-reconfigure samba-common
2146 </pre>
2147       </div>
2148
2149       <div class="section" id="passwords-e-autenticazione">
2150         <h2><a class="toc-backref" href=
2151         "#id46">6.2&nbsp;&nbsp;&nbsp;Passwords e
2152         autenticazione</a></h2>
2153
2154         <p>Per poter configurare Samba in modo che usi un sistema
2155         di negoziazione degli accessi alle cartelle condivise
2156         basato su accoppiate <em>nome utente / password</em>
2157         bisogna distinguere tra 3 livelli di password (e
2158         generalmente volete usare <em>sempre la stessa
2159         password</em> per ognuno di questi) e delle differenze tra
2160         le modalita' di <em>autenticazione</em> (e quindi anche di
2161         criptaggio delle passwords) usate da sistemi GNU/Linux e
2162         Windows:</p>
2163
2164         <dl class="docutils">
2165           <dt>1 Sistema *Unix ( GNU/Linux )</dt>
2166
2167           <dd>E' la password dell'<em>utente di sistema</em> che
2168           viene usata sul sistema operativo su cui gira il software
2169           Samba. E' importante tenere conto anche delle
2170           <em>user-id</em> e <em>group-id</em> degli utenti che
2171           dovranno fisicamente scrivere sui file system. Se un
2172           utente non puo' scrivere in una certa posizione del file
2173           system (ad esempio nella cartella <tt class=
2174           "docutils literal"><span class=
2175           "pre">/mnt/condivisione</span></tt> che sara' stata
2176           necessariamente creata inizialmente dall'utente
2177           <tt class="docutils literal"><span class=
2178           "pre">root</span></tt>) per mancanza dei privilegi di
2179           scrittura allora neanche Samba potra' farlo nel momento
2180           in mette a disposizione la risorsa all'utente. Se si
2181           montano file-system dedicati per le condivisioni
2182           controllare i permessi e propieta' dei <em>punti di
2183           mount*</em>. Queste passwords sono salvate nel solito
2184           file /etc/shadow (richiamato da /etc/passwd).</dd>
2185
2186           <dt>2 Password per l'applicativo Samba</dt>
2187
2188           <dd>Samba deve essere compatibile con Windows e quindi
2189           utilizzare un sistema di criptazione delle password
2190           diverso da /etc/shadow . Le password per Samba possono
2191           essere gestite ad esempio col comando <tt class=
2192           "docutils literal"><span class=
2193           "pre">smbpasswd</span></tt> e vengono generalmente
2194           salvate all'interno di <tt class=
2195           "docutils literal"><span class=
2196           "pre">/var/lib/samba/passdb.tdb</span></tt> .</dd>
2197
2198           <dt>3 Password per Windows.</dt>
2199
2200           <dd>Gli utenti Windows effettuano il log-in alla partenza
2201           della sessione di Windows. Se si avra' l'accortezza di
2202           usare sempre la <em>stessa password</em> data
2203           precedentemente anche a Windows (o viceversa impostare la
2204           password per GNU/Linux / Samba uguale a quella di
2205           Windows) l'utente potra' accedere automaticamente alle
2206           condivisioni a lui disponibili.</dd>
2207         </dl>
2208       </div>
2209
2210       <div class="section" id="creazione-utenti">
2211         <h2><a class="toc-backref" href=
2212         "#id47">6.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></h2>
2213
2214         <p>Creiamo per primo l'utente sotto GNU/Linux, facendo
2215         attenzione a <em>non dargli una shell di sistema</em>. Gli
2216         utenti Windows che accedono al server solo per le
2217         condivisioni non hanno bisogno di poter eseguire comandi
2218         sul server!</p>
2219
2220         <p>Creazione di un utente denominato sambo:</p>
2221         <pre class="literal-block">
2222 adduser --shell /bin/false sambo
2223 </pre>
2224
2225         <p>Nel file <tt class="docutils literal"><span class=
2226         "pre">/etc/passwd</span></tt> avremo qualcosa come:</p>
2227         <pre class="literal-block">
2228 sambo:x:1001:1001:Sambo utente Samba,,,:/home/sambo:/bin/false
2229 </pre>
2230
2231         <p>Aggiunta dell'utente al database delle password per
2232         Samba e generazione della sua password:</p>
2233         <pre class="literal-block">
2234 smbpasswd -a sambo
2235 </pre>
2236
2237         <p>Se successivamente si vorra' modificare la password di
2238         un utente gia' esistente si usi:</p>
2239         <pre class="literal-block">
2240 smbpasswd  sambo
2241 </pre>
2242
2243         <p>La password sotto Windows verra' modificata sul sistema
2244         Windows.</p>
2245       </div>
2246
2247       <div class="section" id="creare-la-condivisione">
2248         <h2><a class="toc-backref" href=
2249         "#id48">6.4&nbsp;&nbsp;&nbsp;Creare la
2250         condivisione</a></h2>
2251
2252         <p>La condivisione altro non e' che una cartella sul server
2253         che viene resa disponibile ai client negoziando l'accesso
2254         in base a una autenticazione basata su <em>user-name /
2255         password</em>. E' per altro possibile permettere l'accesso
2256         a una risorsa a chiunque indiscriminatamente (a tutti i
2257         <tt class="docutils literal"><span class=
2258         "pre">guest</span></tt>) ma la cosa e' sconsigliabile dal
2259         punto di vista della sicurezza. Si decida se la cartella
2260         condivisa debba risiedere nella <em>home</em> di un utente
2261         (nel caso quest'ultimo ne sia l'unico fruitore) o in una
2262         cartella in /mnt/ (nel caso piu' utenti accedano a questa).
2263         Nel secondo caso si potranno gestire gli accessi sotto
2264         GNU/Linux tramite i gruppi.</p>
2265
2266         <p>Creazione della risorsa sambo_share nella home
2267         dell'utente sambo:</p>
2268         <pre class="literal-block">
2269 # mkdir /home/sambo/sambo_share
2270 # chown sambo:sambo /home/sambo/sambo_share/
2271 </pre>
2272
2273         <div class="section" id=
2274         "sicurezza-permessi-di-esecuzione-sul-server">
2275           <h3><a class="toc-backref" href=
2276           "#id49">6.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi di
2277           esecuzione sul server</a></h3>
2278
2279           <p>Bisognerebbe notare sul server i permessi di
2280           esecuzione del file-system che ospita la cartella da
2281           condividere. Se i file che saranno contenuti nella
2282           condivisione saranno da usarsi sotto Windows non c'e'
2283           motivo che questi siano eseguibili sotto GNU/Linux. Si
2284           potrebbe avere quindi, ipotizzando una condivisione in
2285           <tt class="docutils literal"><span class=
2286           "pre">/mnt/share</span></tt> che risieda su di un file
2287           system dedicato:</p>
2288
2289           <p><tt class="docutils literal"><span class=
2290           "pre">/etc/fstab</span></tt></p>
2291
2292           <blockquote>
2293             /dev/hda10 /mnt/share ext3 rw,
2294             <strong>nosuid,noexec</strong> 0 3
2295           </blockquote>
2296
2297           <p>Si noti anche l'uso di <em>nosuid</em> per evitare la
2298           possibilita' di eseguire programmi con credenziali
2299           diverse.</p>
2300         </div>
2301       </div>
2302
2303       <div class="section" id=
2304       "configurazione-dell-applicativo-samba-vero-e-proprio">
2305         <h2><a class="toc-backref" href=
2306         "#id50">6.5&nbsp;&nbsp;&nbsp;Configurazione
2307         dell'applicativo Samba vero e proprio.</a></h2>
2308
2309         <p>Avendo preparato gli utenti (ancora una volta: non si
2310         dia una shell completa a un utente che serve solo per Samba
2311         o la posta elettronica) e la cartella sul file system si
2312         puo' procedere a configurare la condivisione su Samba.</p>
2313
2314         <p>/etc/samba/smb.conf riga ~235 , Share Definitions (in
2315         vim si usi 235gg ):</p>
2316         <pre class="literal-block">
2317 [sambo_share]
2318         # Percorso della cartella condivisa
2319         path = /home/sambo/sambo_share
2320         # Se gli utenti possono scrivere / modificare file
2321         writable = yes
2322         # Negoziazione degli accessi su base utenti / passwords
2323         valid users = sambo
2324
2325         # #######################################
2326         # Altri parametri opzionali di interesse
2327         # Se posso vedere la condivisione da esplora risorse
2328         # anche se non ho i privilegi per accedervi.
2329         browseable = yes
2330         # Commento indicativo della risorsa
2331         comment = Condivisione per Sambo
2332 </pre>
2333
2334         <p>Dopo aver salvato il file si puo' fare un primo
2335         controllo tramite l'utility <tt class=
2336         "docutils literal"><span class="pre">testparm</span></tt> ,
2337         che controlla la sintassi del file di configurazione di
2338         Samba. Se questo non rileva problemi si puo' procedere a un
2339         <tt class="docutils literal"><span class="pre">#</span>
2340         <span class="pre">/etc/init.d/samba</span> <span class=
2341         "pre">restart</span></tt> .</p>
2342       </div>
2343
2344       <div class="section" id="testare-il-servizio">
2345         <h2><a class="toc-backref" href=
2346         "#id51">6.6&nbsp;&nbsp;&nbsp;Testare il Servizio</a></h2>
2347
2348         <p>Come testare il servizio</p>
2349
2350         <p>es:</p>
2351         <pre class="literal-block">
2352 smbclient -U sambo -L localhost
2353 </pre>
2354
2355         <p>Questo comando permette di esplorare la risorsa
2356         qualificandosi come utente, in questo modo potete testare
2357         il corretto funzionamento dell'autenticazione. Si provi
2358         inizialmente a sbagliare la password deliberatamente, poi a
2359         inserirla correttamente: dovrebbero essere visibili le
2360         risorse disponibili al solo utente sambo: la suo /home e la
2361         cartella samba_share:</p>
2362         <pre class="literal-block">
2363 Sharename       Type      Comment
2364 ---------       ----      -------
2365 sambo_share     Disk      Condivisione per Sambo
2366 print$          Disk      Printer Drivers
2367 IPC$            IPC       IPC Service (base server)
2368 sambo           Disk      Home Directories
2369 </pre>
2370
2371         <p>In particolare l'ultima voce relativa alla home
2372         directory dell'utente dovrebbe essere visibile solo agli
2373         utenti autenticati.</p>
2374
2375         <p>In alternativa e' possibile montare realmente la
2376         condivisone anche su GNU/Linux tramite un client per samba
2377         e testarne il corretto funzionamento:</p>
2378         <pre class="literal-block">
2379 mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo
2380 </pre>
2381       </div>
2382     </div>
2383
2384     <div class="section" id="note">
2385       <h1><a class="toc-backref" href=
2386       "#id52">7&nbsp;&nbsp;&nbsp;NOTE</a></h1>
2387
2388       <ul class="simple">
2389         <li>controllare apache</li>
2390       </ul>
2391
2392       <p>sintassi: in <tt class="docutils literal"><span class=
2393       "pre">monospace</span></tt> :</p>
2394
2395       <ul class="simple">
2396         <li>nomi di files</li>
2397
2398         <li>comandi</li>
2399
2400         <li>pacchetti</li>
2401       </ul>
2402     </div>
2403   </div>
2404 </body>
2405 </html>