Per proteggere con password il contenuto di una directory e di tutte le sue subdirectory, procedere come segue:
- Creare un file chiamato .htaccess (attenzione al punto iniziale!) nella directory che si desidera proteggere. Il file deve contenere le seguenti linee:
AuthUserFile /UNA-DIRECTORY/.htpasswd
AuthGroupFile /UNA-DIRECTORY/.htgroup
AuthName ByPassword
AuthType Basic
<Limit GET>
require group GRUPPI-AUTORIZZATI
</Limit>Al posto di UNA-DIRECTORY inserire il path di una directory dove risiederanno il file con le password per l'accesso alle pagine (.htpasswd) e quello con i gruppi di utenti (.htgroup). Si consiglia di usare una directory non accessibile dal Web, anche se ciò non è obbligatorio.
Al posto di GRUPPI-AUTORIZZATI va messa la lista dei gruppi di utenti (ved. sotto) che saranno autorizzati, tramite l'immissione della password, ad accedere alle pagine. I gruppi (se più di uno) vanno separati con uno spazio.
require group authorized-people
require group gruppo1 gruppo2 gruppo3 - Creare il file /UNA-DIRECTORY/.htgroup contenente la lista dei gruppi di utenti cui si vuole permettere l'accesso alle pagine, ed i nomi degli utenti (che non hanno nulla in comune con gli username del sistema su cui vi trovate!):
authorized-people: john paul george ringo
- Creare il file /UNA-DIRECTORY/.htpasswd tramite l'utility htpasswd. L'utility è disponibile solo su alcuni sistemi (ad es. unixts.ts.infn.it):
$ htpasswd -c /UNA-DIRECTORY/.htpasswd ringo
Viene richiesta la password da definire per l'utente "ringo" L'opzione "-c" va specificata solo quando il file .htpasswd deve essere creato. Se si desidera solo aggiungere altre entry per nuovi utenti, l'opzione -c NON deve essere usata.
Ad esempio, per definire le password per gli utenti john, paul e george, partendo da zero, si deve fare:
$ htpasswd -c /UNA-DIRECTORY/.htpasswd john
$ htpasswd /UNA-DIRECTORY/.htpasswd paul
$ htpasswd /UNA-DIRECTORY/.htpasswd george