Co je soubor htaccess?
.htaccess soubor v Apache je nástroj, který umožňuje konfigurace na úrovni adresářů a podadresářů. Pomocí .htaccess umožňuje konfigurovat oprávnění webových stránek beze změny konfiguračních souborů serveru.
Tento tutoriál vám ukáže, jak nastavit a povolit htaccess na Apache. Také uvádí, jak omezit přístup ke konkrétním lokalizacím na serveru, spravovat IP adresy a přesměrovat provoz.
Předpoklady
- Fungující webový server Apache
- Přístup k oknu terminálu/příkazovému řádku
- Přístup k uživatelskému účtu s právy sudo
- Textový editor, například N ano , ve výchozím nastavení zahrnuto
Krok 1:Povolte Apache .htaccess
Ve výchozím nastavení je .htaccess soubor není povolen.
1. Otevřete výchozí konfigurační soubor hostitele zadáním následujícího příkazu do terminálu:
sudo nano /etc/apache2/sites-available/default
2. Najděte část označenou
V této části změňte AllowOverride None
vstup pro všechny:
AllowOverride All
Uložte soubor a ukončete.
3. Dále restartujte služba Apache:
sudo systemctl apache2 restart
Krok 2:Vytvořte soubor .htaccess
Stejně jako většina softwarových balíků pro Linux funguje Apache na konfiguračních souborech. .htaccess soubor je jedním z nich. Funguje tak, že specifikujete nastavení spolu s hodnotou.
Chcete-li vytvořit a otevřít soubor .htaccess soubor pro úpravu, zadejte:
sudo nano /var/www/my_website.com/.htaccess
Nahraďte my_web s názvem vašeho skutečného webu. Pokud tento soubor neexistuje, váš textový editor jej vytvoří.
Krok 3:Omezte seznamy adresářů
Na vašem serveru mohou být místa, ke kterým chcete omezit přístup. Můžete to udělat vytvořením seznamu uživatelských jmen a hesel, která mají oprávnění k přístupu.
1. Začněte vytvořením nového souboru .htpasswd v jiném adresáři:
sudo nano /user/safe_location/.htpasswd
Zadejte uživatelské jméno a heslo pro každého uživatele, kterého chcete vytvořit. Ujistěte se, žepoužíváte silná hesla a zadejte pouze jeden pár uživatelského jména a hesla na řádek.
Uložte soubor a ukončete.
2. Další úpravou souboru .htaccess povolte ověřování :
AuthUserFile /user/safe_location/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
Nahraďte /user/safe_location/htpasswd s místem dle vašeho výběru. Z bezpečnostních důvodů jej neukládejte do stejného adresáře jako váš webový obsah.
AuthUserFile
- Toto nastaví umístění pro váš soubor .htpasswd.
AuthGroupFile
- Nepoužíváme skupinu, takže toto je zástupný symbol.
AuthName
- Toto je výzva pro uživatele – můžete přeformulovat, pokud chcete.
AuthType
- Typ použité autentizace – toto neměňte.
Require valid-user
– Umožňuje přihlášení libovolnému z několika oprávněných osob. Můžete to změnit na Vyžadovat uživatele new_user omezit přístup pouze na někoho s uživatelským jménem new_user .
Správa IP adres
IP adresy můžete spravovat mnoha způsoby:
- Povolit pouze konkrétní adresy IP.
- Blokovat konkrétní adresy IP.
- Blokovat návštěvníky pomocí referreru.
Povolit adresy IP
Chcete-li povolit adresy IP, můžete přepnout chování tak, aby bylo povoleno několik určených IP adres a zbytek zablokovat.
Zadejte příkazy:
order deny, allow
allow from 192.168.0.54
allow from 192.168.0
Blokovat adresy IP
Chcete-li blokovat IP adresy v htaccess , zadejte:order allow, deny
Chcete-li zablokovat jednu IP adresu, zadejte následující kód:deny from 192.168.0.54
Pokud ponecháte poslední číslici mimo, zablokují se všechny IP adresy v rozsahu 0 až 255:
Příklad:deny from 192.168.0
Blokovat návštěvníky podle doporučení
Možná budete chtít zabránit přesměrování lidí z konkrétního webu na váš server. To může být užitečné, pokud chcete izolovat vzorce provozu. Můžete jej také použít, pokud jste získávali nadměrný provoz serveru z pochybného zdroje.
Otevřete soubor .htaccess soubor a přidejte následující blok:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]
RewriteRule .* - [F]
NC
možnost nařizuje ignorovat velká nebo malá písmena, aby pravidlo nebylo možné obejít zadáním BlockedDomain.com .
Pokud chcete přidat další domény, mějte na paměti následující:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} blockeddomain2\.com
RewriteRule .* - [F]
OR
příznak říká systému, že jste ještě neskončili s přidáváním blokovaných referrerů. U poslední položky tuto možnost vynechejte.
Přesměrování provozu
Můžete použít.htaccess soubor k přesměrování provozu.
Otevřete soubor a zadejte následující:
Redirect301/Other_Website.com/index.html/My_Website.com/index.html
Tento příkaz převezme veškerý provoz, který hledá Other_Website.com a přesměruje jej na My_Website.com .
Nastavit stránku 404
Můžete použít .htaccess soubor pro nasměrování základních funkcí do nového umístění. Jedním z příkladů je stránka 404 .
1. Otevřete soubor .htaccess soubor a zadejte:
ErrorDocument 404 /404.html
Tento řádek říká systému, aby se podíval do adresáře s obsahem webu pro /404.html soubor jako chybovou stránku.
2. Vytvořte stránku 404 pomocí tohoto příkazu:
sudo nano cd /var/www/My_Website.com/public.html/404.html
Tím by se měl otevřít soubor 404.htm l soubor ve vašem textovém editoru.
3. Dále přidejte následující kód:
<!doctype html>
<html>
<body>
404 Error: Page not found
</body>
</html>
Tuto stránku lze nyní přizpůsobit tak, aby zobrazovala jakýkoli druh chybové zprávy, kterou chcete. Můžete také přizpůsobit jakékoli další chybové stránky, které chcete. Stačí zadat ErrorDocument číslo, například Chyba 500 než bod .htaccess na nový error.html soubor, který vytvoříte.