Apache Tips

Autenticazione, redirect, SSL etc etc

Per limitare l'accesso ad una particolare directory da parte di un utente è necessario utilizzare un sistema di autenticazione.
Per autenticare in maniera "sicura" è necessario che lo scambio dei dati user e password avvenga in maniera criptata con SSL.

Nella configurazione seguente la directory da proteggere verrà chiamata con il nome fittizio"dir_da_prot", mentre la DocumentRoot di apache è configurata in /var/www.

Creare dentro /dir_da_prot il file .htaccess con queste direttive:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


Creare il file .htpassword (vedere la documentazione di Apache)

Modificare il file /etc/apache2/sites-available/nome_del_file_di_conf_SSL (ovviamente sostituire a nome_del_file_di_conf_SSL il nome del vostro file di configurazione) aggiungendo la seguente sezione:

<Directory /var/www/dir_da_prot>
AuthName "Area Protetta"
AuthType Basic
AuthUserFile /var/www/dir_da_prot/.htpasswd
require valid-user
</Directory>


Riavviare apache2.

A questo punto appena verrà richiamato nel browser l'indirizzo http://www.sito.com/dir_da_prot il server reindirizzerà la richiesta verso https://www.sito.com/dir_da_prot, dopodichè si aprirà la maschera con la richesta di autenticazione.

That's all.