Proteggere con password una directory in Apache
Ci sono svariati motivi per voler proteggere una directory specifica di un vostro server attraverso l’autenticazione propria di Apache stesso. Tutto si realizza in tre semplici passi.
1. create un file dal nome .htpasswd (notare il punto che fa parte del nome, è un file nascosto) col comando
htpasswd -c .htpasswd <nome utente>
(dovrete digitare due volte la password) e mettetelo nella directory radice del server Apache (esempio /var/www/html), o meglio ancora più in alto, esempio se avete un server Redhat con domini virtualizzati mettetelo dentro /var/www/vhosts/<nome vostro dominio> ;
2. create un file dal nome .htaccess dentro la directory che volete proteggere, con un contenuto come questo
AuthType Basic
AuthName “Accesso protetto”
Require valid-user
AuthUserFile <percorso del file .htpasswd>
dove potete mettere ciò che vi pare al posto di Accesso protetto e dovete scrivere anche il giusto percorso del file .htpasswd come suggerito prima;
3. aprite in modifica da superutente il file httpd.conf, o l’equivalente in caso di domini virtualizzati (spesso si trova sotto /etc/httpd/conf/ o dentro la dir conf del dominio), cercate il tag Directory che riguarda la radice del vostro server (vedi sopra, ad esempio <Directory /var/www/vhosts/<nome dominio>>) e nella direttiva AllowOverride assicuratevi che ci sia scritto All.
Questo passaggio potrebbe non servire o non esservi permesso, se non potete diventare root.
A questo punto fare ripartire Apache e la directory da voi protetta vi chiederà sempre nome utente e password.
Per aggiungere altri utenti andate nella dir dove avete messo .htpasswd e usate il comando
htpasswd <nome utente>
specificando la password quando ve la chiede.
Per proteggere altre dir non dovete fare altro che ripetere l’operazione 2 dentro queste.
Lascia un commento