From 0ddcb259371611c96bdce6babd146ee977420d1d Mon Sep 17 00:00:00 2001
From: Andrea Manni
+
+
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.
- - -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
+ +Decidere quale sara' il path della cartella da - sottoporre ad autentizazione:(e creiamo 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 ++
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.
- -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:
-+++3.7.2 Creazione del database + delle passwords
+ +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 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.
+
Ora possiamo passare alla ocnfigurazione vera e propria - di Apache, ma con una novita': andremo a inserire la voce - in un .htaccess.
+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.
-/var/www/177.piffa.net/privata/.htaccess
-+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 sara' possibile, anche per l'utente di sistema, + creare un fie .htaccess che sara' onorato da + Apache.
+ +/var/www/177.piffa.net/privata/.htaccess
+# 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-Si noti che non e' necessario fare ripartire Apache per - onorare i cambiamenti (un utente non avrebbe la - possibilita' di farlo!).
+Si noti che non e' necessario fare ripartire Apache + per onorare i cambiamenti (un utente non avrebbe la + possibilita' di farlo!).
+
Problemi di cache:
diff --git a/source/servizi.txt b/source/servizi.txt index 694de66..0deda4b 100644 --- a/source/servizi.txt +++ b/source/servizi.txt @@ -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``:: + +