web-dev-qa-db-fra.com

Lighttpd 403 Interdit pour les fichiers PHP

Je viens d'installer lighttpd sur mon serveur dédié, mod_fastcgi est activé, j'ai donc ajouté les lignes suivantes au lighttpd.conf fichier:

fastcgi.server = ( ".php" =>
( "localhost" =>
                     (
                        "socket" => "/tmp/php-fastcgi.socket",
                        "bin-path" => "/usr/local/bin/php-cgi"
                      )
                   )
)

Mais ça n'aide toujours pas, puisque je reçois le 403 - Forbidden message lorsque j'essaie de saisir un fichier PHP dans mon navigateur Web ... Lorsque je supprime le index.php fichier de mon répertoire racine Web et placez le index.html là, alors tout va bien, et il n'y a pas d'erreurs, peu importe si index.php le fichier contient 100 lignes ou une seule - <?php echo 'test'; ?> il affiche toujours un 403 - Forbidden, Je suis à court d'idées maintenant.

Pourquoi est-ce arrivé?

ls -la de mon répertoire racine Web:

#
total 6

    drwxr-xr-x  15 root  wheel   1536 Jul 18 10:23 .
    drwxr-xr-x   4 root  wheel    512 Jul 18 08:45 ..
    drwxr-xr-x   2 www   www      512 Jul  1 02:36 cache
    drwxr-xr-x   2 www   www      512 Jul  1 02:36 config
    drwxr-xr-x   6 www   www      512 Jul  1 02:36 inc
-rw-r--r--   1 www   www        9 Jul 18 11:02 index.php
18
Scott

Votre php n'est pas configuré correctement. vérifiez votre lighttpd error.log, il indiquera quelque chose comme:

(mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed. 

j'utilise:

fastcgi.server = ( ".php" => ((                                      
                     "bin-path" => "/bin/php-cgi",             
                     "socket" => "/tmp/php.socket",              
                     "max-procs" => 1,                                     
                     "bin-environment" => (                         
                       "PHP_FCGI_CHILDREN" => "16",                    
                       "PHP_FCGI_MAX_REQUESTS" => "10000"           
                     ),         
                     "broken-scriptfilename" => "enable"
                 )))   

assurez-vous que fastcgi est activé dans modules.conf

server.modules = (
  "mod_access",
  "mod_fastcgi",
#  "mod_alias",
#  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
#  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)
14
Maidenone

Même problème, le correctif pour Mint était d'installer le package php5-cgi.
Sudo apt-get install php5-cgi
activer les modules fastcgi
Sudo lighttpd-enable-mod fastcgi fastcgi-php
et enfin recharger
Sudo service lighttpd force-reload

10
Tomáš Mika

J'ai eu le même problème. Le correctif était aussi simple que de déplacer les fichiers de configuration afin qu'ils soient activés. Tout ce que j'ai fait, c'est ...

$ ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/
$ ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/

et recharger ...

$ service lighttpd force-reload
6
max kaplan

Sur ubuntu, vous pouvez faire ceci:

Sudo lighty-enable-mod fastcgi 
Sudo lighty-enable-mod fastcgi-php

Source: https://wiki.ubuntu.com/Lighttpd%2BPHP

3
Geom16

Peu probable, mais doit être noté comme une autre raison possible des réponses "403 interdites".

Recherchez les instructions du module d'accès (mod_access) dans le fichier de configuration (lighttpd.conf)

Exemple:

      url.access-deny = ( "", ".php");

Documents: Module mod_access

1
Scryptronic