Nota: questo è un obiettivo d’esame RHCE 7.
Prerequisiti
Innanzitutto, seguire le istruzioni per installare un server Web Apache.
Quindi, crea una directory privata (chiamata qui privata):
# cd /var/www/html # mkdir private # echo "This is a test." > private/index.html # restorecon -R .
Esistono diversi modi per limitare l’accesso a questa directory:
1) directory private basate su host
Per consentire solo l’host test.example.com (aggiungere il nome/l’indirizzo IP nel file /etc/hosts se necessario) per accedere a una directory specifica (qui privata), modificare il file /etc/httpd/conf/httpd.conf e incollare le seguenti righe alla fine:
<Directory "/var/www/html/private"> AllowOverride None Options None Require host test.example.com </Directory>
Controlla il file di configurazione:
# apachectl configtest Syntax OK
2) directory private basate sull’utente
Per consentire solo a me di accedere a una directory specifica (qui privata), modificare il file /etc/httpd/conf/httpd.conf e incollare alla fine le seguenti righe:
<Directory "/var/www/html/private"> AuthType Basic AuthName "Password protected area" AuthUserFile /etc/httpd/conf/passwd Require user me </Directory>
Controlla il file di configurazione:
# apachectl configtest Syntax OK
Crea il file passwd e salvami la password:
# htpasswd -c /etc/httpd/conf/passwd me New password:your passwordRe-type new password:your passwordAdding password for user me # chmod 600 /etc/httpd/conf/passwd # chown apache:apache /etc/httpd/conf/passwd
Nota: il file .htpasswd può essere utilizzato localmente anziché il file httpd.conf in 1) e 2) per lo stesso scopo.
Qualunque sia l’opzione scelta, riavvia il servizio httpd:
# systemctl restart httpd
Controllo della configurazione
Controlla il servizio httpd:
# yum install -y curl # curl -u user:password http://localhost
o
# yum install -y elinks # elinks http://localhost/private
Suggerimento utile
Se si dimentica la sintassi di alcune direttive di Apache, installare il pacchetto httpd-manual e sfogliare la documentazione nella directory /usr/share/httpd/manual/howto:
# yum install -y httpd-manual # elinks /usr/share/httpd/manual/howto/auth.html