Http Basic Auth s Apache serverem a .htaccess
Jednoduchý a rychlý způsob jak schovat webové stránky za přihlášení, pokud máme webový server Apache.
Při vývoji webových stránek je občas nutné schovat je jako celek za nějaké jednoduché přihlášení. Může to být z testovacích důvodů nebo v situacích, kdy se nevyplatí vyvinout složitější autentikační mechanismus.
Nastavení Http Basic Authentication je velmi jednoduché a rychlé. V podstatě nám stačí pouze vygenerovat si soubor s přihlašovacími údaji a vložit pár řádků do konfigurace Apache - ať už přímo do definice Virtualhostu nebo do souboru .htaccess.
Vytvoření souboru s přihlašovacími údaji je snadné. Můžeme k tomu buďto využít nějakou online službu, např. https://hostingcanada.org/htpasswd-generator/ nebo využít příkaz htpasswd
:
$ htpasswd -bcB .htpasswd username password
Tímto vygenerujeme soubor .htpasswd přímo v aktuálním adresáři a použité parametry -bcB definují:
- b - heslo zadáváme přímo v příkazu
- c - požadovaný soubor chceme vytvořit
- B - pro šifrování hesla použijeme bcrypt
Poté již zbývá pouze nastavit vyžadování autentikace v Apache serveru, kde musí být zapnutý auth_basic modul. Pokud jej nemáme zapnutý a máme root přístup, lze jej jednoduše zapnout příkazem:
a2enmod auth_basic
Vlastní kód pro nastavení autentikace je možné vložit do definice Virtualhostu do direktivy <Directory>
:
<Directory /some/path>
...
AuthType Basic
AuthName "Login required"
AuthUserFile /absolute/path/to/.htpasswd
Require valid-user
# Pokud chcete povolit přihlášení pouze konkrétnímu uživateli
# Require user username
</Directory>
Je důležité nastavit cestu k autentikačnímu souboru jako absolutní.
Pokud jej budeme vkládat do .htaccessu, je nutné zkontrolovat, že pro daný <Directory>
máme povolenou změnu nastavení v htaccessu. Directivu AllowOverride
musíme nastavit buďto na AuthConfig
nebo All
:
<Directory /some/path>
...
AllowOverride AuthConfig
</Directory>
Poté stačí do .htaccessu přidat:
AuthType Basic
AuthName "Login required"
AuthUserFile /absolute/path/to/.htpasswd
Require valid-user
Basic Authentication v Apache serveru nabízí samozřejmě mnohem více funkcí a možností nastavení. Kompletní dokumentaci si lze projít v oficiální dokumentaci
Mohlo by vás také zajímat
Upgrade PHP v ubuntu včetně již instalovaných modulů
Jednoduchý způsob, jak v ubuntu/debianu snadno povýšit verzi PHP včetně všech již instalovaných modulů.
Číst víceVypnutí přihlášení uživatele heslem v linuxu
Často se hodí mít u některých uživatelů v linuxovém systému vypnuté vzdálené přihlášení heslem a povolené pouze ssh certifikátem. Zde je návod jak na to.
Číst vícePřesunutí běžících procesů do Tmuxu
Jednoduchý návod jak přesunout dlouho běžící proces z vaší konzole do Tmuxu
Číst vícePotřebujete více informací?
Zpráva byla úspěšně odeslána.
Děkujeme
Omlouváme se, ale zprávu se nepovedlo odeslat.
Budeme rádi, když nám o tomto dáte vědět na info@id-sign.com