Veel webserverconfiguraties hebben te maken met problemen met bestandsrechten. Het maakt de server vaak ontoegankelijk voor bezoekers en manifesteert zich in de vorm van een 403-fout. Meestal is de foutmelding zoiets als "Verboden: je hebt geen toestemming om toegang te krijgen tot / op deze server". Deze fout kan ook de toegang tot andere routes op de server beperken, zoals: /directory.
Soortgelijke problemen kunnen ook optreden als gevolg van problemen in het Apache-configuratiebestand of zelfs vanwege een corrupte .htaccess het dossier. Deze handleiding biedt stapsgewijze oplossingen voor al deze problemen. Probeer ze een voor een uit, beginnend bij de eerste oplossing.
Wat veroorzaakt deze Apache 403-fout?
Dit is een vrij veel voorkomende 403-fout aan het einde van Apache, veroorzaakt door een groot aantal problemen. In de meeste gevallen treedt deze fout echter op vanwege het ontbreken van de juiste machtigingen die nodig zijn om een site openbaar te openen. Afgezien hiervan hebben WordPress-sites vaak te maken met dit probleem vanwege een slechte .htaccess het dossier.
Bovendien zijn er sinds Apache-versie 2.4 enkele wijzigingen in de manier waarop richtlijnen werken. Dit kan ook de openbare toegang tot uw website beperken en resulteren in een 403 verboden fout.
1. Bestandsmachtigingen repareren om de fout te voorkomen
De meeste mensen worden geconfronteerd met deze veelvoorkomende 403-fout vanwege het ontbreken van de juiste machtigingen. Als de sitebeheerder vergeet leestoegang tot de buitenwereld in te schakelen, hebben eindgebruikers geen toegang tot de gevraagde bron. Dit is vaak de oorzaak van deze fout.
Als u in plaats daarvan een sitebeheerder bent, moet u ervoor zorgen dat bestanden die bedoeld zijn voor openbare toegang de juiste leesrechten hebben. Anders, als u deze fout op een openbare site tegenkomt, informeert u de sitebeheerder om dit probleem op te lossen.
Het instellen van de juiste machtigingen voor openbaar toegankelijke bestanden kan een beetje lastig zijn. Daarom moeten beheerders beginnen met absoluut nul machtigingen en deze indien nodig toevoegen. Het is een goed idee om mappen te hebben met de machtigingsmodus van 755 en bestanden met 644.
Voor een eenvoudige website moeten de mappen hebben: uitvoeren toestemming, en bestanden zouden moeten hebben lezen toestemming. Zorg ervoor dat u geen uitvoerrechten geeft voor bestanden. Kwaadwillende gebruikers kunnen via dergelijke bestanden ongewenste toegang krijgen tot openbare servers. De toestemmingsmodus voor Lezen, Schrijven en uitvoeren toegang is respectievelijk 4, 2 en 1.
Dus een machtigingsmodus van 755 voor mappen betekent dat alleen de eigenaar volledige toegang heeft tot de inhoud van de map. Groepsgebruikers en anderen kunnen alleen lezen en uitvoeren. Evenzo biedt de 644-machtigingsmodus voor bestanden lees- en schrijftoegang aan de eigenaar en alleen leestoegang aan alle anderen.
Om deze fout op te lossen, corrigeert u uw webroot-mapmachtigingen. Het onderstaande commando gebruikt het chmod-hulpprogramma om de mapmachtigingen in te stellen op 755.
sudo find /var/www/html -type d -exec chmod 755 {} \;
Dit commando gaat ervan uit dat je de standaard document root van Apache gebruikt om je website te bewaren. Als u een andere map gebruikt, vervangt u de mapnaam dienovereenkomstig. Gebruik de onderstaande opdracht om alle bestandsrechten te wijzigen in 644.
sudo find /var/www/html -type f -exec chmod 644 {} \;
Het bovenstaande commando gebruikt het zoekprogramma om individuele bestanden te lokaliseren en stelt de juiste toestemming in via chmod. Het einde {} \ bevat de bestandspaden die worden geretourneerd door het zoekcommando, en de puntkomma (;) markeert het einde van de iteratie. Start ten slotte de Apache-server opnieuw zodat uw wijzigingen van kracht kunnen worden.
sudo systemctl herstart apache2.service
Deze opdracht herstart de Apache-server op Ubuntu. Veel op RPM gebaseerde distributies zoals RHEL of CentOS installeren Apache echter als httpd. Gebruik voor dergelijke systemen in plaats daarvan de volgende opdracht:
sudo systemctl herstart httpd
2. Herstel het .htaccess-bestand voor uw WordPress-website
De .htaccess bestand dient als een gedistribueerd configuratiebestand en vertelt Apache hoe zaken als configuratiewijzigingen per map moeten worden afgehandeld. Soms kan dit bestand beschadigd raken en kan het de foutmelding "u hebt geen toestemming om toegang te krijgen tot deze server" tot gevolg hebben.
Gelukkig, als dat de 403-fout op je server veroorzaakt, kun je dit eenvoudig oplossen door een nieuw .htaccess-bestand te maken. Om een nieuw .htaccess-bestand voor uw website te maken, logt u eerst in op uw WordPress-dashboard. Klik vervolgens op Instellingen > Permalinks.
U hoeft hier geen aanvullende wijzigingen door te voeren. Klik gewoon op de Wijzigingen opslaan knop en WordPress zal een nieuw .htaccess-bestand voor u genereren.
Dus wanneer u met het bovenstaande probleem wordt geconfronteerd, probeer dan een nieuw .htaccess-bestand te maken. De .htaccess-methode werkt meestal goed voor WordPress-websites.
3. Richtlijnen configureren in het Apache-configuratiebestand
Apache 2.4 maakt gebruik van een nieuwe configuratiemodule genaamd mod_authz_host. Deze module onthult verschillende nieuwe richtlijnen. Dit houdt in het kort de volgende regels in:
- Vereisen dat alles is verleend: Alle verzoeken toestaan
- Vereisen alle geweigerd: Alle verzoeken weigeren
- Host safe.com vereisen: Alleen verzoeken van safe.com toestaan
Als je Apache 2.4 gebruikt, zorg er dan voor dat je hoofdconfiguratiebestand het volgende codeblok bevat. Je kunt de inhoud van dit bestand bekijken met een eenvoudige teksteditor zoals Vim. Voeg dit blok toe aan het configuratiebestand als ze ontbreken. Dan kunt u opslaan en afsluiten Vim.
vim /etc/apache2/apache2.conf
Opties FollowSymLinks
ToestaanOverschrijven Geen
Vereisen alle geweigerd
ToestaanOverschrijven Geen
Vereisen dat alles is verleend
Opties Indexen FollowSymLinks
ToestaanOverschrijven Geen
Vereisen dat alles is verleend
Bovendien, als u een op RHEL gebaseerde webserver gebruikt, moet u de toegang tot de: /var/www sectie in uw Apache-configuratiebestand. Zorg er dus voor dat de /etc/httpd/conf/httpd.conf bestand bevat het volgende codeblok.
vim /etc/httpd/conf/httpd.conf
ToestaanOverschrijven Geen
Vereisen dat alles is verleend
Start ten slotte de Apache-server opnieuw met een van de volgende opdrachten.
# voor Ubuntu en Debian
sudo systemctl herstart apache2.service
# voor RHEL en CentOS
sudo systemctl herstart httpd
De toestemmingsfout van de Apache-server herstellen
Veel mensen hebben te maken met het bovenstaande probleem bij het openen van openbare websites of het configureren van hun eigen sites. Deze handleiding behandelde verschillende oplossingen voor dit probleem. Het opnieuw instellen van de bestandssysteemmachtiging voor Apache zou het eerste redmiddel moeten zijn. Als de fout zich blijft voordoen, zelfs na het wijzigen van de machtigingen, probeer dan een nieuwe .htaccess bestand en zorg ervoor dat de richtlijnen correct zijn ingesteld in uw Apache-configuratiebestand.
Er zijn nog veel meer problemen die kunnen leiden tot een fout aan de serverzijde die lijkt op deze. U moet bekwaam zijn in het oplossen van problemen met Linux-servers om uw server in dergelijke situaties aan de gang te krijgen.
Krijg uw Linux-server binnen enkele minuten weer up-and-running met deze slimme tips voor probleemoplossing.
Lees volgende
- Linux
- Apache-server
- Web Server
- Linux
- Probleemoplossen
- Linux-fouten
Rubaiat is een CS-graduaat met een sterke passie voor open-source. Behalve dat hij een Unix-veteraan is, houdt hij zich ook bezig met netwerkbeveiliging, cryptografie en functioneel programmeren. Hij is een fervent verzamelaar van tweedehands boeken en heeft een nooit aflatende bewondering voor classic rock.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.