]> git.piffa.net Git - doc/.git/blob - servizi.html
Committer: Andrea Manni <eaman@conny.andreamanni.com>
[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.3</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="id5" name=
342           "id5">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="id6" name=
347             "id6">1.1&nbsp;&nbsp;&nbsp;Solo per uso
348             interno</a></li>
349
350             <li><a class="reference internal" href="#rete" id="id7"
351             name="id7">1.2&nbsp;&nbsp;&nbsp;Rete</a></li>
352
353             <li><a class="reference internal" href=
354             "#bash-completion" id="id8" name=
355             "id8">1.3&nbsp;&nbsp;&nbsp;Bash completion</a></li>
356
357             <li><a class="reference internal" href="#vim" id="id9"
358             name="id9">1.4&nbsp;&nbsp;&nbsp;Vim</a></li>
359
360             <li><a class="reference internal" href="#vnc" id="id10"
361             name="id10">1.5&nbsp;&nbsp;&nbsp;VNC</a></li>
362
363             <li><a class="reference internal" href=
364             "#lista-dei-pacchetti-di-base" id="id11" name=
365             "id11">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="id12" name=
371               "id12">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="id13" name=
376                 "id13">1.7.1&nbsp;&nbsp;&nbsp;sources.list</a></li>
377
378                 <li><a class="reference internal" href=
379                 "#etc-apt-apt-conf" id="id14" name=
380                 "id14">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="id15"
387         name="id15">2&nbsp;&nbsp;&nbsp;Squid</a></li>
388
389         <li>
390           <a class="reference internal" href="#apache" id="id16"
391           name="id16">3&nbsp;&nbsp;&nbsp;Apache</a>
392
393           <ul class="auto-toc">
394             <li><a class="reference internal" href=
395             "#configurazione-di-apache" id="id17" name=
396             "id17">3.1&nbsp;&nbsp;&nbsp;Configurazione di
397             Apache</a></li>
398
399             <li><a class="reference internal" href="#apache-conf"
400             id="id18" name=
401             "id18">3.2&nbsp;&nbsp;&nbsp;apache.conf</a></li>
402
403             <li>
404               <a class="reference internal" href=
405               "#installazione-di-php" id="id19" name=
406               "id19">3.3&nbsp;&nbsp;&nbsp;Installazione di PHP</a>
407
408               <ul class="auto-toc">
409                 <li><a class="reference internal" href=
410                 "#test-del-modulo-php" id="id20" name=
411                 "id20">3.3.1&nbsp;&nbsp;&nbsp;Test del modulo
412                 php</a></li>
413
414                 <li><a class="reference internal" href=
415                 "#installazione-del-supporto-per-mysql" id="id21"
416                 name="id21">3.3.2&nbsp;&nbsp;&nbsp;Installazione
417                 del supporto per Mysql</a></li>
418
419                 <li><a class="reference internal" href=
420                 "#phpmyadmin" id="id22" name=
421                 "id22">3.3.3&nbsp;&nbsp;&nbsp;phpmyadmin</a></li>
422
423                 <li><a class="reference internal" href=
424                 "#installazione-del-supporto-per-postgresql" id=
425                 "id23" name=
426                 "id23">3.3.4&nbsp;&nbsp;&nbsp;Installazione del
427                 supporto per Postgresql</a></li>
428               </ul>
429             </li>
430
431             <li>
432               <a class="reference internal" href="#virtual-hosts"
433               id="id24" name="id24">3.4&nbsp;&nbsp;&nbsp;Virtual
434               hosts</a>
435
436               <ul class="auto-toc">
437                 <li><a class="reference internal" href=
438                 "#gestione-dns" id="id25" name=
439                 "id25">3.4.1&nbsp;&nbsp;&nbsp;Gestione DNS</a></li>
440
441                 <li><a class="reference internal" href=
442                 "#virtual-host" id="id26" name=
443                 "id26">3.4.2&nbsp;&nbsp;&nbsp;Virtual host</a></li>
444               </ul>
445             </li>
446
447             <li><a class="reference internal" href=
448             "#user-authentication" id="id27" name=
449             "id27">3.5&nbsp;&nbsp;&nbsp;User
450             Authentication</a></li>
451
452             <li><a class="reference internal" href="#cavets" id=
453             "id28" name="id28">3.6&nbsp;&nbsp;&nbsp;Cavets</a></li>
454           </ul>
455         </li>
456
457         <li>
458           <a class="reference internal" href="#domain-name-system"
459           id="id29" name="id29">4&nbsp;&nbsp;&nbsp;Domain Name
460           System</a>
461
462           <ul class="auto-toc">
463             <li><a class="reference internal" href=
464             "#informazioni-di-base-sul-servizio-dns" id="id30"
465             name="id30">4.1&nbsp;&nbsp;&nbsp;Informazioni di base
466             sul servizio DNS.</a></li>
467
468             <li><a class="reference internal" href=
469             "#nomi-di-dominio" id="id31" name=
470             "id31">4.2&nbsp;&nbsp;&nbsp;Nomi di dominio</a></li>
471
472             <li><a class="reference internal" href=
473             "#tipologie-di-record" id="id32" name=
474             "id32">4.3&nbsp;&nbsp;&nbsp;Tipologie di
475             record</a></li>
476
477             <li><a class="reference internal" href="#utilizzo" id=
478             "id33" name=
479             "id33">4.4&nbsp;&nbsp;&nbsp;Utilizzo</a></li>
480
481             <li><a class="reference internal" href=
482             "#risoluzione-dei-nomi-di-dominio" id="id34" name=
483             "id34">4.5&nbsp;&nbsp;&nbsp;Risoluzione dei nomi di
484             dominio</a></li>
485           </ul>
486         </li>
487
488         <li><a class="reference internal" href="#dnsmasq" id="id35"
489         name="id35">5&nbsp;&nbsp;&nbsp;DNSmasq</a></li>
490
491         <li>
492           <a class="reference internal" href="#samba" id="id36"
493           name="id36">6&nbsp;&nbsp;&nbsp;Samba</a>
494
495           <ul class="auto-toc">
496             <li><a class="reference internal" href="#pacchetti" id=
497             "id37" name=
498             "id37">6.1&nbsp;&nbsp;&nbsp;Pacchetti</a></li>
499
500             <li><a class="reference internal" href=
501             "#passwords-e-autenticazione" id="id38" name=
502             "id38">6.2&nbsp;&nbsp;&nbsp;Passwords e
503             autenticazione</a></li>
504
505             <li><a class="reference internal" href=
506             "#creazione-utenti" id="id39" name=
507             "id39">6.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></li>
508
509             <li>
510               <a class="reference internal" href=
511               "#creare-la-condivisione" id="id40" name=
512               "id40">6.4&nbsp;&nbsp;&nbsp;Creare la
513               condivisione</a>
514
515               <ul class="auto-toc">
516                 <li><a class="reference internal" href=
517                 "#sicurezza-permessi-di-esecuzione-sul-server" id=
518                 "id41" name=
519                 "id41">6.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi
520                 di esecuzione sul server</a></li>
521               </ul>
522             </li>
523
524             <li><a class="reference internal" href=
525             "#configurazione-dell-applicativo-samba-vero-e-proprio"
526             id="id42" name=
527             "id42">6.5&nbsp;&nbsp;&nbsp;Configurazione
528             dell'applicativo Samba vero e proprio.</a></li>
529
530             <li><a class="reference internal" href=
531             "#testare-il-servizio" id="id43" name=
532             "id43">6.6&nbsp;&nbsp;&nbsp;Testare il
533             Servizio</a></li>
534           </ul>
535         </li>
536
537         <li><a class="reference internal" href="#note" id="id44"
538         name="id44">7&nbsp;&nbsp;&nbsp;NOTE</a></li>
539       </ul>
540     </div>
541
542     <p>Generato con: <a class="reference external" href=
543     "http://docutils.sourceforge.net/rst.html">http://docutils.sourceforge.net/rst.html</a></p>
544
545     <div class="section" id="configurazione-sistema">
546       <h1><a class="toc-backref" href=
547       "#id5">1&nbsp;&nbsp;&nbsp;Configurazione sistema</a></h1>
548
549       <div class="section" id="solo-per-uso-interno">
550         <h2><a class="toc-backref" href=
551         "#id6">1.1&nbsp;&nbsp;&nbsp;Solo per uso interno</a></h2>
552
553         <p>Impostazioni di base per la configurazione del sistema
554         operativo e della rete nel laboratorio 208 facente parte
555         della rete piffa.net .</p>
556
557         <p>Qui riportati per comodita' degli studenti (e del
558         docente che non sara' <strong>mai piu'</strong> costretto a
559         ripeterli! )</p>
560       </div>
561
562       <div class="section" id="rete">
563         <h2><a class="toc-backref" href=
564         "#id7">1.2&nbsp;&nbsp;&nbsp;Rete</a></h2>
565
566         <p>Parametri della rete attualmente in uso:</p>
567
568         <table border="1" class="docutils">
569           <colgroup>
570             <col width="45%">
571             <col width="55%">
572           </colgroup>
573
574           <tbody valign="top">
575             <tr>
576               <td colspan="2">Parametri della rete</td>
577             </tr>
578
579             <tr>
580               <td>rete</td>
581
582               <td>10.10.208.0/24</td>
583             </tr>
584
585             <tr>
586               <td>netmask</td>
587
588               <td>255.255.255.0</td>
589             </tr>
590
591             <tr>
592               <td>broadcast</td>
593
594               <td>10.10.208.255</td>
595             </tr>
596
597             <tr>
598               <td>gateway</td>
599
600               <td>10.10.208.254</td>
601             </tr>
602
603             <tr>
604               <td>gateway</td>
605
606               <td>10.10.208.250 persistente</td>
607             </tr>
608
609             <tr>
610               <td>DNS</td>
611
612               <td>10.10.208.254</td>
613             </tr>
614
615             <tr>
616               <td>DNS</td>
617
618               <td>10.10.208.250 persistente</td>
619             </tr>
620           </tbody>
621         </table>
622
623         <p>Sul portatile di Andrea, corrispondente all'ip 254, gira
624         un DHCP, proxy http e mirror di Debian ( <a class=
625         "reference external" href=
626         "http://debian.piffa.net">http://debian.piffa.net</a>). Se
627         Andrea non e' in aula (o ancora peggio non c'e' il suo
628         portatile Net) gli studenti dovranno darsi un indirizzo ip
629         manualmente e disabilitare il proxy (che pero' e
630         trasparente, quindi fate pure come se non ci fosse ;) .</p>
631       </div>
632
633       <div class="section" id="bash-completion">
634         <h2><a class="toc-backref" href=
635         "#id8">1.3&nbsp;&nbsp;&nbsp;Bash completion</a></h2>
636
637         <p>Il completamento automatico della shell (che si attiva
638         premendo il tasto tab una o due volte mentre si sta
639         scrivendo un termine) permette di comporre automaticamente
640         i nomi dei comandi e i percorsi dei file, sopratutto la
641         composizione automatica dei percorsi dei file e' di grande
642         importanza.</p>
643
644         <p>Bash_completion permette di integrare il completamento
645         automatico con i nomi dei pacchetti e oggetti dei comandi:
646         ad es. volendo digitare <tt class=
647         "docutils literal"><span class="pre">apt-get</span>
648         <span class="pre">inst[TAB]</span> <span class=
649         "pre">xtigh[TAB]</span></tt> ora verra' completatato
650         automaticamente sia la parola <tt class=
651         "docutils literal"><span class="pre">install</span></tt>
652         che il nome del pacchetto <tt class=
653         "docutils literal"><span class=
654         "pre">xtightvncviewer</span></tt>.</p>
655
656         <p>Abilitare /etc/bash_completion nel file <tt class=
657         "docutils literal"><span class=
658         "pre">/etc/bash.bashrc</span></tt> oppure includerlo nel
659         proprio <tt class="docutils literal"><span class=
660         "pre">~/.bashrc</span></tt> (che sarebbe il file
661         <em>nascosto</em>, quindi con un punto all'inizio del nome
662         del file, di configurazione della shell bash per ogni
663         utente, presente nella propria <em>home
664         directory</em>):</p>
665         <pre class="literal-block">
666 echo ". /etc/bash_completion" &gt;&gt; ~/.bashrc
667 </pre>
668
669         <p>Esempio di ~/.bahsrc</p>
670         <pre class="literal-block">
671 # ~/.bashrc: executed by bash(1) for non-login shells.
672
673 export PS1='\h:\w\$ '
674 umask 022
675
676 # Decommentare le seguenti righr per abilitare la colorazione dei
677 # nomi dei file:
678  export LS_OPTIONS='--color=auto'
679  eval "`dircolors`"
680  alias ls='ls $LS_OPTIONS'
681  alias ll='ls $LS_OPTIONS -l'
682  alias l='ls $LS_OPTIONS -lA'
683
684 # Some more alias to avoid making mistakes:
685 # alias rm='rm -i'
686 # alias cp='cp -i'
687 # alias mv='mv -i'
688
689 # questo abilita bash completion
690 . /etc/bash_completion
691 </pre>
692
693         <p>Il file <tt class="docutils literal"><span class=
694         "pre">/etc/bash_completion</span></tt> deve essere presente
695         nel sistema, in caso contrario installare il pacchetto:
696         <tt class="docutils literal"><span class=
697         "pre">bash-completion</span></tt>. Generalmente l'utente
698         <tt class="docutils literal"><span class=
699         "pre">root</span></tt> ha un file <tt class=
700         "docutils literal"><span class="pre">.bashrc</span></tt>
701         preimpostato analogo a quello citato sopra, a differenza
702         dei normali utenti di sistema.</p>
703
704         <p>Links:</p>
705
706         <ul class="simple">
707           <li><a class="reference external" href=
708           "http://www.debian-administration.org/articles/316">An
709           introduction to bash completion</a></li>
710
711           <li><a class="reference external" href=
712           "http://www.caliban.org/bash/">Working more productively
713           with bash 2.x/3.x</a></li>
714         </ul>
715       </div>
716
717       <div class="section" id="vim">
718         <h2><a class="toc-backref" href=
719         "#id9">1.4&nbsp;&nbsp;&nbsp;Vim</a></h2>
720
721         <p>Vim e' l'editor di testo preferito dai sistemisti,
722         quindi sara' conveniente impostare fin da subito alcune
723         impostazioni per renderlo piu' comodo.</p>
724
725         <p>Assicurarsi che sia installata nel sistema la versione
726         completa dell'editor <tt class=
727         "docutils literal"><span class="pre">vim</span></tt>
728         nstallando il pacchetto vimi:</p>
729         <pre class="literal-block">
730        # apt-get install vim
731
732 e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::
733
734    " All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
735    " /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
736    " you can find below.  If you wish to change any of those settings, you should
737    " do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
738    " everytime an upgrade of the vim packages is performed.  It is recommended to
739    " make changes after sourcing debian.vim since it alters the value of the
740    " 'compatible' option.
741
742    " This line should not be removed as it ensures that various options are
743    " properly set to work with the Vim-related packages available in Debian.
744    runtime! debian.vim
745
746    " Uncomment the next line to make Vim more Vi-compatible
747    " NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
748    " options, so any other options should be set AFTER setting 'compatible'.
749    "set compatible
750
751    " Vim5 and later versions support syntax highlighting. Uncommenting the next
752    " line enables syntax highlighting by default.
753    syntax on
754
755    " If using a dark background within the editing area and syntax highlighting
756    " turn on this option as well
757    set background=dark
758
759    " Uncomment the following to have Vim jump to the last position when
760    " reopening a file
761
762    if has("autocmd")
763      au BufReadPost * if line("'\"") &gt; 0 &amp;&amp; line("'\"") &lt;= line("$")
764        \| exe "normal! g'\"" | endif
765    endif
766
767    " Uncomment the following to have Vim load indentation rules and plugins
768    " according to the detected filetype.
769    if has("autocmd")
770      filetype plugin indent on
771    endif
772
773    " The following are commented out as they cause vim to behave a lot
774    " differently from regular Vi. They are highly recommended though.
775    set showcmd             " Show (partial) command in status line.
776    "set showmatch          " Show matching brackets.
777    set ignorecase          " Do case insensitive matching
778    "set smartcase          " Do smart case matching
779    "set incsearch          " Incremental search
780    set autowrite           " Automatically save before commands like :next and :make
781    "set hidden             " Hide buffers when they are abandoned
782    "set mouse=a            " Enable mouse usage (all modes) in terminals
783
784    " Source a global configuration file if available
785    " XXX Deprecated, please move your changes here in /etc/vim/vimrc
786    if filereadable("/etc/vim/vimrc.local")
787      source /etc/vim/vimrc.local
788    endif
789 </pre>
790       </div>
791
792       <div class="section" id="vnc">
793         <h2><a class="toc-backref" href=
794         "#id10">1.5&nbsp;&nbsp;&nbsp;VNC</a></h2>
795
796         <p>I Virtual Network Computing (o VNC) sono software di
797         controllo remoto e servono per amministrare il proprio
798         computer a distanza o visuallizare la sessione di lavoro di
799         un altro computer sul proprio a scopo didattico.
800         Installando un server VNC sulla propria macchina ed
801         impostando una opportuna password si consente ai client VNC
802         di ricevere una immagine dello schermo ed eventualmente di
803         inviare input di tastiera e mouse al computer server
804         (durante le lezioni questo non e' possibile per gli
805         studenti, solo Andrea esegue i comandi). In pratica si può
806         gestire il computer server da un'altra postazione, come se
807         fosse il proprio computer fisico.</p>
808
809         <p>Scaricare il pacchetto <tt class=
810         "docutils literal"><span class=
811         "pre">xtightvncviewer</span></tt> e lo script <tt class=
812         "docutils literal"><span class="pre">guarda.sh</span></tt>
813         in una posizione (collocazione nel <em>path</em> degli
814         utenti, es <tt class="docutils literal"><span class=
815         "pre">echo</span> <span class="pre">$PATH</span></tt> per
816         visualizzare l'attuale path ) comoda per gli utenti ( in
817         genere <tt class="docutils literal"><span class=
818         "pre">/bin</span></tt> ), rndere eseguibile lo script.</p>
819
820         <p>Procedura:</p>
821         <pre class="literal-block">
822 su root
823 cd /bin
824 wget http://debian.piffa.net/guarda.sh
825 chmod +x guarda.sh
826 exit
827 </pre>
828
829         <p>Si noti che non e' possibile lanciare un applicativo sul
830         server grafico di un utente da una shell in cui si sta
831         lavorando come altro utente, anche se root. E' quindi
832         necessario essere l'utente di sistema che si e' loggato
833         inizialmente nella sessione grafica per poter lanciare lo
834         script guarda.sh da una shell.</p>
835
836         <p>Controllare con <tt class=
837         "docutils literal"><span class="pre">whoami</span></tt> di
838         essere l'utente normale (es <tt class=
839         "docutils literal"><span class="pre">utente</span>
840         <span class="pre">|</span> <span class=
841         "pre">studente</span> <span class="pre">|</span>
842         <span class="pre">proprio</span> <span class=
843         "pre">nome</span></tt> ), in caso si sia assunta una altra
844         <tt class="docutils literal"><span class=
845         "pre">id</span></tt> si apra un altra shell o si esca da
846         quella attuale con <tt class=
847         "docutils literal"><span class="pre">exit</span></tt> .</p>
848       </div>
849
850       <div class="section" id="lista-dei-pacchetti-di-base">
851         <h2><a class="toc-backref" href=
852         "#id11">1.6&nbsp;&nbsp;&nbsp;Lista dei pacchetti di
853         base</a></h2>
854
855         <p>I pacchetti installati generalmente <a class=
856         "footnote-reference" href="#id2" id="id1" name=
857         "id1">[1]</a> per poter seguire le lezioni sono:</p>
858         <pre class="literal-block">
859 kde-core kdm kde-i18n-it xorg vim less xtightvncviewer
860 </pre>
861
862         <table class="docutils footnote" frame="void" id="id2"
863         rules="none">
864           <colgroup>
865             <col class="label">
866             <col>
867           </colgroup>
868
869           <tbody valign="top">
870             <tr>
871               <td class="label"><a class="fn-backref" href=
872               "#id1">[1]</a></td>
873
874               <td><tt class="docutils literal"><span class=
875               "pre">kde-core</span></tt> e' piu' leggero del
876               pacchetto <tt class="docutils literal"><span class=
877               "pre">kde</span></tt>, esiste anche un equivalente
878               <tt class="docutils literal"><span class=
879               "pre">gnome-core</span> <span class=
880               "pre">gnome</span></tt> e il log-in manager
881               <tt class="docutils literal"><span class=
882               "pre">gdm</span></tt> per il l'ambiente grafico
883               Gnome.</td>
884             </tr>
885           </tbody>
886         </table>
887       </div>
888
889       <div class="section" id="apt-configurazione">
890         <h2><a class="toc-backref" href=
891         "#id12">1.7&nbsp;&nbsp;&nbsp;Apt configurazione</a></h2>
892
893         <p>Vediamo i due file principali di apt:</p>
894
895         <ul class="simple">
896           <li><tt class="docutils literal"><span class=
897           "pre">/etc/apt/sources.list</span></tt></li>
898
899           <li><tt class="docutils literal"><span class=
900           "pre">/etc/apt/apt.conf</span></tt></li>
901         </ul>
902
903         <div class="section" id="sources-list">
904           <h3><a class="toc-backref" href=
905           "#id13">1.7.1&nbsp;&nbsp;&nbsp;sources.list</a></h3>
906
907           <p>Questo file contiene i sorgenti da cui <em>apt</em>
908           preleva i pacchetti da installare tramite <em>dpkg</em>,
909           vengono quindi precisati i metodi (ad es. http / ftp /
910           cdrom / file), la release che si vuole tracciare (es
911           <tt class="docutils literal"><span class=
912           "pre">stable,</span> <span class="pre">testing,</span>
913           <span class="pre">unstable</span></tt> oppure i
914           corrispondenti release name es: <tt class=
915           "docutils literal"><span class="pre">Lenny,</span>
916           <span class="pre">Squeeze,</span> <span class=
917           "pre">Sid</span></tt>), i rami di interesse (es:
918           <tt class="docutils literal"><span class=
919           "pre">main</span></tt> che e' l'archivio principale,
920           <tt class="docutils literal"><span class=
921           "pre">non-free</span></tt> per il software non libero,
922           <tt class="docutils literal"><span class=
923           "pre">contrib</span></tt> per i pacchetti non realizzati
924           dai manutentori ufficiali).</p>
925
926           <p>Gli archivi sono generalmente:</p>
927
928           <ul class="simple">
929             <li><tt class="docutils literal"><span class=
930             "pre">deb</span></tt> per pacchetti Debian binari</li>
931
932             <li><tt class="docutils literal"><span class=
933             "pre">deb-src</span></tt> per i pacchetti sorgenti
934             (quindi da compilare, come il kernel) degli stessi
935             pacchetti binari. In genere se non compilate spesso
936             potete evitare di tracciare i sorgenti per risparmiare
937             tempo e banda.</li>
938           </ul>
939
940           <p><tt class="docutils literal"><span class=
941           "pre">/etc/apt/sources.list</span></tt></p>
942           <pre class="literal-block">
943 # esempio di accesso a un CDROM:
944 # cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 kde-CD Binary-1 20090$
945
946 # Archivio principale debian via http su piffa.net,
947 # non funziona al difuori dell'aula dei corsi
948 deb http://debian.piffa.net/debian/ Lenny main
949 # deb http://debian.piffa.net/debian/ Lenny  non-free contrib
950
951 # Mirror da kernel.org da usare a casa:
952 deb http://mirrors.eu.kernel.org/debian/ Lenny main
953
954 # Security dal sito principale
955 deb http://security.debian.org/ Lenny/updates main
956 deb-src http://security.debian.org/ Lenny/updates main
957
958 # Debian volatile per le cose soggette a cambiamenti non legati
959 # a dinamiche di sicurezza
960 deb http://volatile.debian.org/debian-volatile Lenny/volatile main
961 deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main
962
963 # Esempio di accesso a un filesystem locale contenente i pacchetti:
964 # deb file:/mnt/mirror Sid main non-free contrib
965 </pre>
966         </div>
967
968         <div class="section" id="etc-apt-apt-conf">
969           <h3><a class="toc-backref" href=
970           "#id14">1.7.2&nbsp;&nbsp;&nbsp;/etc/apt/apt.conf</a></h3>
971
972           <p>Questo file contiene le opzioni di apt, come ad
973           esempio il proxy:</p>
974           <pre class="literal-block">
975 Acquire::http::Proxy "http://10.10.208.254:3128"
976 </pre>
977
978           <p>Si tenga conto che se si imposta un proxy per apt sul
979           proprio portatile e tornati a casa propria si vuole
980           scaricare nuovi pacchetti si dovra' disabilitare il
981           proxy.</p>
982         </div>
983       </div>
984     </div>
985
986     <div class="section" id="squid">
987       <h1><a class="toc-backref" href=
988       "#id15">2&nbsp;&nbsp;&nbsp;Squid</a></h1>
989     </div>
990
991     <div class="section" id="apache">
992       <h1><a class="toc-backref" href=
993       "#id16">3&nbsp;&nbsp;&nbsp;Apache</a></h1>
994
995       <p>Pacchetti da installare:</p>
996       <pre class="literal-block">
997 apache2 apache2-doc
998 </pre>
999
1000       <p>Con la release 2.0 di Apache viene automaticamente resa
1001       disponibile anche la versione SSL (Secure Socket Layer,
1002       cpnnessioni criptate ) del web server.</p>
1003
1004       <div class="section" id="configurazione-di-apache">
1005         <h2><a class="toc-backref" href=
1006         "#id17">3.1&nbsp;&nbsp;&nbsp;Configurazione di
1007         Apache</a></h2>
1008
1009         <p>I file di configurazione di apache si trovano nella
1010         cartella: <tt class="docutils literal"><span class=
1011         "pre">/etc/apache2</span></tt> e sono strutturati come
1012         descritto nel file <tt class=
1013         "docutils literal"><span class="pre">/usr/share/doc/apache2/README.Debian.gz</span></tt>
1014         . Sostanzialmente lo schema e' il seguente:</p>
1015
1016         <dl class="docutils">
1017           <dt>apache2.conf</dt>
1018
1019           <dd>File di configurazione principale del servizio
1020           httpd.conf e' il vecchio file di configurazione di
1021           Apache1, presente per motivi di retrocompatibilita' e'
1022           generalemente vuoto.</dd>
1023
1024           <dt>ports.conf</dt>
1025
1026           <dd>In questo file vengono specificate le porte sulle
1027           quali resta in ascolto il server web. Si noti che
1028           utilizzando dei virtual hosts generalmente viene
1029           specificata per questi la porta su cui ascoltare nel file
1030           di configurazione del virtual host, ad es: <tt class=
1031           "docutils literal"><span class=
1032           "pre">&lt;VirtualHost</span> <span class=
1033           "pre">*:80&gt;</span></tt></dd>
1034
1035           <dt>sites-available</dt>
1036
1037           <dd>In questa cartella vengono raccolti i file di
1038           configurazione dei virtual host disponibili.</dd>
1039
1040           <dt>sites-enabled</dt>
1041
1042           <dd>In questa cartella sono contenuti dei link simbolici
1043           ai files in ../sites-available : se il link e' presente
1044           in questa cartella il virtual host e' abilitato.</dd>
1045
1046           <dt>mods-available</dt>
1047
1048           <dd>Stesso metodo per i moduli: in questa cartella ci
1049           sono i moduli veri e propri che verranno poi abilitati
1050           grazie all'esistenza di link simbolici nella cartella
1051           mods-enabled .</dd>
1052
1053           <dt>mods-enabled</dt>
1054
1055           <dd>Moduli abilitati, effettivamente caricati.</dd>
1056         </dl>
1057       </div>
1058
1059       <div class="section" id="apache-conf">
1060         <h2><a class="toc-backref" href=
1061         "#id18">3.2&nbsp;&nbsp;&nbsp;apache.conf</a></h2>
1062
1063         <p>File di configurazione del servizio Apache, contiene le
1064         impostazioni generiche (ad esempio utilizzo della RAM e
1065         risorse di sistema) dell'intero servizio. Nella
1066         configurazione di default per Debian non viene definito un
1067         vero e proprio sito di default ma solo dei virtual
1068         hosts.</p>
1069
1070         <p>Guardiamo alcune direttive interessanti:</p>
1071
1072         <dl class="docutils">
1073           <dt>timeout</dt>
1074
1075           <dd>Numero di secondi da aspettare prima di chiudere la
1076           connessione con il client. Questo parametro serve a
1077           liberare le risorse di sistema nel caso che un client,
1078           magar a causa di una connessione particolarmente lenta o
1079           instabili, tenga attivo indefinitivamente un processo di
1080           apache.</dd>
1081
1082           <dt>KeepAlive</dt>
1083
1084           <dd>L'estensione keep-alive (http 1.0) congiuntamente
1085           alle connessioni persistenti (http 1.1) permettono al
1086           server di rispondere a piu' richieste dei client mediante
1087           la stessa connessione. Il protocoll http per sua natura
1088           e' connectio-less e senza stato, quindi ogni risorsa
1089           richiesta (per pagine web si pensi ad esempio alle
1090           immagini) dal client necessita di una connessione
1091           autonoma. Keep-alive permette di ottimizzare la
1092           connessione anche fino al 50% a seconda delle situazioni
1093           e contenuti.</dd>
1094
1095           <dt>Server-Pool Size Regulation</dt>
1096
1097           <dd>Questi parametri (StartServers, MinSpareServers, ecc.
1098           Tutti spiegati nel manuale di apache) servono per
1099           attribuire le risorse di sistema disponibili al server
1100           Apache. Tenere questi parametri bassi serve a limitare il
1101           rischio di Denial of Service per il server, nel caso
1102           offra altri servizi. I settagi di default sono come
1103           sempre abbastanza conservativi, se si conta di usare il
1104           proprio Apache per servire un sito web con molti
1105           visitatori sara' necessario aumentare sensibilmente le
1106           impostazioni di base.</dd>
1107
1108           <dt>AccessFileName</dt>
1109
1110           <dd>Il nome del file che viene onorato per modificare le
1111           impostazioni per una singola directory, legato alla
1112           direttiva AllowOverride .</dd>
1113         </dl>
1114       </div>
1115
1116       <div class="section" id="installazione-di-php">
1117         <h2><a class="toc-backref" href=
1118         "#id19">3.3&nbsp;&nbsp;&nbsp;Installazione di PHP</a></h2>
1119
1120         <p>Pacchetti da installare: <tt class=
1121         "docutils literal"><span class="pre">php5</span>
1122         <span class="pre">php-pear</span></tt></p>
1123
1124         <div class="section" id="test-del-modulo-php">
1125           <h3><a class="toc-backref" href=
1126           "#id20">3.3.1&nbsp;&nbsp;&nbsp;Test del modulo
1127           php</a></h3>
1128
1129           <p>Creare nella cartella <tt class=
1130           "docutils literal"><span class="pre">/var/www</span></tt>
1131           (o altra cartella visibile) un file con estensione *.php
1132           (es <tt class="docutils literal"><span class=
1133           "pre">/var/ww/info.php</span></tt> contenete codice php
1134           eseguibile dall'interprete, ad es:</p>
1135           <pre class="literal-block">
1136 &lt;?php phpinfo() ; ?&gt;
1137 </pre>
1138
1139           <p>Questa funzione di php generera' la tipica pagina con
1140           le impostazioni attuali per php, se richiamando la pagina
1141           (es: <tt class="docutils literal"><span class=
1142           "pre">http://localhost/info.php</span></tt> ) verra
1143           generata la pagina e resa disponibile tramite apache agli
1144           utenti allora l'integrazione tra PHP e Apache sara'
1145           corretta. In caso contrario se il client http proporra di
1146           scaricare la pagina invece che visualizzarla nel browser:
1147           non funziona l'interprete di php o sono mal configurati i
1148           MIME-type.</p>
1149         </div>
1150
1151         <div class="section" id=
1152         "installazione-del-supporto-per-mysql">
1153           <h3><a class="toc-backref" href=
1154           "#id21">3.3.2&nbsp;&nbsp;&nbsp;Installazione del supporto
1155           per Mysql</a></h3>
1156
1157           <p>Installare i pacchetti:</p>
1158           <pre class="literal-block">
1159 php5-mysql phpmyadmin
1160 </pre>
1161
1162           <p>Controllare tramite la pagina php.info che sia
1163           abilitato il supporto per Mysql (ripartito Apache,
1164           ricaricare la pagina e cercare con CTRL+f <tt class=
1165           "docutils literal"><span class=
1166           "pre">mysql</span></tt>).</p>
1167         </div>
1168
1169         <div class="section" id="phpmyadmin">
1170           <h3><a class="toc-backref" href=
1171           "#id22">3.3.3&nbsp;&nbsp;&nbsp;phpmyadmin</a></h3>
1172
1173           <p>L'interfaccia web Phpmyadmin non richede
1174           necessariamente la presenza di un database Mysql locale,
1175           puo' infatti essere utilizzata per gestire databases
1176           remoti (il suo file di configurazione: <tt class=
1177           "docutils literal"><span class=
1178           "pre">/etc/phpmyadmin/config.inc.php</span></tt> ). Nel
1179           caso si voglia installare localmente Mysql si utilizzi il
1180           pacchetto <tt class="docutils literal"><span class=
1181           "pre">mysql-server</span></tt> .</p>
1182
1183           <p>Phpmyadmin dovrebbe essere disponibile all'URL:
1184           <tt class="docutils literal"><span class=
1185           "pre">http://localhost/phpmyadmin/</span></tt>, se cosi
1186           non fosse controllare che sia incluso il file <tt class=
1187           "docutils literal"><span class=
1188           "pre">/etc/phpmyadmin/apache.conf</span></tt> in
1189           <tt class="docutils literal"><span class=
1190           "pre">/etc/apache2/conf.d/</span></tt> .</p>
1191         </div>
1192
1193         <div class="section" id=
1194         "installazione-del-supporto-per-postgresql">
1195           <h3><a class="toc-backref" href=
1196           "#id23">3.3.4&nbsp;&nbsp;&nbsp;Installazione del supporto
1197           per Postgresql</a></h3>
1198
1199           <p>Installare i pacchetti:</p>
1200           <pre class="literal-block">
1201 php5-pgsql phppgadmin
1202 </pre>
1203
1204           <p>Controllare tramite la pagina php.info che sia
1205           abilitato il supporto per PostgreSQL (ripartito Apache,
1206           ricaricare la pagina e cercare con CTRL+f <tt class=
1207           "docutils literal"><span class=
1208           "pre">pgsql</span></tt>).</p>
1209         </div>
1210       </div>
1211
1212       <div class="section" id="virtual-hosts">
1213         <h2><a class="toc-backref" href=
1214         "#id24">3.4&nbsp;&nbsp;&nbsp;Virtual hosts</a></h2>
1215
1216         <blockquote>
1217           <ul class="simple">
1218             <li><a class="reference external" href=
1219             "http://www.apacheweek.com/features/vhost">http://www.apacheweek.com/features/vhost</a></li>
1220
1221             <li><a class="reference external" href=
1222             "http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html">
1223             http://www.onlamp.com/pub/a/apache/2004/01/08/apacheckbk.html</a></li>
1224           </ul>
1225         </blockquote>
1226
1227         <p>I virtual host permettono di avere piu' siti internet
1228         disponibile tramite lo stesso server web, eventualmente
1229         mappati su un solo indirizzo ip. Sono generalemente di due
1230         tipi:</p>
1231
1232         <blockquote>
1233           <ul class="simple">
1234             <li>Basati su indirizzi ip diversi. Se si ha la
1235             possibilita' di avere piu' indirizzi ip dedicati per i
1236             diversi siti che si vuole servire. ES: &lt;VirtualHost
1237             192.168.0.2:80&gt; . Soluzione dispendiosa, si tende ad
1238             usarla solo se servono certificati di sicurezza (SSL )
1239             dedicati per ogni sito.</li>
1240
1241             <li>Basati su nomi di dominio diversi che puntano allo
1242             stesso ip. Soluzione piu' economica e diffusa che si
1243             basa sulle funzionalita' di http 1.1 .</li>
1244           </ul>
1245         </blockquote>
1246
1247         <p>Prenderemo in esame la gestione di virtual hosts basati
1248         su nomi di dominio.</p>
1249
1250         <div class="section" id="gestione-dns">
1251           <h3><a class="toc-backref" href=
1252           "#id25">3.4.1&nbsp;&nbsp;&nbsp;Gestione DNS</a></h3>
1253
1254           <p>Prima di tutto per poter impostare i virtual hosts
1255           dovete avere un server DNS che risolva i vostri nomi di
1256           dominio sull'indirizzo ip del server. Questo si puo'
1257           ottenere in vari modi, ad es:</p>
1258
1259           <blockquote>
1260             <ul class="simple">
1261               <li>Bind Impostare i campi A nelle proprie zone
1262               gestite dal server dns Bind. Ad es: <tt class=
1263               "docutils literal"><span class=
1264               "pre">papo</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1265               <span class=
1266               "pre">A</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1267               <span class="pre">212.22.136.248</span></tt></li>
1268
1269               <li>Servizio DNS dinamico on line. Utilizzare un
1270               servizio come ad es: <a class="reference external"
1271               href=
1272               "https://www.dyndns.com/">https://www.dyndns.com/</a>
1273               per mappare nomi di dominio sul proprio indirizzo ip,
1274               comodo ad esempio se si dispone di un indirzzo ip
1275               pubblico (anche se dinamico) per la propria
1276               connessione ad internet.</li>
1277
1278               <li>Dnsmasq Utilizzabile a livello locale per fare
1279               dei test, utilizzando direttive come: <tt class=
1280               "docutils literal"><span class=
1281               "pre">address=/davide.piffa.net/10.10.208.178</span></tt></li>
1282
1283               <li>/etc/hosts Per prove <em>strettamente a livello
1284               locale</em> potete impostare i nomi dei vostri
1285               virtual server nel file /etc/hosts .</li>
1286             </ul>
1287           </blockquote>
1288
1289           <p>Testare con dig (disponibile nel pacchetto <tt class=
1290           "docutils literal"><span class="pre">dnsutils</span></tt>
1291           ) il nome di dominio che si vuole utilizzare:</p>
1292           <pre class="literal-block">
1293 # dig 177.piffa.net
1294
1295 ; &lt;&lt;&gt;&gt; DiG 9.5.1-P1 &lt;&lt;&gt;&gt; 177.piffa.net
1296 ;; global options:  printcmd
1297 ;; Got answer:
1298 ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 38036
1299 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
1300
1301 ;; QUESTION SECTION:
1302 ;177.piffa.net.                 IN      A
1303
1304 ;; ANSWER SECTION:
1305 177.piffa.net.          0       IN      A       10.10.208.177
1306
1307 ;; Query time: 12 msec
1308 ;; SERVER: 10.10.208.254#53(10.10.208.254)
1309 ;; WHEN: Wed May  6 12:27:08 2009
1310 ;; MSG SIZE  rcvd: 47
1311 </pre>
1312
1313           <p>La parte interessante e' <tt class=
1314           "docutils literal"><span class=
1315           "pre">177.piffa.net.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1316           <span class=
1317           "pre">0</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1318           <span class="pre">IN</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1319           <span class=
1320           "pre">A</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1321           <span class="pre">10.10.208.177</span></tt> . Il nome di
1322           dominio 177.piffa.net viene risolto sull'ip 10.10.208.177
1323           , nel nostro Apache (che risponde all'ip 10.10.208.177 )
1324           dovra' essere disponibile un virtual host che corrisponde
1325           al nome <tt class="docutils literal"><span class=
1326           "pre">177.piffa.net</span></tt> .</p>
1327         </div>
1328
1329         <div class="section" id="virtual-host">
1330           <h3><a class="toc-backref" href=
1331           "#id26">3.4.2&nbsp;&nbsp;&nbsp;Virtual host</a></h3>
1332
1333           <p>Esempio di Virtual host</p>
1334         </div>
1335       </div>
1336
1337       <div class="section" id="user-authentication">
1338         <h2><a class="toc-backref" href=
1339         "#id27">3.5&nbsp;&nbsp;&nbsp;User Authentication</a></h2>
1340
1341         <p>link: <a class="reference external" href=
1342         "http://www.apacheweek.com/features/userauth">http://www.apacheweek.com/features/userauth</a></p>
1343       </div>
1344
1345       <div class="section" id="cavets">
1346         <h2><a class="toc-backref" href=
1347         "#id28">3.6&nbsp;&nbsp;&nbsp;Cavets</a></h2>
1348
1349         <p>Problemi di cache:</p>
1350
1351         <blockquote>
1352           <ul class="simple">
1353             <li>Proxy: nei settaggi del browser specificare di non
1354             utilizzare un server proxy http per il sito web locale
1355             (o per gli altri che si stanno monitorando). Se si ha
1356             il controllo del proxy server: stopparlo, ricaricare la
1357             pagina (operazione che fallira'), far ripartire il
1358             proxy, ricaricare la pagina.</li>
1359
1360             <li>Provare con un altro browser, o cercare di svuotare
1361             la cache chiudere/riaprire l'applicativo. Provare a
1362             fermare Apache, ricaricare la pagina (operazione che
1363             fallira'), far ripartire il Apache, ricaricare la
1364             pagina.</li>
1365           </ul>
1366         </blockquote>
1367       </div>
1368     </div>
1369
1370     <div class="section" id="domain-name-system">
1371       <h1><a class="toc-backref" href=
1372       "#id29">4&nbsp;&nbsp;&nbsp;Domain Name System</a></h1>
1373
1374       <div class="section" id=
1375       "informazioni-di-base-sul-servizio-dns">
1376         <h2><a class="toc-backref" href=
1377         "#id30">4.1&nbsp;&nbsp;&nbsp;Informazioni di base sul
1378         servizio DNS.</a></h2>
1379
1380         <p>Domain Name System (spesso indicato con DNS) Ã¨ un
1381         servizio utilizzato per la risoluzione di nomi di host in
1382         indirizzi IP e viceversa. Il servizio Ã¨ realizzato tramite
1383         un database distribuito, costituito dai server DNS.</p>
1384
1385         <p>Il nome DNS denota anche il protocollo che regola il
1386         funzionamento del servizio, i programmi che lo
1387         implementano, i server su cui questi girano, l'insieme di
1388         questi server che cooperano per fornire il servizio.</p>
1389
1390         <p>I nomi DNS, o "nomi di dominio", sono una delle
1391         caratteristiche più visibili di Internet.</p>
1392
1393         <p>C'è confusione in merito alla definizione
1394         dell'acronimo: la S spesso viene interpretata come service,
1395         ma la definizione corretta Ã¨ system.</p>
1396
1397         <p>L'operazione di convertire un nome in un indirizzo Ã¨
1398         detta risoluzione DNS, convertire un indirizzo IP in nome
1399         Ã¨ detto risoluzione inversa.</p>
1400       </div>
1401
1402       <div class="section" id="nomi-di-dominio">
1403         <h2><a class="toc-backref" href=
1404         "#id31">4.2&nbsp;&nbsp;&nbsp;Nomi di dominio</a></h2>
1405
1406         <p>Un nome a dominio Ã¨ costituito da una serie di stringhe
1407         separate da punti, ad esempio it.wikipedia.org. A
1408         differenza degli indirizzi IP, dove la parte più
1409         importante del numero Ã¨ la prima partendo da sinistra, in
1410         un nome DNS la parte più importante Ã¨ la prima partendo
1411         da destra. Questa Ã¨ detta dominio di primo livello (o TLD,
1412         Top Level Domain), per esempio .org o .it.</p>
1413
1414         <p>Un dominio di secondo livello consiste in due parti, per
1415         esempio wikipedia.org, e così via. Ogni ulteriore elemento
1416         specifica un'ulteriore suddivisione. Quando un dominio di
1417         secondo livello viene registrato all'assegnatario, questo
1418         Ã¨ autorizzato a usare i nomi di dominio relativi ai
1419         successivi livelli come it.wikipedia.org (dominio di terzo
1420         livello) e altri come some.other.stuff.wikipedia.org
1421         (dominio di quinto livello) e così via.</p>
1422       </div>
1423
1424       <div class="section" id="tipologie-di-record">
1425         <h2><a class="toc-backref" href=
1426         "#id32">4.3&nbsp;&nbsp;&nbsp;Tipologie di record</a></h2>
1427
1428         <p>Ad un nome DNS possono corrispondere diversi tipi di
1429         informazioni. Per questo motivo, esistono diversi tipi di
1430         record DNS. Ogni voce del database DNS deve essere
1431         caratterizzata da un tipo. I principali tipi sono:</p>
1432
1433         <ul class="simple">
1434           <li>Record A - Indica la corrispondenza tra un nome ed
1435           uno (o più) indirizzi IP (per la precisione indirizzi
1436           IPv4, ovvero la versione attualmente in uso).</li>
1437
1438           <li>Record MX - (Mail eXchange) indica a quali server
1439           debba essere inviata la posta elettronica per un certo
1440           dominio.</li>
1441
1442           <li>Record CNAME - Sono usati per creare un alias, ovvero
1443           per fare in modo che lo stesso calcolatore sia noto con
1444           più nomi. Uno degli utilizzi di questo tipo di record
1445           consiste nell'attribuire ad un host che offre più
1446           servizi un nome per ciascun servizio. In questo modo, i
1447           servizi possono poi essere spostati su altri host senza
1448           dover riconfigurare i client, ma modificando solo il
1449           DNS.</li>
1450
1451           <li>Record PTR - Il DNS viene utilizzato anche per
1452           realizzare la risoluzione inversa, ovvero per far
1453           corrispondere ad un indirizzo IP il corrispondente nome a
1454           dominio. Per questo si usano i record di tipo "PTR" (e
1455           una apposita zona dello spazio dei nomi
1456           in-addr.arpa).</li>
1457
1458           <li>Record AAAA - Restituisce un indirizzo IPv6.</li>
1459
1460           <li>Record SRV - Identificano il server per un
1461           determinato servizio all'interno di un dominio. Possono
1462           essere considerati una generalizzazione dei record
1463           MX.</li>
1464
1465           <li>Record TXT - Associano campi di testo arbitrari ad un
1466           dominio. Questi campi possono contenere una descrizione
1467           informativa oppure essere utilizzati per realizzare
1468           servizi.</li>
1469         </ul>
1470
1471         <p>Vi sono anche tipi di record "di servizio", necessari al
1472         funzionamento del database distribuito: * Record NS -
1473         Utilizzato per indicare quali siano i server DNS
1474         autoritativi per un certo dominio, ovvero per delegarne la
1475         gestione. * Record SOA - (Start of Authority) usato per la
1476         gestione delle zone DNS.</p>
1477       </div>
1478
1479       <div class="section" id="utilizzo">
1480         <h2><a class="toc-backref" href=
1481         "#id33">4.4&nbsp;&nbsp;&nbsp;Utilizzo</a></h2>
1482
1483         <p>I computer vengono identificati in rete grazie agli
1484         indirizzi <em>IP</em>, questi pero' non sono comodi per gli
1485         utenti come riferimento per i vari server. Ad esempio
1486         sarebbe scomodoriferirsi al motore di ricerca Goggle con
1487         uno dei suoi IP: <tt class="docutils literal"><span class=
1488         "pre">74.125.43.104</span></tt>, e' preferibile usare il
1489         nome di dominio <em>www.google.com</em>:</p>
1490         <pre class="literal-block">
1491 ping -c 1 www.google.com
1492 PING www.l.google.com (74.125.43.104) 56(84) bytes of data.
1493 </pre>
1494       </div>
1495
1496       <div class="section" id="risoluzione-dei-nomi-di-dominio">
1497         <h2><a class="toc-backref" href=
1498         "#id34">4.5&nbsp;&nbsp;&nbsp;Risoluzione dei nomi di
1499         dominio</a></h2>
1500
1501         <p>Ci sono vari strumenti per interrogare i server DNS e
1502         ottenere l'indirizzo IP associato al nome di dominio che ci
1503         interessa:</p>
1504         <pre class="literal-block">
1505 $ host www.piffa.net
1506  www.piffa.net is an alias for piffa.net.
1507  piffa.net has address 65.98.21.97
1508  piffa.net mail is handled by 10 65.98.21.97
1509
1510
1511 $ nslookup www.piffa.net
1512  Server:         192.168.0.10
1513  Address:        192.168.0.10#53
1514
1515  Non-authoritative answer:
1516  www.piffa.net   canonical name = piffa.net.
1517  Name:   piffa.net
1518  Address: 65.98.21.97
1519
1520
1521  $ dig www.piffa.net
1522
1523  ; &lt;&lt;&gt;&gt; DiG 9.6.0-P1 &lt;&lt;&gt;&gt; www.piffa.net
1524  ;; global options: +cmd
1525  ;; Got answer:
1526  ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 47751
1527  ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
1528
1529  ;; QUESTION SECTION:
1530  ;www.piffa.net.                 IN      A
1531
1532  ;; ANSWER SECTION:
1533  www.piffa.net.          3489    IN      CNAME   piffa.net.
1534  piffa.net.              3489    IN      A       65.98.21.97
1535
1536  ;; AUTHORITY SECTION:
1537  piffa.net.              86289   IN      NS      ns2.mydomain.com.
1538  piffa.net.              86289   IN      NS      ns1.mydomain.com.
1539  piffa.net.              86289   IN      NS      ns4.mydomain.com.
1540  piffa.net.              86289   IN      NS      ns3.mydomain.com.
1541
1542  ;; ADDITIONAL SECTION:
1543  ns1.mydomain.com.       96208   IN      A       64.94.117.193
1544  ns2.mydomain.com.       96208   IN      A       64.94.31.67
1545  ns3.mydomain.com.       96208   IN      A       66.150.161.137
1546  ns4.mydomain.com.       96208   IN      A       63.251.83.74
1547
1548  ;; Query time: 1 msec
1549  ;; SERVER: 192.168.0.10#53(192.168.0.10)
1550  ;; WHEN: Sun May 10 21:23:11 2009
1551  ;; MSG SIZE  rcvd: 209
1552 </pre>
1553       </div>
1554     </div>
1555
1556     <div class="section" id="dnsmasq">
1557       <h1><a class="toc-backref" href=
1558       "#id35">5&nbsp;&nbsp;&nbsp;DNSmasq</a></h1>
1559
1560       <p>Dnsmasq puo' svolgere le funzioni di un DNS cache /
1561       forwarder e un server DHCP caratterizzato dalla facilita' di
1562       configurazione, dalla leggerezza e dalla possibilita' di
1563       modificare rapidamente i record DNS serviti alla rete. Puo'
1564       essere anche utilizzato come <cite>server per il boot da rete
1565       &lt;http://www.debian-administration.org/articles/478&gt;_</cite>
1566       .</p>
1567
1568       <p>Dnsmasq e' un interessante alternativa all'uso del server
1569       DNS Bind in modalita' cache-only (non autoritativo)
1570       accompagnato dal server DHCPD. I vantaggi sono:</p>
1571
1572       <ul class="simple">
1573         <li>Leggerezza: puo' essere fatto girare su una macchina
1574         relativamente debole in caso di bisogno.</li>
1575
1576         <li>Rapidita' di configurazione (in particolare per servire
1577         dei record A / MX alla rete, modificando al volo i valori
1578         originali ospitati sul server DNS Publico).</li>
1579
1580         <li>Ben integrato con connssioni PPP (utile se dovete
1581         rendere disponibile rapidamente una connessione a internet
1582         a una rete in difficolta').</li>
1583       </ul>
1584
1585       <p>Tutto cio' rende Dnsmasq una soluzione valida in
1586       particolare quando si deve intervenire in una rete
1587       pre-esistente in cui il server principale e' in crisi: si
1588       potra' utilizzare Dnsmasq anche su una macchina piu' debole e
1589       <em>mascherare</em> i servizi al momento non disponibili.
1590       Molto utile per scopi didattici, sopratutto per testare
1591       server SMTP impostando al volo i campi MX per nomi di dominio
1592       fittizi.</p>
1593     </div>
1594
1595     <div class="section" id="samba">
1596       <h1><a class="toc-backref" href=
1597       "#id36">6&nbsp;&nbsp;&nbsp;Samba</a></h1>
1598
1599       <p>Samba e' un progetto libero che fornisce servizi di
1600       condivisione di file e stampanti a client SMB/CIFS.</p>
1601
1602       <p>Samba e' liberamente disponibile, al contrario di altre
1603       implementazioni SMB/CIFS, e permette di ottenere
1604       interoperabilita' tra Linux, Unix, Mac OS X e Windows.</p>
1605
1606       <p>Samba e' un software che puo girare su piattaforme che non
1607       siano Microsoft Windows, per esempio, UNIX, Linux, IBM System
1608       390, OpenVMS e altri sistemi operativi. Samba utilizza il
1609       protocollo TCP/IP utilizzando i servizi offerti sul server
1610       ospite. Quando correttamente configurato, permette di
1611       interagire con client o server Microsoft Windows come se
1612       fosse un file e print server Microsoft agendo da Primary
1613       Domain Controller (PDC) o come Backup Domain Controller, puo'
1614       inoltre prendere parte ad un dominio Active Directory.</p>
1615
1616       <div class="section" id="pacchetti">
1617         <h2><a class="toc-backref" href=
1618         "#id37">6.1&nbsp;&nbsp;&nbsp;Pacchetti</a></h2>
1619
1620         <p>Pacchetti da installare per utilizzare Samba in
1621         modalita' client <a class="footnote-reference" href="#id4"
1622         id="id3" name="id3">[2]</a></p>
1623         <pre class="literal-block">
1624 samba-client
1625 </pre>
1626
1627         <p>Pacchetti da installare per utilizzare Samba in
1628         modalita' server:</p>
1629         <pre class="literal-block">
1630 samba smbfs smbclient
1631 </pre>
1632
1633         <table class="docutils footnote" frame="void" id="id4"
1634         rules="none">
1635           <colgroup>
1636             <col class="label">
1637             <col>
1638           </colgroup>
1639
1640           <tbody valign="top">
1641             <tr>
1642               <td class="label"><a class="fn-backref" href=
1643               "#id3">[2]</a></td>
1644
1645               <td>Anche se nato per i sistemi Windows, Samba puo'
1646               essere usato anche per montare cartelle sotto
1647               GNU/Linux come alternativa a NFS. Per la condivisione
1648               di stampanti sarebbe invece opportuno intervenire
1649               direttamente su <tt class=
1650               "docutils literal"><span class=
1651               "pre">CUPS</span></tt>.</td>
1652             </tr>
1653           </tbody>
1654         </table>
1655
1656         <p>Durante la prima installazione viene chiesto il nome del
1657         gruppo di appartenenza, il default per Windows e'
1658         <tt class="docutils literal"><span class=
1659         "pre">WORKGROUP</span></tt>. In aula usiamo invece
1660         <tt class="docutils literal"><span class=
1661         "pre">208</span></tt> .</p>
1662
1663         <p>Per riconfigurare Samba si usi il comando:</p>
1664         <pre class="literal-block">
1665 dpkg-reconfigure samba-common
1666 </pre>
1667       </div>
1668
1669       <div class="section" id="passwords-e-autenticazione">
1670         <h2><a class="toc-backref" href=
1671         "#id38">6.2&nbsp;&nbsp;&nbsp;Passwords e
1672         autenticazione</a></h2>
1673
1674         <p>Per poter configurare Samba in modo che usi un sistema
1675         di negoziazione degli accessi alle cartelle condivise
1676         basato su accoppiate <em>nome utente / password</em>
1677         bisogna distinguere tra 3 livelli di password (e
1678         generalmente volete usare <em>sempre la stessa
1679         password</em> per ognuno di questi) e delle differenze tra
1680         le modalita' di <em>autenticazione</em> (e quindi anche di
1681         criptaggio delle passwords) usate da sistemi GNU/Linux e
1682         Windows:</p>
1683
1684         <dl class="docutils">
1685           <dt>1 Sistema *Unix ( GNU/Linux )</dt>
1686
1687           <dd>E' la password dell'<em>utente di sistema</em> che
1688           viene usata sul sistema operativo su cui gira il software
1689           Samba. E' importante tenere conto anche delle
1690           <em>user-id</em> e <em>group-id</em> degli utenti che
1691           dovranno fisicamente scrivere sui file system. Se un
1692           utente non puo' scrivere in una certa posizione del file
1693           system (ad esempio nella cartella <tt class=
1694           "docutils literal"><span class=
1695           "pre">/mnt/condivisione</span></tt> che sara' stata
1696           necessariamente creata inizialmente dall'utente
1697           <tt class="docutils literal"><span class=
1698           "pre">root</span></tt>) per mancanza dei privilegi di
1699           scrittura allora neanche Samba potra' farlo nel momento
1700           in mette a disposizione la risorsa all'utente. Se si
1701           montano file-system dedicati per le condivisioni
1702           controllare i permessi e propieta' dei <em>punti di
1703           mount*</em>. Queste passwords sono salvate nel solito
1704           file /etc/shadow (richiamato da /etc/passwd).</dd>
1705
1706           <dt>2 Password per l'applicativo Samba</dt>
1707
1708           <dd>Samba deve essere compatibile con Windows e quindi
1709           utilizzare un sistema di criptazione delle password
1710           diverso da /etc/shadow . Le password per Samba possono
1711           essere gestite ad esempio col comando <tt class=
1712           "docutils literal"><span class=
1713           "pre">smbpasswd</span></tt> e vengono generalmente
1714           salvate all'interno di <tt class=
1715           "docutils literal"><span class=
1716           "pre">/var/lib/samba/passdb.tdb</span></tt> .</dd>
1717
1718           <dt>3 Password per Windows.</dt>
1719
1720           <dd>Gli utenti Windows effettuano il log-in alla partenza
1721           della sessione di Windows. Se si avra' l'accortezza di
1722           usare sempre la <em>stessa password</em> data
1723           precedentemente anche a Windows (o viceversa impostare la
1724           password per GNU/Linux / Samba uguale a quella di
1725           Windows) l'utente potra' accedere automaticamente alle
1726           condivisioni a lui disponibili.</dd>
1727         </dl>
1728       </div>
1729
1730       <div class="section" id="creazione-utenti">
1731         <h2><a class="toc-backref" href=
1732         "#id39">6.3&nbsp;&nbsp;&nbsp;Creazione Utenti</a></h2>
1733
1734         <p>Creiamo per primo l'utente sotto GNU/Linux, facendo
1735         attenzione a <em>non dargli una shell di sistema</em>. Gli
1736         utenti Windows che accedono al server solo per le
1737         condivisioni non hanno bisogno di poter eseguire comandi
1738         sul server!</p>
1739
1740         <p>Creazione di un utente denominato sambo:</p>
1741         <pre class="literal-block">
1742 adduser --shell /bin/false sambo
1743 </pre>
1744
1745         <p>Nel file <tt class="docutils literal"><span class=
1746         "pre">/etc/passwd</span></tt> avremo qualcosa come:</p>
1747         <pre class="literal-block">
1748 sambo:x:1001:1001:Sambo utente Samba,,,:/home/sambo:/bin/false
1749 </pre>
1750
1751         <p>Aggiunta dell'utente al database delle password per
1752         Samba e generazione della sua password:</p>
1753         <pre class="literal-block">
1754 smbpasswd -a sambo
1755 </pre>
1756
1757         <p>Se successivamente si vorra' modificare la password di
1758         un utente gia' esistente si usi:</p>
1759         <pre class="literal-block">
1760 smbpasswd  sambo
1761 </pre>
1762
1763         <p>La password sotto Windows verra' modificata sul sistema
1764         Windows.</p>
1765       </div>
1766
1767       <div class="section" id="creare-la-condivisione">
1768         <h2><a class="toc-backref" href=
1769         "#id40">6.4&nbsp;&nbsp;&nbsp;Creare la
1770         condivisione</a></h2>
1771
1772         <p>La condivisione altro non e' che una cartella sul server
1773         che viene resa disponibile ai client negoziando l'accesso
1774         in base a una autenticazione basata su <em>user-name /
1775         password</em>. E' per altro possibile permettere l'accesso
1776         a una risorsa a chiunque indiscriminatamente (a tutti i
1777         <tt class="docutils literal"><span class=
1778         "pre">guest</span></tt>) ma la cosa e' sconsigliabile dal
1779         punto di vista della sicurezza. Si decida se la cartella
1780         condivisa debba risiedere nella <em>home</em> di un utente
1781         (nel caso quest'ultimo ne sia l'unico fruitore) o in una
1782         cartella in /mnt/ (nel caso piu' utenti accedano a questa).
1783         Nel secondo caso si potranno gestire gli accessi sotto
1784         GNU/Linux tramite i gruppi.</p>
1785
1786         <p>Creazione della risorsa sambo_share nella home
1787         dell'utente sambo:</p>
1788         <pre class="literal-block">
1789 # mkdir /home/sambo/sambo_share
1790 # chown sambo:sambo /home/sambo/sambo_share/
1791 </pre>
1792
1793         <div class="section" id=
1794         "sicurezza-permessi-di-esecuzione-sul-server">
1795           <h3><a class="toc-backref" href=
1796           "#id41">6.4.1&nbsp;&nbsp;&nbsp;Sicurezza: permessi di
1797           esecuzione sul server</a></h3>
1798
1799           <p>Bisognerebbe notare sul server i permessi di
1800           esecuzione del file-system che ospita la cartella da
1801           condividere. Se i file che saranno contenuti nella
1802           condivisione saranno da usarsi sotto Windows non c'e'
1803           motivo che questi siano eseguibili sotto GNU/Linux. Si
1804           potrebbe avere quindi, ipotizzando una condivisione in
1805           <tt class="docutils literal"><span class=
1806           "pre">/mnt/share</span></tt> che risieda su di un file
1807           system dedicato:</p>
1808
1809           <p><tt class="docutils literal"><span class=
1810           "pre">/etc/fstab</span></tt></p>
1811
1812           <blockquote>
1813             /dev/hda10 /mnt/share ext3 rw,
1814             <strong>nosuid,noexec</strong> 0 3
1815           </blockquote>
1816
1817           <p>Si noti anche l'uso di <em>nosuid</em> per evitare la
1818           possibilita' di eseguire programmi con credenziali
1819           diverse.</p>
1820         </div>
1821       </div>
1822
1823       <div class="section" id=
1824       "configurazione-dell-applicativo-samba-vero-e-proprio">
1825         <h2><a class="toc-backref" href=
1826         "#id42">6.5&nbsp;&nbsp;&nbsp;Configurazione
1827         dell'applicativo Samba vero e proprio.</a></h2>
1828
1829         <p>Avendo preparato gli utenti (ancora una volta: non si
1830         dia una shell completa a un utente che serve solo per Samba
1831         o la posta elettronica) e la cartella sul file system si
1832         puo' procedere a configurare la condivisione su Samba.</p>
1833
1834         <p>/etc/samba/smb.conf riga ~235 , Share Definitions (in
1835         vim si usi 235gg ):</p>
1836         <pre class="literal-block">
1837 [sambo_share]
1838         # Percorso della cartella condivisa
1839         path = /home/sambo/sambo_share
1840         # Se gli utenti possono scrivere / modificare file
1841         writable = yes
1842         # Negoziazione degli accessi su base utenti / passwords
1843         valid users = sambo
1844
1845         # #######################################
1846         # Altri parametri opzionali di interesse
1847         # Se posso vedere la condivisione da esplora risorse
1848         # anche se non ho i privilegi per accedervi.
1849         browseable = yes
1850         # Commento indicativo della risorsa
1851         comment = Condivisione per Sambo
1852 </pre>
1853
1854         <p>Dopo aver salvato il file si puo' fare un primo
1855         controllo tramite l'utility <tt class=
1856         "docutils literal"><span class="pre">testparm</span></tt> ,
1857         che controlla la sintassi del file di configurazione di
1858         Samba. Se questo non rileva problemi si puo' procedere a un
1859         <tt class="docutils literal"><span class="pre">#</span>
1860         <span class="pre">/etc/init.d/samba</span> <span class=
1861         "pre">restart</span></tt> .</p>
1862       </div>
1863
1864       <div class="section" id="testare-il-servizio">
1865         <h2><a class="toc-backref" href=
1866         "#id43">6.6&nbsp;&nbsp;&nbsp;Testare il Servizio</a></h2>
1867
1868         <p>Come testare il servizio</p>
1869
1870         <p>es:</p>
1871         <pre class="literal-block">
1872 smbclient -U sambo -L localhost
1873 </pre>
1874
1875         <p>Questo comando permette di esplorare la risorsa
1876         qualificandosi come utente, in questo modo potete testare
1877         il corretto funzionamento dell'autenticazione. Si provi
1878         inizialmente a sbagliare la password deliberatamente, poi a
1879         inserirla correttamente: dovrebbero essere visibili le
1880         risorse disponibili al solo utente sambo: la suo /home e la
1881         cartella samba_share:</p>
1882         <pre class="literal-block">
1883 Sharename       Type      Comment
1884 ---------       ----      -------
1885 sambo_share     Disk      Condivisione per Sambo
1886 print$          Disk      Printer Drivers
1887 IPC$            IPC       IPC Service (base server)
1888 sambo           Disk      Home Directories
1889 </pre>
1890
1891         <p>In particolare l'ultima voce relativa alla home
1892         directory dell'utente dovrebbe essere visibile solo agli
1893         utenti autenticati.</p>
1894
1895         <p>In alternativa e' possibile montare realmente la
1896         condivisone anche su GNU/Linux tramite un client per samba
1897         e testarne il corretto funzionamento:</p>
1898         <pre class="literal-block">
1899 mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo
1900 </pre>
1901       </div>
1902     </div>
1903
1904     <div class="section" id="note">
1905       <h1><a class="toc-backref" href=
1906       "#id44">7&nbsp;&nbsp;&nbsp;NOTE</a></h1>
1907
1908       <ul class="simple">
1909         <li>controllare apache</li>
1910       </ul>
1911
1912       <p>sintassi: in <tt class="docutils literal"><span class=
1913       "pre">monospace</span></tt> :</p>
1914
1915       <ul class="simple">
1916         <li>nomi di files</li>
1917
1918         <li>comandi</li>
1919
1920         <li>pacchetti</li>
1921       </ul>
1922     </div>
1923   </div>
1924 </body>
1925 </html>