Su Internet, quasi tutte le applicazioni hanno alcune parti che dovrebbero essere protette con una password come le directory che memorizzano i file di documenti riservati, i file pdf, ecc. In questo articolo, ti mostreremo come proteggere queste directory a livello di server con Apache htpasswd.
Cos'è htpasswd?
È un'utilità Apache che ti consente di proteggere una parte della tua applicazione o l'intera applicazione con nome utente e password.
Segui i passaggi seguenti per configurare htpasswd sul tuo server Ubuntu.
-
Installa le utility Apache2
È molto facile installare le utilità di apache2. Puoi farlo eseguendo i seguenti comandi sul tuo terminale.
$ sudo apt-get update
$ sudo apt-get install apache2-utils
-
Crea file Apache htpasswd
Una volta completata l'installazione, è necessario creare un file htpasswd per memorizzare le informazioni sull'utente.
$ sudo touch /etc/apache2/.htpasswd
Una volta creato il file, ora possiamo utilizzare gli utenti per il file htpasswd. Possiamo creare più utenti per più applicazioni
-
Aggiungi utente htpasswd
Aggiungere un utente a htpasswd è piuttosto semplice, devi solo eseguire il comando seguente per aggiungere l'utente.
$ sudo htpasswd /etc/apache2/.htpasswd USERNAME
Una volta inserito il comando sopra, ti verrà chiesto di impostare una password per quell'utente due volte. Basta inserire la password complessa e sei a posto.
Imposta la protezione Apache Htpasswd con VirtualHost
Il file host virtuale chiederà al browser Web Apache di reindirizzare la richiesta alla radice del documento specifica sul nome di dominio. Qui aggiungeremo alcune righe di codice per proteggere la directory specifica con password. Esegui il comando seguente per questo.
$ sudo nano /etc/apache2/sites-available/000-default.conf
Assicurati di avere il codice seguente all'interno. Con questo, la cartella di prova sarà protetta da password.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/test
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
</VirtualHost>
Accedi ora alla cartella dal browser e vedrai che ti verrà richiesta la password.