Autenticazione · 5 min read · Jan 04, 2026

.htaccess Basata Autenticazione Su Sottodirectory

.htaccess Basata Autenticazione Su Sottodirectory

Autore: Nayyar Ahmad

Contatto: nayyares AT gmail DOT com

Homepage: www.cbtcandy.org

Dedica: A Baji, per tutti gli sforzi che ha fatto per me.

Prefazione:

.htaccess è utilizzato per fornire la possibilità di cambiare la configurazione per directory, questo file può contenere una o più direttive che saranno applicate alla directory che contiene il file .htaccess.

.htaccess è un nome popolare per questo file di modifica della configurazione, puoi cambiare questo nome predefinito modificando il parametro AccessFileName nel file di configurazione di Apache. cioè.

AccessFileName .anyname

In questo howto, prenderò uno scenario fittizio di due sottodirectory di livello parallelo e implementerò l’autenticazione con password su entrambe. Questo significa che solo quegli utenti possono accedere a queste directory che hanno il nome utente e la password corretti.

Quindi inizia :)

Qui presumo che la tua directory DocumentRoot sia /var/www/html, ma se hai una configurazione VirtualHost o anche Apache è configurato su un’altra directory radice, puoi regolare questo secondo la tua situazione.

Nota: Prenderò due nomi fittizi per queste directory come test-dir1 e test-dir2.

1 Creazione della Directory:

$ cd /var/www/html
$ mkdir test-dir1
$ mkdir test-dir2

2 Creazione del File HTML di Test:

Creando un file html nella prima directory.

$ cd /var/www/html/test-dir1
$ cat > index.htm

| PAGINA DI TEST IN TEST-DIR1. |

Creando un file html nella seconda directory.

$ cd /var/www/html/test-dir2
$ cat > index.htm

| PAGINA DI TEST IN TEST-DIR2. |

3 Navigazione delle Pagine di Test:

Ora puoi navigare e testare se le pagine sono disponibili o meno, aprendo un qualsiasi browser web, a me piace Firefox (perché è fantastico :) ) e digitando:

http://localhost/test-dir1/

Questo mostrerà la pagina di test della prima directory, e

http://localhost/test-dir2/

mostrerà la seconda pagina di test in test-dir2.

Se riesci a vedere entrambe le pagine, significa che sei quasi pronto per utilizzare .htaccess.

4 Creazione del File .htaccess:

$ cd /var/www/html/test-dir1
$ vi .htaccess

Scrivi le seguenti righe in questo file:

| AuthName "Utenti Autorizzati Solo." AuthType Basic AuthUserFile /etc/httpd/conf/.htpasswd require user testusr |

Ora spiegherò quali righe magiche abbiamo scritto in questo file:

Il parametro AuthName definisce semplicemente il titolo della casella di inserimento della password quando l’utente effettua il login, mentre l’AuthType indica al server quale tipo di elaborazione è in uso, e Basic è il più comune e perfettamente adeguato per quasi qualsiasi scopo. AuthUserFile è utilizzato per definire la posizione del file .htpasswd, questo file contiene la password dell’utente che deve essere autenticato nel file .htaccess. require user è utilizzato per identificare l’utente fidato, se ci sono più di un utente fidato, puoi specificare i loro nomi in un elenco separato da spazi.

Ora, per rendere test-dir2 protetta da .htaccess, dobbiamo copiarla da test-dir1 a test-dir2 ** con il seguente comando:

$ cp /var/www/html/test-dir1/.htaccess /var/www/html/test-dir2/

5 Creazione dell’Utente:

Qui creeremo un utente di test per controllare il nostro .htaccess:)

$ adduser testusr
$ passwd testusr

6 Informare Apache sugli Utenti:

Ora dobbiamo informare Apache riguardo l’utente e la sua password, ma prima di passare a questo passaggio ho un dovere sociale, cioè spiegare la differenza tra installazione Apache RPM e da sorgente. :) Se hai installato Apache da RPM, installerà tutti i comandi correlati nella tua /usr/local/bin, quindi nessun problema, puoi dare il comando htpasswd ovunque nel tuo sistema, ma se hai installato Apache da sorgente, devi trovare la directory bin di Apache per eseguire il comando htpasswd. In questo HowTo darò entrambi i modi, ecco:

$ htpasswd -c /etc/httpd/conf/.htpasswd testusr

Il comando sopra funzionerà se hai htpasswd nella tua /usr/local/bin e ciò accade se installi Apache da RPM. /etc/httpd/conf/.htpasswd è la posizione del file che conterrà la password dell’utente autenticato/fidato.

OPPURE

$ cd /apache/bin/
$ ./htpasswd -c /etc/httpd/conf/.htpasswd testusr

I comandi sopra sono corretti se hai installato Apache da sorgente, $ cd /apache/bin può essere regolato secondo il tuo sistema, poiché potresti averlo installato altrove.

7 Permessi del File .htpasswd:

Dobbiamo impostare i permessi del file .htpasswd e rendere l’utente apache il proprietario di questo file.

$ chown apache.apache /etc/httpd/conf/.htpasswd

8 Modifica di httpd.conf:

Ora dobbiamo modificare il httpd.conf, poiché Apache deve essere informato riguardo .htaccess, qui cambieremo AllowOverride All | none in Authconfig, ora ci sono due casi, uno se stai ospitando solo un sito e l’altro se hai VirtualHost, ecco il Primo Caso:

In questo caso, abbiamo solo un tag Directory nel file httpd.conf poiché stiamo ospitando solo un sito, quindi modificheremo il tag per /var/www/html.

| AllowOverride AuthConfig Order allow,deny Allow from all |

Ora per il secondo caso, quando abbiamo diversi siti ospitati, cioè VirtualHost:

| DocumentRoot /var/www/html/cbtcandy ServerName www.cbtcandy.org AllowOverride AuthConfig Order allow,deny Allow from all Options -Indexes |

9 Riavvio di Apache:

Ora devi riavviare il server Apache per ricaricare la configurazione.

Per sistemi basati su RPM:

$ service httpd restart

Per sistemi basati su sorgente, regola il percorso della directory bin di Apache.

$ /apache/bin/apachectl restart

10 Test:

Ora tutto è pronto per essere testato, apri di nuovo il tuo browser preferito e prova ad aprire i seguenti link:

http://localhost/test-dir1/

e

http://localhost/test-dir2/

Nota: Quando navighi su questi link ti verrà chiesto il nome utente e la password, una volta forniti ti porterà alla pagina di test. Ma una volta che accedi a una directory non ti verrà richiesta di nuovo la username e la password per l’altra directory di test, poiché Apache non chiederà di nuovo la username e la password per directory di livello uguale o sottodirectory. Quindi, una volta autenticato, le directory figlie e parallele sono aperte all’uso. Ma se vuoi comunque controllarle, usa links* un browser testuale, è quello che faccio per controllarle.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.