Gelöst: Sie haben keine Zugriffsberechtigung auf diesen Server

Bei vielen Webserverkonfigurationen treten Probleme im Zusammenhang mit Dateiberechtigungen auf. Es macht den Server oft für Besucher unzugänglich und manifestiert sich in Form eines 403-Fehlers. Normalerweise lautet die Fehlermeldung "Forbidden: you don't access permission / on this server". Dieser Fehler kann auch den Zugriff auf andere Routen auf dem Server einschränken, z. B. /directory .

Ähnliche Probleme können auch aufgrund von Problemen in der Apache-Konfigurationsdatei oder sogar aufgrund einer beschädigten .htaccess- Datei auftreten. Dieses Handbuch bietet schrittweise Lösungen für all diese Probleme. Probieren Sie sie nacheinander aus, beginnend mit der ersten Lösung.

Was verursacht diesen Apache 403-Fehler?

Dies ist ein ziemlich häufiger 403-Fehler auf Apache-Seite, der durch eine Vielzahl von Problemen verursacht wird. In den meisten Fällen tritt dieser Fehler jedoch auf, weil die erforderlichen Berechtigungen für den öffentlichen Zugriff auf eine Site fehlen. Abgesehen davon haben WordPress-Sites dieses Problem oft aufgrund einer schlechten .htaccess- Datei.

Darüber hinaus gab es seit Apache Version 2.4 einige Änderungen in der Funktionsweise von Direktiven. Dies kann auch den öffentlichen Zugriff auf Ihre Website einschränken und zu einem 403 verbotenen Fehler führen.

1. Dateiberechtigungen korrigieren, um den Fehler zu vermeiden

Die meisten Leute sind mit diesem häufigen 403-Fehler aufgrund fehlender Berechtigungen konfrontiert. Wenn der Site-Administrator vergisst, den Lesezugriff auf die Außenwelt zu aktivieren, können Endbenutzer nicht auf die angeforderte Ressource zugreifen. Dies ist oft die Ursache für diesen Fehler.

Wenn Sie stattdessen ein Site-Administrator sind, müssen Sie sicherstellen, dass Dateien, die für den öffentlichen Zugriff bestimmt sind, über die entsprechenden Leseberechtigungen verfügen. Andernfalls, wenn dieser Fehler auf einer öffentlichen Site auftritt, informieren Sie den Site-Administrator, um dieses Problem zu beheben.

Gelöst: Sie haben keine Zugriffsberechtigung auf diesen Server - You dont have permission to access on this server 1

Das Festlegen der richtigen Berechtigungen für öffentlich zugängliche Dateien kann etwas schwierig sein. Aus diesem Grund sollten Admins mit absolut null Berechtigungen beginnen und diese nach Bedarf hinzufügen. Es ist eine gute Idee, Ordner mit dem Berechtigungsmodus 755 und Dateien mit 644 zu verwenden .

Für eine einfache Website müssen die Verzeichnisse eine Ausführungsberechtigung und Dateien eine Leseberechtigung haben. Stellen Sie sicher, dass Sie keine Ausführungsberechtigung für Dateien erteilen. Über solche Dateien können sich böswillige Benutzer ungewollten Zugriff auf öffentliche Server verschaffen. Der Berechtigungsmodus für den Lese- , Schreib- und Ausführungszugriff ist 4, 2 bzw. 1.

Ein Berechtigungsmodus von 755 für Verzeichnisse bedeutet also, dass nur der Besitzer vollen Zugriff auf den Verzeichnisinhalt hat. Gruppenbenutzer und andere können nur lesen und ausführen. In ähnlicher Weise bietet der 644-Berechtigungsmodus für Dateien dem Eigentümer Lese- und Schreibzugriff und allen anderen nur Lesezugriff.

Gelöst: Sie haben keine Zugriffsberechtigung auf diesen Server - file permissions to solve you dont have access error

Um diesen Fehler zu beheben, korrigieren Sie Ihre Webroot-Verzeichnisberechtigungen. Der folgende Befehl verwendet das Dienstprogramm chmod , um die Verzeichnisberechtigungen auf 755 zu setzen.

 sudo find /var/www/html -type d -exec chmod 755 {} ;

Dieser Befehl geht davon aus, dass Sie das Standard-Dokumentenstammverzeichnis von Apache verwenden, um Ihre Website zu speichern. Wenn Sie ein anderes Verzeichnis verwenden, ersetzen Sie den Verzeichnisnamen entsprechend. Verwenden Sie den folgenden Befehl, um alle Dateiberechtigungen auf 644 zu ändern.

 sudo find /var/www/html -type f -exec chmod 644 {} ;

Der obige Befehl verwendet das Dienstprogramm find, um einzelne Dateien zu finden, und setzt die richtige Berechtigung über chmod. Die Endung {} enthält die vom find-Befehl zurückgegebenen Dateipfade, und das Semikolon ( ; ) markiert das Ende der Iteration. Starten Sie abschließend den Apache-Server neu, damit Ihre Änderungen wirksam werden.

 sudo systemctl restart apache2.service

Dieser Befehl startet den Apache-Server unter Ubuntu neu. Viele RPM-basierte Distributionen wie RHEL oder CentOS installieren Apache jedoch als httpd . Verwenden Sie für solche Systeme stattdessen den folgenden Befehl:

 sudo systemctl restart httpd

2. Korrigieren Sie die .htaccess-Datei für Ihre WordPress-Website

Die .htaccess- Datei dient als verteilte Konfigurationsdatei und teilt Apache mit, wie er mit Dingen wie Konfigurationsänderungen pro Verzeichnis umgehen soll. Manchmal kann diese Datei beschädigt werden und zu dem Fehler "Sie haben keine Zugriffsberechtigung auf diesen Server" führen.

Wenn das den 403-Fehler auf Ihrem Server verursacht, können Sie dies zum Glück leicht beheben, indem Sie eine neue .htaccess-Datei erstellen. Um eine neue .htaccess-Datei für Ihre Website zu erstellen, loggen Sie sich zunächst in Ihr WordPress-Dashboard ein. Klicken Sie dann auf Einstellungen > Permalinks .

Gelöst: Sie haben keine Zugriffsberechtigung auf diesen Server - pemalink update in wordpress site

Sie müssen hier keine weiteren Änderungen vornehmen. Klicken Sie einfach auf die Schaltfläche Änderungen speichern und WordPress generiert eine neue .htaccess-Datei für Sie.

Gelöst: Sie haben keine Zugriffsberechtigung auf diesen Server - pemalink change in wordpress site

Versuchen Sie also jedes Mal, wenn Sie mit dem oben genannten Problem konfrontiert sind, eine neue .htaccess-Datei zu erstellen. Die .htaccess-Methode funktioniert normalerweise gut für WordPress-Websites.

3. Direktiven in der Apache-Konfigurationsdatei konfigurieren

Apache 2.4 verwendet ein neues Konfigurationsmodul namens mod_authz_host . Dieses Modul stellt mehrere neue Direktiven bereit. Kurz gesagt, dies implementiert die folgenden Regeln:

  • Alle gewährten Anforderungen fordern : Alle Anfragen zulassen
  • Alle verweigert anfordern: Alle Anfragen verweigern
  • Host-Safe.com anfordern : Nur Anfragen von safe.com zulassen

Wenn Sie Apache 2.4 verwenden, stellen Sie sicher, dass Ihre Hauptkonfigurationsdatei den folgenden Codeblock enthält. Sie können den Inhalt dieser Datei mit einem einfachen Texteditor wie Vim auschecken. Fügen Sie diesen Block in die Konfigurationsdatei ein, wenn sie fehlen. Anschließend können Sie Vim speichern und beenden .

 vim /etc/apache2/apache2.conf
 <Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Wenn Sie einen RHEL-basierten Webserver betreiben, müssen Sie außerdem den Zugriff auf den Abschnitt /var/www in Ihrer Apache-Konfigurationsdatei erleichtern. Stellen Sie also sicher, dass die Datei /etc/httpd/conf/httpd.conf den folgenden Codeblock enthält.

 vim /etc/httpd/conf/httpd.conf
 <Directory "/var/www">
AllowOverride None
Require all granted
</Directory>

Starten Sie abschließend den Apache-Server mit einem der folgenden Befehle neu.

 # for Ubuntu and Debian
sudo systemctl restart apache2.service
 # for RHEL and CentOS
sudo systemctl restart httpd

Beheben Sie den Apache-Server-Berechtigungsfehler

Viele Leute sind mit dem oben genannten Problem konfrontiert, wenn sie auf öffentliche Websites zugreifen oder ihre eigenen Websites konfigurieren. In diesem Handbuch wurden mehrere Fehlerbehebungen für dieses Problem behandelt. Das Zurücksetzen der Dateisystemberechtigung für Apache sollte der erste Ausweg sein. Wenn der Fehler auch nach dem Ändern der Berechtigungen weiterhin besteht, erstellen Sie eine neue .htaccess- Datei und stellen Sie sicher, dass die Anweisungen in Ihrer Apache-Konfigurationsdatei richtig eingestellt sind.

Es gibt viele weitere Probleme, die zu einem serverseitigen Fehler ähnlich diesem führen können. Sie müssen mit der Behebung von Linux-Serverproblemen vertraut sein, um Ihren Server in solchen Situationen zum Laufen zu bringen.