Många webbserverkonfigurationer står inför problem relaterade till filbehörigheter. Det gör ofta servern oåtkomlig för besökare och manifesteras i form av ett 403-fel. Vanligtvis är felmeddelandet ungefär som "Förbjudet: du har inte behörighet att komma åt / på den här servern". Detta fel kan också begränsa åtkomsten till andra rutter på servern som /directory.
Liknande problem kan också uppstå på grund av problem i Apache-konfigurationsfilen eller till och med på grund av en korrupt .htaccess fil. Den här guiden innehåller steg-för-steg-lösningar på alla dessa problem. Prova dem en i taget, med början från den första lösningen.
Vad orsakar detta Apache 403-fel?
Detta är ett ganska vanligt 403-fel i Apache-änden orsakat av en mängd problem. I de flesta fall inträffar dock detta fel på grund av bristen på behörigheter som behövs för att komma åt en webbplats offentligt. Bortsett från detta möter WordPress-webbplatser ofta problemet på grund av ett dåligt .htaccess fil.
Sedan Apache version 2.4 har det dessutom skett några förändringar i hur direktiven fungerar. Detta kan också begränsa allmänhetens tillgång till din webbplats och resultera i ett 403 förbjudet fel.
1. Åtgärda filtillstånd för att undvika felet
De flesta människor möter detta vanliga 403-fel på grund av bristen på rätt behörighet. Om webbplatsadministratören glömmer att aktivera läsåtkomst till omvärlden kommer slutanvändare inte att kunna komma åt den begärda resursen. Detta är ofta orsaken till detta fel.
Om du istället är webbplatsadministratör måste du se till att filer som är avsedda för allmänhetens åtkomst har rätt läsbehörighet. Annars, om du står inför detta fel på en offentlig webbplats, informera webbplatsadministratören om att lösa problemet.
Att ställa in rätt behörigheter för offentligt tillgängliga filer kan vara lite knepigt. Därför bör administratörer börja med absolut noll behörighet och lägga till dem efter behov. Det är en bra idé att ha mappar med tillståndsläge 755 och filer med 644.
För en enkel webbplats måste katalogerna ha Kör tillstånd och filer bör ha läsa lov. Se till att inte ge exekveringsbehörighet för filer. Skadliga användare kan få oönskad åtkomst till offentliga servrar via sådana filer. Tillståndsläget för Läsa, Skriva och Kör åtkomst är 4, 2 respektive 1.
Så, ett tillståndsläge på 755 i kataloger innebär att bara ägaren har full tillgång till kataloginnehållet. Gruppanvändare och andra kan bara läsa och köra. På samma sätt ger 644 tillståndsläge för filer läs- och skrivåtkomst till ägaren och endast läsbehörighet till alla andra.
För att lösa detta fel, fixa dina webrootkatalogbehörigheter. Kommandot nedan använder chmod-verktyget för att ställa in katalogbehörigheter till 755.
sudo find / var / www / html -typ d -exec chmod 755 {} \;
Detta kommando förutsätter att du använder standarddokumentroten för Apache för att hålla din webbplats. Om du använder en annan katalog, byt ut katalognamnet i enlighet med detta. Använd kommandot nedan för att ändra alla filbehörigheter till 644.
sudo find / var / www / html -typ f -exec chmod 644 {} \;
Ovanstående kommando använder sökverktyget för att hitta enskilda filer och ställer in rätt behörighet via chmod. Slutet {} \ håller filvägarna som returneras av hitta kommandot, och den semikolon (;) markerar slutet på iterationen. Slutligen starta om Apache-servern så att dina ändringar kan träda i kraft.
sudo systemctl starta om apache2.service
Detta kommando startar om Apache-servern på Ubuntu. Men många RPM-baserade distros som RHEL eller CentOS installerar Apache som httpd. För sådana system använder du istället följande kommando:
sudo systemctl starta om httpd
2. Fixa .htaccess-filen för din WordPress-webbplats
De .htaccess filen fungerar som en distribuerad konfigurationsfil och berättar för Apache hur man hanterar saker som konfigurationsändringar per katalog. Ibland kan den här filen skadas och kan leda till felet "du har inte behörighet att komma åt på denna server".
Lyckligtvis, om det är det som orsakar 403-felet på din server, kan du enkelt fixa det genom att skapa en ny .htaccess-fil. För att skapa en ny .htaccess-fil för din webbplats loggar du först in på din WordPress-instrumentpanel. Klicka sedan på Inställningar> Permalänkar.
Du behöver inte göra några ytterligare ändringar här. Klicka bara på Spara ändringar -knappen och WordPress genererar en ny .htaccess-fil åt dig.
Så när du möter ovanstående problem, försök skapa en ny .htaccess-fil. .Htaccess-metoden fungerar vanligtvis bra för WordPress-webbplatser.
3. Konfigurera direktiven i Apache-konfigurationsfilen
Apache 2.4 använder en ny konfigurationsmodul med namnet mod_authz_host. Denna modul avslöjar flera nya direktiv. Kort sagt implementerar detta följande regler:
- Kräv alla beviljade: Tillåt alla förfrågningar
- Kräv alla nekade: Neka alla förfrågningar
- Kräva värd safe.com: Tillåt endast begäranden från safe.com
Om du använder Apache 2.4, se till att din huvudkonfigurationsfil innehåller följande kodblock. Du kan kolla in innehållet i den här filen med en enkel textredigerare som Vim. Lägg till detta block i konfigurationsfilen om de saknas. Då kan du spara och avsluta Vim.
vim /etc/apache2/apache2.conf
Alternativ FollowSymLinks
AllowOverride None
Kräv alla nekade
AllowOverride None
Kräv alla beviljade
Alternativ Index FollowSymLinks
AllowOverride None
Kräv alla beviljade
Dessutom, om du kör en RHEL-baserad webbserver måste du underlätta åtkomst till /var/www avsnitt i din Apache-konfigurationsfil. Så se till att /etc/httpd/conf/httpd.conf filen innehåller följande kodblock.
vim /etc/httpd/conf/httpd.conf
AllowOverride None
Kräv alla beviljade
Slutligen starta om Apache-servern med något av följande kommandon.
# för Ubuntu och Debian
sudo systemctl starta om apache2.service
# för RHEL och CentOS
sudo systemctl starta om httpd
Åtgärda Apache-serverns tillståndsfel
Många människor möter ovanstående problem när de besöker offentliga webbplatser eller konfigurerar sina egna webbplatser. Den här guiden omfattade flera lösningar på detta problem. Återställning av filsystembehörighet för Apache bör vara den första utväg. Om felet kvarstår även efter att du har ändrat behörigheterna kan du försöka skapa en ny .htaccess fil och se till att direktiven är korrekt inställda i din Apache-konfigurationsfil.
Det finns många fler problem som kan leda till ett serverfel liknande det här. Du måste vara skicklig vid felsökning av Linux-serverproblem för att få din server igång i sådana situationer.
Starta din Linux-server igen på några minuter med dessa smarta felsökningstips.
Läs Nästa
- Linux
- Apache-server
- Webbserver
- Linux
- Felsökning
- Linux-fel
Rubaiat är en CS-grad med en stark passion för öppen källkod. Förutom att vara Unix-veteran, är han också intresserad av nätverkssäkerhet, kryptografi och funktionell programmering. Han är en ivrig samlare av begagnade böcker och har en oändlig beundran för klassisk rock.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Ett steg till…!
Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.