htaccess – zaheslování obsahu

Tento komunitní článek je aktuální k 29. 8. 2019.

Na webhostingu WEDOS lze snadným způsobem opatřit adresář a jeho veškerý obsah heslem, takže se k němu dostane návštěvník jen po zadání správného jména a hesla.

V následujícím příkladu zaheslujeme kompletně celý obsah webhostingu. Budou k tomu potřeba dva soubory, /www/.htaccess a /www/.htpasswd

V adresáři /www vytvořte soubor .htaccess s následujícím obsahem:

AuthUserFile /data/web/virtuals/XXXXXX/virtual/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Nazev tajne casti stranek"
AuthType Basic
Require valid-user
Order deny,allow

V cestě k souboru .htpasswd na prvním řádku je potřeba nahradit XXXXXXX číselným ID vašeho webhostingu (toto číslo je součástí vašich přihlašovacích jmen k FTP a databázím). Tedy například pokud je váš FTP účet w12345, použijte 12345.

Poté je potřeba vytvořit v adresáři /www soubor /.htpasswd, ve kterém bude uložen seznam uživatelů s jejich hesly. Uvádí se jeden uživatel na řádek – na řádku se uvede přihlašovací jméno, dvojtečka a následuje heslo v hashované formě. Pro vytvoření obsahu souboru .htpasswd použijte htpasswd generator.

Příklad obsahu souboru .htpasswd:

karel:$apr1$5cK3b4YD$qVGM7CbNIrjTScxrv2TdQ/

Soubory uložte a tím je vše hotovo, při přístupu na danou URL adresu si prohlížeč vyžádá zadání jména a hesla.

Nastavení jen pro doménu / subdoménu

Nastavení jen pro jednu doménu / subdoménu je zcela identické, jen se upraví cesty k doménám.

V adresáři domény či subdomény, například /www/domains/domena.tld nebo www/subdom/nazev vytvořte soubor .htaccess s následujícím obsahem:

AuthUserFile /data/web/virtuals/XXXXXX/virtual/www/subdom/nazev/.htpasswd
AuthGroupFile /dev/null
AuthName "Nazev tajne casti stranek"
AuthType Basic
Require valid-user
Order deny,allow

V cestě k souboru .htpasswd na prvním řádku je potřeba nahradit XXXXXXX číselným ID vašeho webhostingu (toto číslo je součástí vašich přihlašovacích jmen k FTP a databázím). Tedy například pokud je váš FTP účet w12345, použijte 12345. Dále nezapomeňte uvést správnou cestu.

Časté problémy

Chyba 500 – Internal server error

Ujistěte se, že nedošlo k překlepu v cestě k souboru, zejména by mělo odpovídat ID webhostingu. Číselné ID webhostingu najdete třeba i v FTP uživateli. V tomto postupu používejte jen ID (bez písmena w na začátku).

Také se ujistěte, že soubor .htpasswd je na správném místě. Náš postup počítá se souborem /www/tajne/.htpasswd

Můžete mít soubor jinde, ale je třeba to zohlednit v kódu.