# directory alias pro vhost mit PHP fast-cgi und SuEXEC



## mulixer (27. Aug. 2011)

servus leute,

folgendes ist gegeben
ISPConfig: 3.0.3.3
Debian 6
Alle vhosts mit php fast-cgi und suexec

Unter /var/www/webinclude ist zb. phpmyadmin und horde vorhanden. Die vhosts haben /var/www/webinclude als open_basedir in der php.ini.

In der /usr/local/ispconfig/server/conf/vhost.conf.master habe ich innerhalb von <tmpl_if name='php' op='==' value='fast-cgi'>

```
Alias /phpmyadmin/ /var/www/webinclude/phpmyadmin/
        <Directory "/var/www/webinclude/phpmyadmin">
                Options Indexes MultiViews FollowSymLinks +ExecCGI
                FCGIWrapper <tmpl_var name='fastcgi_starter_path'><tmpl_var name='fastcgi_starter_script'> .php
                Order allow,deny
                allow from all
        </Directory>
```
eingefügt.

Jetzt kommt aber ein 500 fehler vom apache und im errorlog des vhosts steht

```
[Sat Aug 27 08:54:29 2011] [error] [client 80.226.24.4] SoftException in Application.cpp:221: File "/var/www/webinclude/phpmyadmin/index.php" is not in document root of Vhost "/var/www/www.mydomain.de/web"
[Sat Aug 27 08:54:29 2011] [error] [client 80.226.24.4] Premature end of script headers: index.php
```
schon irgendwie klar das php hier ein rechte-problem mit dem document root sieht. Aber was kann ich machen? Die rechte unterhalb von /var/www/webinclude sind 755 mit owner: www-data und group: www-data. Wäre halt gut wenn die daten im webinclude mit den rechten des vhosts ausgeführt werden.

Ich möchte also http://www.mydomain.de/phpmyadmin/ ermöglichen (für jeden vhost) wobei phpmyadmin bei mir unter /var/www/webinclude/phpmyadmin/ liegt.

jemand ne idee?

so loung mulixer...


----------



## Till (28. Aug. 2011)

Ich denke nicht dass das so funktionieren kann, außer vielleicht wenn du das shared verzeichnis auf 777 setzt. Die bessere lösung ist aber meistens einen eigenen vhost für phpmydmin zu verwenden.


----------



## mulixer (29. Aug. 2011)

servus till,

das hatte ich auch schon versucht, aber auch das setzen von 777 auf die verzeichnisse unterhalb von /var/www/webinclude gibt mir ein fehler 500 zurück. Selbst wenn ich zb. den user des vhosts (zb. web4) mit in die gruppe www-data nehmen läuft das nicht. Die fehlermeldung sagt ja "not in document root of Vhost" was ja stimmt. Ich dachte das könnte man mit dem passenden eintrag für das open_basedir umgehen, bringt aber nichts.

Was aber geht ist ein symlink also ln -s /var/www/webinclude/phpmyadmin phpmyadmin nur ist das ehr ne notlösung und symlinks sollen nicht so performant sein gegenüber einem alias.

hmmm.... irgendwie muss das doch gehen, ich hatte soetwas schon mal am laufen aber ohne isp software also nur per konsolen-verwaltung.

so long....


----------



## Till (29. Aug. 2011)

Ich denke mal Du rufst das ganze über suphp auf und nicht mod_php. Editier mal die suphp.conf datei im apache mods-enabled Verzeichnis und kommentier die Zeilen:

AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-php

aus und dann starte apache neu.


----------



## mulixer (29. Aug. 2011)

ich rufe die php dateien mit dem fast-cgi modul und suexec auf, wenn ich die datei suphp.conf im apache mods verzeichnis verändere (wie du geschrieben hast) geht es, aber die php dateien werden mit dem user des apache ausgeführt (www-data, zeigt mir top) was ich ja eigentlich nicht wollte. Daher wäre das nur eine notlösung, grade wenn ich an die sessions denke in verbindung mit horde sollte man das nicht machen. Aber danke soweit ich muss die tage mit meine andere serverkonfig mal genau durch den kopf gehen lassen und schauen ob sich das mit ispconfig umseten läst.

so long....


----------



## Till (30. Aug. 2011)

Wenn Du einen Alias im apache verwendest, dann wird immer die globale PHP Konfiguration für die hinter dem Alias liegenden Dateien verwendet und nicht die des vhost. Das ist also nicht ispconfig spezifisch. Wenn Du statt dem Alias im apache einen symlink nimmst, dann werden die Dateien unter dem User des vhosts aufgerufen.


----------

