403 Forbidden-Fehler mit fcgid und PHP

403 Forbidden-Fehler mit fcgid und PHP

Ich versuche, php und mod_spdy auf Apache 2.4, Debian Jessie, x64 zu konfigurieren. Ich habedieser Leitfadenund Apache wie folgt konfiguriertdieser andere Leitfadenund diese Pakete installiert:

libapache2-mod-fcgid
php-cgi
php5-fpm

Ich habe jetzt Probleme mit PHP-Anwendungen: Wenn ich versuche, sie zu öffnen, erhalte ich eine 403 Forbidden-Meldung. Hier ist meine /etc/apache2/conf-enabled/fcgid.conf

<Location />
  AddHandler fcgid-script .php
  Options +ExecCGI
  FcgidWrapper /usr/bin/php-cgi .php
</Location>

Und der Fehler, den ich bekomme, ist /var/log/apache2/error.log

AH01630: client denied by server configuration: /usr/lib/cgi-bin/php5

Ich habe versucht hinzuzufügen

Order allow,deny
Allow from all

zur PHP-Anwendung VirtualHost, aber das Ergebnis ist dasselbe. Warum erhalte ich die 403?

Antwort1

Die Fehlermeldung 403 ist irreführend, aber korrekt. Wenn ich mir /etc/apache2/conf-enabled/serve-cgi-bin.conf anschaue, habe ich:

<IfModule mod_alias.c>
    <IfModule mod_cgi.c>
        Define ENABLE_USR_LIB_CGI_BIN
    </IfModule>

    <IfModule mod_cgid.c>
        Define ENABLE_USR_LIB_CGI_BIN
    </IfModule>

    <IfDefine ENABLE_USR_LIB_CGI_BIN>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Require all granted
        </Directory>
    </IfDefine>
</IfModule>

Dem Codefluss folgend wird „Require all granted“ auf /usr/lib/cgi-bin nur ausgeführt, wenn mod_cgi und/oder mod_cgid aktiviert sind. In meinem Fall waren sie beide deaktiviert (weil sie in Debian standardmäßig deaktiviert sind).

# a2enmod cgi ; a2enmod cgid ; service apache2 restart

Problem gelöst.

Antwort2

Der 403-Fehler liegt häufig an einer fehlenden ScriptAlias-Zeile. Wenn beispielsweise der Speicherort "/" ist und das Stammverzeichnis des Servers /var/my-www/ ist, fügen Sie es direkt vor die Anweisung ein:

ScriptAlias  /  /var/my-www/
<Location />
 ...
 ...

verwandte Informationen