Vyhledávání na webu

Zakázat výpis webového adresáře Apache pomocí souboru .htaccess


Zabezpečení vašeho webového serveru Apache je jedním z nejdůležitějších úkolů, zvláště když nastavujete nový web.

Pokud například vytvoříte nový adresář webových stránek s názvem „tecmint“ na serveru Apache (/var/www/tecmint nebo /var/www/html/ tecmint) a zapomněli jste do něj umístit soubor „index.html“, možná vás překvapí, že všichni návštěvníci vašeho webu mohou jednoduše získat úplný seznam všech vašich důležitých souborů a složek zadáním http://www.example.com/tecmint do prohlížeče.

V tomto článku vám ukážeme, jak zakázat nebo zabránit výpisu adresářů vašeho webového serveru Apache pomocí souboru .htaccess.

Takto se zobrazí seznam adresářů vašim návštěvníkům, když v něm nebude přítomen index.html.

Pro začátek, .htaccess (neboli hypertextový přístup) je soubor, který umožňuje vlastníkovi webových stránek ovládat proměnné prostředí serveru a také další důležité možnosti pro vylepšení funkčnosti jeho/ její webové stránky.

Další informace o tomto důležitém souboru naleznete v následujících článcích o zabezpečení webového serveru Apache pomocí metody .htaccess:

  1. 25 triků Apache Htaccess pro zabezpečení webového serveru Apache
  2. Webové adresáře Apache chránit heslem pomocí souboru .htaccess

Pomocí této jednoduché metody je soubor .htaccess vytvořen v libovolném a/nebo každém adresáři ve stromu adresářů webových stránek a poskytuje funkce pro nejvyšší adresář, podadresáře a soubory v nich.

Nejprve aktivujte soubor .htaccess pro váš web v hlavním konfiguračním souboru Apache.

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

Poté vyhledejte sekci níže, kde musí být hodnota direktivy AllowOverride nastavena na AllowOverride All.

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

Pokud však máte existující soubor .htaccess, vytvořte si jeho zálohu následovně; za předpokladu, že jej máte v /var/www/html/tecmint/( a chcete zakázat výpis tohoto adresáře):

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

Poté jej můžete otevřít (nebo vytvořit) v konkrétním adresáři pro úpravy pomocí svého oblíbeného editoru a přidáním řádku níže vypnout výpis adresářů Apache:

Options -Indexes 

Dále restartujte webový server 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

Nyní ověřte výsledek zadáním http://www.example.com/tecmint do prohlížeče, měla by se zobrazit zpráva podobná následující.

To je vše! V tomto článku jsme popsali, jak zakázat výpis adresářů na webovém serveru Apache pomocí souboru .htaccess. V nadcházejících článcích se také budeme věnovat dvěma dalším užitečným a snadným metodám pro stejný účel, do té doby zůstaňte ve spojení.

Jako obvykle použijte níže uvedený formulář zpětné vazby a pošlete nám svůj názor na tento tutoriál.