"#limiti-su-base-ip" id="id31" name=
"id31">3.6.1 Limiti su base
ip</a></li>
-
- <li><a class="reference internal" href=
- "#user-authentication" id="id32" name=
- "id32">3.6.2 User
- Authentication</a></li>
</ul>
</li>
- <li><a class="reference internal" href=
- "#definire-la-cartella" id="id33" name=
- "id33">3.7 Definire la
- cartella</a></li>
+ <li>
+ <a class="reference internal" href=
+ "#user-authentication" id="id32" name=
+ "id32">3.7 User Authentication</a>
- <li><a class="reference internal" href=
- "#creazione-del-database-delle-passwords" id="id34"
- name="id34">3.8 Creazione del database
- delle passwords</a></li>
+ <ul class="auto-toc">
+ <li><a class="reference internal" href=
+ "#definire-la-cartella" id="id33" name=
+ "id33">3.7.1 Definire la
+ cartella</a></li>
- <li><a class="reference internal" href="#id3" id="id35"
- name="id35">3.9 Configurazione di
- Apache</a></li>
+ <li><a class="reference internal" href=
+ "#creazione-del-database-delle-passwords" id="id34"
+ name="id34">3.7.2 Creazione del
+ database delle passwords</a></li>
+
+ <li><a class="reference internal" href="#id3" id=
+ "id35" name=
+ "id35">3.7.3 Configurazione di
+ Apache</a></li>
+ </ul>
+ </li>
<li><a class="reference internal" href="#cavets" id=
- "id36" name=
- "id36">3.10 Cavets</a></li>
+ "id36" name="id36">3.8 Cavets</a></li>
</ul>
</li>
"pre">GET</span></tt> per cercare di mandare in Denial Of
Service il webserver.</p>
</div>
-
- <div class="section" id="user-authentication">
- <h3><a class="toc-backref" href=
- "#id32">3.6.2 User
- Authentication</a></h3>
-
- <p>A volte conviene negoziare gli accessi ad un area di
- un sito tramite autenticazione basata sull'accopiata
- <em>nome utente / password</em>. Questo puo' venire utile
- per creare una area download <em>intranet</em>, alla
- quale possano accedere solo gli utenti previsti a
- prescindere dagli indirizzi IP dei loro client. Per
- quanto esistano soluzioni piu' granulari e sofisticate
- per ottenere questo, <em>mod-auth</em> puo'essere
- sufficente. E mod auth non richiede l'installazione di
- software aggiuntivi.</p>
-
- <p>link: <a class="reference external" href=
- "http://www.apacheweek.com/features/userauth">http://www.apacheweek.com/features/userauth</a></p>
- </div>
</div>
- <div class="section" id="definire-la-cartella">
+ <div class="section" id="user-authentication">
<h2><a class="toc-backref" href=
- "#id33">3.7 Definire la cartella</a></h2>
+ "#id32">3.7 User Authentication</a></h2>
+
+ <p>A volte conviene negoziare gli accessi ad un area di un
+ sito tramite autenticazione basata sull'accopiata <em>nome
+ utente / password</em>. Questo puo' venire utile per creare
+ una area download <em>intranet</em>, alla quale possano
+ accedere solo gli utenti previsti a prescindere dagli
+ indirizzi IP dei loro client. Per quanto esistano soluzioni
+ piu' granulari e sofisticate per ottenere questo,
+ <em>mod-auth</em> puo'essere sufficente. E mod auth non
+ richiede l'installazione di software aggiuntivi.</p>
+
+ <p>link: <a class="reference external" href=
+ "http://www.apacheweek.com/features/userauth">http://www.apacheweek.com/features/userauth</a></p>
+
+ <div class="section" id="definire-la-cartella">
+ <h3><a class="toc-backref" href=
+ "#id33">3.7.1 Definire la
+ cartella</a></h3>
- <p>Decidere quale sara' il <em>path</em> della cartella da
- sottoporre ad autentizazione:(e creiamo la cartella):</p>
+ <p>Decidere quale sara' il <em>path</em> della cartella
+ da sottoporre ad autentizazione:(e creiamo la
+ cartella):</p>
- <blockquote>
- mkdir /var/www/177.piffa.net/privata
- </blockquote>
- </div>
+ <blockquote>
+ <tt class="docutils literal"><span class=
+ "pre">mkdir</span> <span class=
+ "pre">/var/www/177.piffa.net/privata</span></tt>
+ </blockquote>
+ </div>
- <div class="section" id=
- "creazione-del-database-delle-passwords">
- <h2><a class="toc-backref" href=
- "#id34">3.8 Creazione del database delle
- passwords</a></h2>
-
- <p>Un modo semplice per gestire una database di <em>user-id
- / passwords</em> e' appoggiarsi all'utility <tt class=
- "docutils literal"><span class="pre">htpasswd</span></tt>
- di Apache. Questa crea un file in cui un <em>crypt</em>
- delle password viene associato agli utenti.</p>
-
- <p>Si dovra' decidere dove tenere questo file, la cosa
- importante e' che non sia disopnibile nel sito web, non
- deve essere scaricabile dai visitatori. Deve essere cioe'
- all'esterno della <em>DocumentRoot</em>: un buon posto
- potrebbe essere la /home dell'utente:</p>
- <pre class="literal-block">
+ <div class="section" id=
+ "creazione-del-database-delle-passwords">
+ <h3><a class="toc-backref" href=
+ "#id34">3.7.2 Creazione del database
+ delle passwords</a></h3>
+
+ <p>Un modo semplice per gestire una database di
+ <em>user-id / passwords</em> e' utilizzare l'utility
+ <tt class="docutils literal"><span class=
+ "pre">htpasswd</span></tt> di Apache. Questa crea un file
+ in cui un <em>crypt</em> delle password viene associato
+ agli utenti.</p>
+
+ <p>Si dovra' decidere dove tenere questo file, la cosa
+ importante e' che non sia visibile nel sito web: non deve
+ essere scaricabile dai visitatori. Deve essere cioe'
+ all'esterno della <em>DocumentRoot</em>: un buon posto
+ potrebbe essere la /home dell'utente.</p>
+
+ <p>Creiamo (con il <em>flag</em> <tt class=
+ "docutils literal"><span class="pre">-c</span></tt>) il
+ file <tt class="docutils literal"><span class=
+ "pre">/home/utente/passwords</span></tt> con l'utente
+ <tt class="docutils literal"><span class=
+ "pre">luca</span></tt>:</p>
+ <pre class="literal-block">
htpasswd -c /home/utente/passwords luca
</pre>
- <p>Creiamo (con il <em>flag</em> <tt class=
- "docutils literal"><span class="pre">-c</span></tt>) il
- file <tt class="docutils literal"><span class=
- "pre">/home/utente/passwords</span></tt> con l'utente
- <tt class="docutils literal"><span class=
- "pre">luca</span></tt>.</p>
- </div>
+ <p><tt class="docutils literal"><span class=
+ "pre">htpasswd</span></tt> ci chedera' la password da
+ associare all'utente <tt class=
+ "docutils literal"><span class="pre">luca</span></tt>.
+ Per sucessive modifiche della password o aggiunta di
+ nuovi utenti non sara' necessario usare il flag
+ <tt class="docutils literal"><span class=
+ "pre">-c</span></tt>.</p>
+ </div>
- <div class="section" id="id3">
- <h2><a class="toc-backref" href=
- "#id35">3.9 Configurazione di
- Apache</a></h2>
+ <div class="section" id="id3">
+ <h3><a class="toc-backref" href=
+ "#id35">3.7.3 Configurazione di
+ Apache</a></h3>
- <p>Ora possiamo passare alla ocnfigurazione vera e propria
- di Apache, ma con una novita': andremo a inserire la voce
- in un .htaccess.</p>
+ <p>Ora possiamo passare alla configurazione vera e
+ propria di Apache, ma con una novita': andremo a inserire
+ la voce in un <tt class="docutils literal"><span class=
+ "pre">.htaccess</span></tt> invece che modificare il file
+ di impostazione del virtual-host.</p>
- <p>/var/www/177.piffa.net/privata/.htaccess</p>
- <pre class="literal-block">
+ <p>Questo per motivi pratici: solo l'utente <em>root</em>
+ puo' modificare l'impostazione del virtual host nel file
+ <tt class="docutils literal"><span class=
+ "pre">/etc/apache2/sites-enabled/177.piffa.net</span></tt>,
+ ma spesso il motivo per cui creiamo i virtual hosts e'
+ ospitare i siti di altri utenti, che possono solo
+ pubblicare (generalmente tramite <em>FTP</em>) i loro
+ documenti nella loro <em>DocumentRoot</em>, senza poter
+ quindi modificare in alcun modo la configurazione del
+ virtual host.</p>
+
+ <p>Dando agli utenti la possibilita' di modificare
+ (<em>AllowOverride</em>) autonomamente alcuni parametri
+ (in questo caso solo l'<em>AuthConfig</em>) relativi al
+ funzionamenteo del loro spazio web ci togliera'
+ l'incombenza di dover intervenire suii vari virtual
+ host.</p>
+
+ <p>Abilitiamo l'AllowOverride nel file di configurazione
+ del virtual host per la sola directory <tt class=
+ "docutils literal"><span class=
+ "pre">privata</span></tt>:</p>
+ <pre class="literal-block">
+<VirtualHost *:80 >
+ ServerName 177.piffa.net
+ DocumentRoot /var/www/177.piffa.net/
+ ServerAdmin webmaster@177.piffa.net
+ <Directory "/var/www/177.piffa.net/privata">
+ AllowOverride AuthConfig
+ </Directory>
+</VirtualHost>
+</pre>
+
+ <p>Per rendere il cambiamento effettivo sara' necessario
+ fare un restart / reload di Apache.</p>
+
+ <p>Ora sara' possibile, anche per l'utente di sistema,
+ creare un fie <tt class="docutils literal"><span class=
+ "pre">.htaccess</span></tt> che sara' onorato da
+ Apache.</p>
+
+ <p>/var/www/177.piffa.net/privata/.htaccess</p>
+ <pre class="literal-block">
# Questo file viene incluso
# nella configurazione del sito web
# Messaggio visualizzato al prompt per l'autenticazione
require valid-user
</pre>
- <p>Si noti che non e' necessario fare ripartire Apache per
- onorare i cambiamenti (un utente non avrebbe la
- possibilita' di farlo!).</p>
+ <p>Si noti che non e' necessario fare ripartire Apache
+ per onorare i cambiamenti (un utente non avrebbe la
+ possibilita' di farlo!).</p>
+ </div>
</div>
<div class="section" id="cavets">
<h2><a class="toc-backref" href=
- "#id36">3.10 Cavets</a></h2>
+ "#id36">3.8 Cavets</a></h2>
<p>Problemi di cache:</p>
User Authentication
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+---------------------
A volte conviene negoziare gli accessi ad un area di un sito tramite autenticazione basata sull'accopiata *nome utente / password*. Questo puo' venire utile per creare una area download *intranet*, alla quale possano accedere solo gli utenti previsti a prescindere dagli indirizzi IP dei loro client. Per quanto esistano soluzioni piu' granulari e sofisticate per ottenere questo, *mod-auth* puo'essere sufficente. E mod auth non richiede l'installazione di software aggiuntivi.
link: http://www.apacheweek.com/features/userauth
Definire la cartella
------------------------
+~~~~~~~~~~~~~~~~~~~~~~
Decidere quale sara' il *path* della cartella da sottoporre ad autentizazione:(e creiamo la cartella):
- mkdir /var/www/177.piffa.net/privata
+ ``mkdir /var/www/177.piffa.net/privata``
Creazione del database delle passwords
----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Un modo semplice per gestire una database di *user-id / passwords* e' appoggiarsi all'utility ``htpasswd`` di Apache. Questa crea un file in cui un *crypt* delle password viene associato agli utenti.
+Un modo semplice per gestire una database di *user-id / passwords* e' utilizzare l'utility ``htpasswd`` di Apache. Questa crea un file in cui un *crypt* delle password viene associato agli utenti.
-Si dovra' decidere dove tenere questo file, la cosa importante e' che non sia disopnibile nel sito web, non deve essere scaricabile dai visitatori. Deve essere cioe' all'esterno della *DocumentRoot*: un buon posto potrebbe essere la /home dell'utente::
+Si dovra' decidere dove tenere questo file, la cosa importante e' che non sia visibile nel sito web: non deve essere scaricabile dai visitatori. Deve essere cioe' all'esterno della *DocumentRoot*: un buon posto potrebbe essere la /home dell'utente.
+Creiamo (con il *flag* ``-c``) il file ``/home/utente/passwords`` con l'utente ``luca``::
+
htpasswd -c /home/utente/passwords luca
-Creiamo (con il *flag* ``-c``) il file ``/home/utente/passwords`` con l'utente ``luca``.
+``htpasswd`` ci chedera' la password da associare all'utente ``luca``. Per sucessive modifiche della password o aggiunta di nuovi utenti non sara' necessario usare il flag ``-c``.
Configurazione di Apache
--------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Ora possiamo passare alla configurazione vera e propria di Apache, ma con una novita': andremo a inserire la voce in un ``.htaccess`` invece che modificare il file di impostazione del virtual-host.
+
+Questo per motivi pratici: solo l'utente *root* puo' modificare l'impostazione del virtual host nel file ``/etc/apache2/sites-enabled/177.piffa.net``, ma spesso il motivo per cui creiamo i virtual hosts e' ospitare i siti di altri utenti, che possono solo pubblicare (generalmente tramite *FTP*) i loro documenti nella loro *DocumentRoot*, senza poter quindi modificare in alcun modo la configurazione del virtual host.
+
+Dando agli utenti la possibilita' di modificare (*AllowOverride*) autonomamente alcuni parametri (in questo caso solo l'*AuthConfig*) relativi al funzionamenteo del loro spazio web ci togliera' l'incombenza di dover intervenire suii vari virtual host.
+
+Abilitiamo l'AllowOverride nel file di configurazione del virtual host per la sola directory ``privata``::
+
+ <VirtualHost *:80 >
+ ServerName 177.piffa.net
+ DocumentRoot /var/www/177.piffa.net/
+ ServerAdmin webmaster@177.piffa.net
+ <Directory "/var/www/177.piffa.net/privata">
+ AllowOverride AuthConfig
+ </Directory>
+ </VirtualHost>
+
+Per rendere il cambiamento effettivo sara' necessario fare un restart / reload di Apache.
-Ora possiamo passare alla ocnfigurazione vera e propria di Apache, ma con una novita': andremo a inserire la voce in un .htaccess.
+Ora sara' possibile, anche per l'utente di sistema, creare un fie ``.htaccess`` che sara' onorato da Apache.
/var/www/177.piffa.net/privata/.htaccess ::