GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak povolit a nastavit soubor .htaccess na Apache

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:

  1. Povolit pouze konkrétní adresy IP.
  2. Blokovat konkrétní adresy IP.
  3. 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&gt;

</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.


Ubuntu
  1. Jak nastavit vHosts v Apache

  2. Jak povolit protokolování error-log.txt pomocí souboru .htaccess?

  3. Jak nastavit limit velikosti nahrávání souborů v Apache?

  1. Jak nastavit základní ověřování v Apache pomocí .htaccess

  2. Jak povolím ExecCGI přes soubor .htaccess?

  3. Jak nastavit soubor jako NENÍ spustitelný?

  1. Jak povolit register_globals

  2. Jak povolit ExecCGI přes soubor .htaccess?

  3. Jak povolím indexování souborů a adresářů Apache v systému Linux nebo UNIX?