2
Juni
2025
Warum erhält der Apache-Webserver den Fehler AH01630: Client durch Serverkonfiguration abgelehnt
16:46

Warum erhält der Apache-Webserver den Fehler AH01630: Client durch Serverkonfiguration abgelehnt

2 Juni 2025 16:46

Behebung des Problems mit dem Fehler AH01630 des Apache-Webservers.

Symptome

Beim Öffnen einer Webseite tritt bei falsch eingestellten Rechten der Webserver-Fehler AH01630 auf.

Es gibt solche Fehler im Zugriffsprotokoll.

[Mon. 02. Juni 13:04:22.143071 2025] [authz_core:error] [pid 46931] [Client 127.0.0.1:52900] AH01630: Client durch Serverkonfiguration abgelehnt: /home/user/site/
[Mo 2. Juni 13:05:49.982705 2025] [authz_core:error] [pid 47024] [Client 127.0.0.1:44616] AH01630: Client durch Serverkonfiguration abgelehnt: /home/user/site/index.php

Der Grund liegt in der Apache-Konfigurationseinstellung.

Wie kann ich den Fehler reproduzieren?

sudo nano /etc/apache2/apache2.conf

        Options FollowSymLinks
        AllowOverride None
        Require all Denied

Apache2

Strg+O, „Enter“, Strg-X

systemctl restart apache2.service

Wenn Sie nun versuchen, eine Website zu öffnen, erhalten Sie die Fehlermeldung AH01630.

Wie kann das Problem gelöst werden?

1. Bearbeiten der Datei apache2.conf

In der Akte /etc/apache2/apache2.conf Es muss seinAlles erforderlich.


        Options FollowSymLinks
        AllowOverride All

        Require all Granted

Die AllowOverride All-Direktive ist optional. Bei „None“ haben .htaccess-Dateien keine Auswirkung.

2. Aktivieren des Moduls a2enmod vhost_alias_module für virtuelle Hosts

sudo a2enmod vhost_alias
sudo a2enmod mod_authz_host
sudo systemctl restart apache2

Dieser Befehl wird für den nächsten Punkt benötigt.

3. Bearbeiten der .conf-Dateien im Verzeichnis „sites-available“ – Konfigurationsdateien des virtuellen Hosts

Wir beschränken die Zugriffsrechte auf Websites und virtuelle Verzeichnisse in Dateien

sudo nano /etc/apache2/sites-available/file.conf

Suchen Sie im Abschnitt „Beschreibung des virtuellen Hosts“ nach dem Abschnitt „Verzeichnis“. Er beschreibt den Ordner, in dem sich PHP-Dokumente und Apache-Zugriffsrechte befinden:


    Options Indexes MultiViews
    AllowOverride All
    Require all Denied
    Allow from 127.0.0.1

Hier habe ich den Zugriff auf den Testserver nur vom aktuellen Computer aus eingeschränkt_ - Webserver (localhost) 127.0.0.1.

Um den vollständigen Zugriff von beliebigen IP-Adressen aus zu ermöglichen, müssen Sie die Anweisung „entfernen“Ab 127.0.0.1 zulassen" und ermöglichen den Zugriff von überall Alles erforderlich. Gewährt.

Ab Apache 2.4 hat sich das conf-Dateiformat geändert: die Anweisungen „ Befehl verweigern, zulassen". Siehe offiziell Liste der Änderungen zwischen den Versionen 2.2 und 2.4.

Aktivieren Sie das Modul gezielt authz_host командой sudo a2enmod authz_host nicht erforderlich, da die Module authz_host und authz_core standardmäßig aktiviert sind.

Neustart des Dienstes Erneutes Lesen der Apache-Webserver-Konfigurationsdateien nach dem Bearbeiten der .conf-Dateien

sudo systemctl apache2.service neu laden

oder

sudo apachectl -k graceful

4. Suchen Sie im Home-Verzeichnis der Site nach einer versteckten .htaccess-Datei

.htaccess-Dateien reagieren auf jede Anfrage nach einem Webserverdokument. Die Datei muss sich im Dokument-Home-Verzeichnis der Site befinden und kann auch veraltete Order-Deny- und Allow-Anweisungen enthalten. Laut Offizielle Dokumentation zur Migration von Apache 2.2 auf Apache 2.4, Mischen neuer Richtlinien AllowOverride und das alte „Befehl verweigern, zulassen“ kann zu unvorhersehbaren Konsequenzen führen.

Es ist besser, einen Host zum Debuggen einer Website in der virtuellen Hosts-Datei anzugeben (.conf),
Verwenden der Direktive „Allow from “ im Abschnitt , zum Beispiel:

Ab 127.0.0.1 zulassen

5. Webserver-Zugriffsrechte auf Dateien

Festlegen der richtigen Zugriffsrechte für das Verzeichnis ./site_dir und alle darin enthaltenen Dateien.

cd ~
sudo chown -R www-data:www-data ./site_dir
sudo find site_dir/ -type d -exec chmod 755 {} \;
sudo find site_dir/ -type f -exec chmod 644 {} \;

6. Hosts-Datei

cat /etc/hosts | less

Darin habe ich zuvor eine Zeile wie hinzugefügt
127.0.0.1 meine Seite

Dabei ist mysite der Site-Aliasname für den virtuellen Host (entspricht der ServerName mysite-Direktive).
in der Datei /etc/apache2/sites-available/file.conf

Überprüfen

Überprüfen des Öffnens einer Webseite in einem Browser mit dem Präfix http://mysite – die Website wird fehlerfrei geöffnet.



Verwandte Veröffentlichungen