Apache: PHP-Skripte werden (teilweise!) heruntergeladen

Apache, Lighttpd, nginx, Cherokee
hupfdule
Posts: 11
Joined: 2003-07-01 20:31
Location: Markranstädt

Apache: PHP-Skripte werden (teilweise!) heruntergeladen

Post by hupfdule » 2013-05-28 22:08

Hallo,

ich habe mit einem "geerbten" Apache ein paar Probleme mit der Ausführung von PHP-Skripten und suphp.

Der Webserver besitzt verschiedene VHosts, die in etwa so aussehen:

Code: Select all

<VirtualHost *>
   ServerName myvhost.de
   ServerAlias  www.myvhost.de
   
   DocumentRoot /home/user1/home/myvhost.de/www/

   SuexecUserGroup user1 user1

   <Directory /home/user1/home/myvhost.de/www/>
        Options +Indexes -FollowSymLinks -SymLinksIfOwnerMatch
        DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.shtml index.shtm index.sht
   </Directory>

  suPHP_ConfigPath /home/user1/etc/php4/cgi
</VirtualHost>


Diese VHosts werden von Kunden genutzt. Sie sind in Chroots eingesperrt und werden von den Kunden selbst mit den entsprechenden PHP-Dateien bestückt.

Außerdem gibt es einen SSL VHost, der etwas komplexer ist, da hier auch einige RewriteRules angegeben sind, die nach meinem Verständnis jedoch keinen Einfluss auf mein Problem haben sollten.
Hier daher die (aus meiner Sicht) relevanten Abschnitte:

Code: Select all

NameVirtualHost *:443
<VirtualHost  *:443>
ServerSignature Off

DocumentRoot "/var/www/sslproxy"
ServerName secure-domain.de

RemoveHandler .php
php_admin_flag engine on

#hier kommen diverse SSL- und Rewrite-Optionen
</VirtualHost>


Nun ist aufgefallen, dass die suPHP-Konfiguration kaputt war, weil bei einem Kunden ein neu installiertes PHP-Skript nicht korrekt funktionierte (Der Webserver hat Dateien immer mit dem Owner www-data geschrieben, statt des Benutzer des Kunden). Also habe ich versucht suPHP zu korrigieren. Das heißt, ich habe das php-Modul entfernt und dafür php-cgi installiert. Das hat für die Kunden-VHosts auch sehr schön funktioniert. Leider funktioniert der SSL-VHost nicht mehr.

Die Direktiven

Code: Select all

RemoveHandler .php
php_admin_flag engine on

habe ich auskommentiert, weil php_admin_flag ohne PHP-Modul nicht mehr existiert und die RemoveHandler-Anweisung mir an dieser Stelle sowieso seltsam vorkommt. Leider kann ich nun auf diesem SSL-VHost keine PHP-Skripte mehr ausführen. Statt sie auszuführen, werden diese heruntergeladen. Das betrifft im Moment phpmyadmin und squirrelmail, die beide über diese Domain erreichbar sind.

Wenn ich das PHP-Modul wieder installiere und obige beiden Direktiven wieder aktiviere, funktionieren phpmyadmin und squirrelmail wieder. Nicht jedoch die Kunden-VHosts...

Wo muss ich denn jetzt anpacken, um diesen Konflikt aufzulösen?

Das ganze läuft unter einem Debian mit Apache 2.2 und PHP5. Gern liefere ich Konfigausschnitte nach, ich habe mich oben auf die meiner Meinung nach relevanten beschränkt.

Hier noch der Inhalt der suphp.conf:

Code: Select all

<IfModule mod_suphp.c>
        AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
        AddHandler x-httpd-php .php .php3 .php4 .php5
        suPHP_AddHandler application/x-httpd-php
    <Directory />
        suPHP_Engine on
    </Directory>

    # By default, disable suPHP for debian packaged web applications as files
    # are owned by root and cannot be executed by suPHP because of min_uid.
    <Directory /usr/share>
        suPHP_Engine off
    </Directory>

        suPHP_ConfigPath /etc/suphp/suphp.conf

</IfModule>

exor79
Posts: 3
Joined: 2013-07-12 21:13

Re: Apache: PHP-Skripte werden (teilweise!) heruntergeladen

Post by exor79 » 2013-07-12 21:45

herausgefunden welche Skripte / Dateien genau es sind?

bei mir waren mal Cache Files von einem Shop, Dateien ohne Endung.
Last edited by exor79 on 2013-07-12 21:45, edited 1 time in total.