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:
- 25 triků Apache Htaccess pro zabezpečení webového serveru Apache
- 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.