]> git.piffa.net Git - doc/.git/commitdiff
Apache authconfig
authorAndrea Manni <andrea@andreamanni.com>
Tue, 12 May 2009 11:15:30 +0000 (13:15 +0200)
committerAndrea Manni <andrea@andreamanni.com>
Tue, 12 May 2009 11:15:30 +0000 (13:15 +0200)
servizi.html
source/servizi.txt

index 1c57465c05d5c4a7f548c0265e1a6d71532baa85..6a69653f959c2985a511dcb9c4b9fbaa13eeeefb 100644 (file)
                 "#limiti-su-base-ip" id="id31" name=
                 "id31">3.6.1&nbsp;&nbsp;&nbsp;Limiti su base
                 ip</a></li>
-
-                <li><a class="reference internal" href=
-                "#user-authentication" id="id32" name=
-                "id32">3.6.2&nbsp;&nbsp;&nbsp;User
-                Authentication</a></li>
               </ul>
             </li>
 
-            <li><a class="reference internal" href=
-            "#definire-la-cartella" id="id33" name=
-            "id33">3.7&nbsp;&nbsp;&nbsp;Definire la
-            cartella</a></li>
+            <li>
+              <a class="reference internal" href=
+              "#user-authentication" id="id32" name=
+              "id32">3.7&nbsp;&nbsp;&nbsp;User Authentication</a>
 
-            <li><a class="reference internal" href=
-            "#creazione-del-database-delle-passwords" id="id34"
-            name="id34">3.8&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;Definire la
+                cartella</a></li>
 
-            <li><a class="reference internal" href="#id3" id="id35"
-            name="id35">3.9&nbsp;&nbsp;&nbsp;Configurazione di
-            Apache</a></li>
+                <li><a class="reference internal" href=
+                "#creazione-del-database-delle-passwords" id="id34"
+                name="id34">3.7.2&nbsp;&nbsp;&nbsp;Creazione del
+                database delle passwords</a></li>
+
+                <li><a class="reference internal" href="#id3" id=
+                "id35" name=
+                "id35">3.7.3&nbsp;&nbsp;&nbsp;Configurazione di
+                Apache</a></li>
+              </ul>
+            </li>
 
             <li><a class="reference internal" href="#cavets" id=
-            "id36" name=
-            "id36">3.10&nbsp;&nbsp;&nbsp;Cavets</a></li>
+            "id36" name="id36">3.8&nbsp;&nbsp;&nbsp;Cavets</a></li>
           </ul>
         </li>
 
@@ -1595,80 +1598,134 @@ php5-pgsql phppgadmin
           "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&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;Definire la cartella</a></h2>
+        "#id32">3.7&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;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&nbsp;&nbsp;&nbsp;Configurazione di
-        Apache</a></h2>
+        <div class="section" id="id3">
+          <h3><a class="toc-backref" href=
+          "#id35">3.7.3&nbsp;&nbsp;&nbsp;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">
+&lt;VirtualHost *:80 &gt;
+    ServerName 177.piffa.net
+    DocumentRoot /var/www/177.piffa.net/
+    ServerAdmin webmaster@177.piffa.net
+    &lt;Directory "/var/www/177.piffa.net/privata"&gt;
+        AllowOverride AuthConfig
+    &lt;/Directory&gt;
+&lt;/VirtualHost&gt;
+</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
@@ -1684,14 +1741,15 @@ AuthUserFile  /home/utente/passwords
 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&nbsp;&nbsp;&nbsp;Cavets</a></h2>
+        "#id36">3.8&nbsp;&nbsp;&nbsp;Cavets</a></h2>
 
         <p>Problemi di cache:</p>
 
index 694de6614c7a53525e73a28fa61d3b6e16191daa..0deda4b88e481ad3d54500215f075beca8217e30 100644 (file)
@@ -487,7 +487,7 @@ Si tenga pero' conto che e' relativamente facile per un malintenzionato cambiare
 
 
 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.
 
@@ -495,27 +495,48 @@ A volte conviene negoziare gli accessi ad un area di un sito tramite autenticazi
 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 ::