# ISPConfig3 - Nginx - Wordpress (oder allgemein PHP-Scripte)



## mengine (30. Juli 2012)

Hallo zusammen,

ich habe nach dieser Anleitung mal einen meiner Server neu aufgesetzt. (The Perfect Server - Debian Squeeze (Debian 6.0) With BIND, Dovecot & Nginx [ISPConfig 3] | HowtoForge - Linux Howtos and Tutorials)

Bekomme jedoch leider nur einen "500 Internal Server Error" wenn ich versuche im Stammverzeich des jeweiligen Benutzers ein PHP-Script aufzurufen. Komischerweise klappt eine einfache Datei mit 
	
	



```
<?php phpinfo(); ?>
```
 ohne Probleme.

Hier mal ein Auszug aus dem error.log:


```
2012/07/30 16:26:13 [error] 28427#0: *147 FastCGI sent in stderr: "PHP message: PHP Warning:  file_exists(): open_basedir restriction in effect. File(/var/www/clients/client1/web1/wp-config.php) is not within the allowed path(s): (/var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/var/www/blah.de/web:/srv/www/blah.de/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/usr/share/php) in /var/www/clients/client1/web1/web/wp-load.php on line 31" while reading response header from upstream, client: 8.8.8.8, server: blah.de, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9010", host: "www.blah.de"
```
Wiederrum in meinen Settings:

*PHP open_basedir*

```
/var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/var/www/blah.de/web:/srv/www/blah.de/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/usr/share/php
```
*nginx Directives*

```
location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
}



location / {
  try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
  expires max;
  log_not_found off;
}
```
Jemand eine Idee? Wäre wunderbar!


Danke im Vorraus,
Chris


----------



## Till (31. Juli 2012)

Welchem User gehört denn die Datei? Sie muss dem web[ID] user und der client[id] Gruppe des Webs gehören. Wenn Du einen php cache einsetzt, dann versuch mal bitte xcache, da eaccelerator und APC machmal falsche open_basedir Fehler erzeugen.


----------



## mengine (31. Juli 2012)

Die Datei(en) gehören selbstverständlich dem User:Gruppe des Klienten.
Ein Caching Plugin wird derzeit nicht verwendet.


----------



## mengine (31. Juli 2012)

Ich habe gerade mal xcache eingerichtet. Selbes verhalten wie vorher.

Komisch ist hier allerdings im Log:

File(/var/www/clients/client1/web1/wp-config.php) is not within the allowed path(s)

Da Datei liegt definitiv unter /var/www/clients/client1/web1/*web*/


----------



## beyerservice (28. Feb. 2013)

hey, sorry fürs wieder öffnen, aber gibts dazu eine Lösung? habe genau das selbe verhalten...


----------

