Desactiveu la llista de directoris web d'Apache mitjançant el fitxer .htaccess


Protegir el vostre servidor web Apache és una de les tasques més importants, especialment quan configureu un lloc web nou.

Per exemple, si creeu un nou directori de llocs web anomenat tecmint al vostre servidor Apache (/var/www/tecmint o /var/www/html/tecmint) i us oblideu de col·locar-hi un fitxer index.html, pot sorprendre saber que tots els visitants del vostre lloc web poden obtenir una llista completa de tots els vostres fitxers i carpetes importants simplement escrivint http://www.example.com/tecmint al navegador.

En aquest article, us mostrarem com desactivar o impedir la llista de directoris del vostre servidor web Apache mitjançant el fitxer .htaccess.

Així és com es mostrarà la llista de directoris als vostres visitants quan index.html no hi estigui present.

Per començar, .htaccess (o accés d'hipertext) és un fitxer que permet al propietari d'un lloc web controlar les variables d'entorn del servidor, així com altres opcions vitals per millorar la funcionalitat dels seus llocs web.

Per obtenir informació addicional sobre aquest fitxer important, llegiu els articles següents per protegir el vostre servidor web Apache mitjançant el mètode .htaccess:

  1. 25 trucs d'Apache Htaccess per assegurar el servidor web Apache
  2. Protegeix els directoris web d'Apache amb contrasenya mitjançant el fitxer .htaccess

Mitjançant aquest mètode senzill, el fitxer .htaccess es crea a qualsevol i/o a cada directori de l'arbre de directoris del lloc web i proporciona funcions al directori superior, subdirectoris i fitxers que hi ha dins.

En primer lloc, activeu el fitxer .htaccess per al vostre lloc web al fitxer de configuració principal d'apache.

$ sudo vi /etc/apache2/apache2.conf    #On Debian/Ubuntu systems
$ sudo vi /etc/httpd/conf/httpd.conf   #On RHEL/CentOS systems

A continuació, cerqueu la secció següent, on el valor de la directiva AllowOverride s'ha d'establir en AllowOverride All.

<Directory /var/www/html/>
       Options Indexes FollowSymLinks
       AllowOverride All
</Directory>

Tanmateix, si teniu un fitxer .htaccess existent, feu-ne una còpia de seguretat de la manera següent; suposant que el teniu a /var/www/html/tecmint/( i voleu desactivar la llista d'aquest directori):

$ sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig  

A continuació, podeu obrir-lo (o crear-lo) al directori particular per modificar-lo amb el vostre editor preferit i afegir la línia següent per desactivar la llista de directoris Apache:

Options -Indexes 

A continuació, reinicieu el servidor web Apache:

-------- On SystemD based systems -------- 
$ sudo systemctl restart apache2
$ sudo systemctl restart httpd

-------- On SysVInit based systems -------- 
$ sudo /etc/init.d/apache2 restart 
$ sudo /etc/init.d/httpd restart

Ara verifiqueu el resultat escrivint http://www.example.com/tecmint al navegador, haureu de rebre un missatge similar al següent.

Això és tot! En aquest article, vam descriure com desactivar la llista de directoris al servidor web Apache mitjançant el fitxer .htaccess. També cobrirem altres dos mètodes útils i fàcils amb el mateix propòsit en propers articles, fins aleshores, manteniu-vos connectats.

Com és habitual, feu servir el formulari de comentaris que trobareu a continuació per enviar-nos les vostres opinions sobre aquest tutorial.