suPHP, mod_php Problem?

Apache, Lighttpd, nginx, Cherokee
Post Reply
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

suPHP, mod_php Problem?

Post by moppi »

Hallo,

ich habe suPHP bei mir installiert in der Version 0.6.0. Nach der Anleitung von debianhowto hab ich auch die vHosts configuriert. Ich habe einen 2ten Server wo ich dies auch schon vor längerer Zeit schon einmal eingerichtet habe. Confixx mit der Option SuPHP Engine off funktioniert. Jedoch alle anderen vHosts werden die PHP Dateien als Download angeboten.

mit folgenden Optionen wurde suphp konfiguriert:

Code: Select all

./configure --with-apxs=`which apxs2` --with-pic --with-apache-user=apache --with-logfile=/var/log/apache2/suphp_log
die Logdatei wurde bisher nicht erstellt ich denke weil der Mechanismus einfach nicht funktioniert. Ich verwende Apache2 auf Gentoo Linux.

Bin für jeden Tip dankbar.

Viele Grüße
Daniel
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suPHP, mod_php Problem?

Post by Roger Wilco »

Natürlich hast du mit SuPHP_AddHandler auch einen entsprechenden Handler für PHP-Dateien angelegt, nicht wahr?
Lies die README, es haben sich bei der Konfiguration von SuPHP in der Version 0.6 ein paar Sachen geändert. :roll:
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

Re: suPHP, mod_php Problem?

Post by moppi »

ich habe natürlich das alles durchgelesen schließlich kann ich mich nicht auf die Kompetenz anderer verlassen. Ich habe eine suphp.conf angelegt unter etc basierend auf dem sample des sources.

Aber leider funktioniert das nicht wirklich.

Wo soll ich denn den SuPHP_AddHandler eintragen in den Vhost der Domain? Also in Confixx als httpd Spezial?
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suPHP, mod_php Problem?

Post by Roger Wilco »

Moppi wrote:Wo soll ich denn den SuPHP_AddHandler eintragen in den Vhost der Domain? Also in Confixx als httpd Spezial?
Innerhalb eines beliebigen Directory- oder Location-Blocks. Direkt im VHost geht es nicht. Ausserdem solltest du in der suphp.conf das Loglevel höher setzen, falls noch nicht geschehen. Die Option errors_to_browser ist auch recht nützlich. Ansonsten findest du die Fehlermeldungen im error.log bzw. suphp_log.
Du solltest auch darauf achten, dass der Handler wirklich identisch ist, also nicht nur x-httpd-php, sondern application/x-httpd-php.
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

Re: suPHP, mod_php Problem?

Post by moppi »

Danke für Deine genauen Ausführungen, ich habe den Loglevel bereits höher gesetzt und auch gesagt das er die Fehler an den Browser senden soll. Leider passiert das alles nicht.
Hier ist mein Eintrag vor allen vHosts:

Code: Select all

suPHP_Engine on
suPHP_AddHandler application/x-httpd-php
php_admin_flag engine off
AddType application/x-httpd-php .php
AddHandler x-httpd-php .php
Aber ich habe immernoch die PHP Dateien zum Download :( auch kein Logfile und im Apache error_log steht auch nichts drin.

Edit: jetzt habe ich eine Meldung erhalten:

Code: Select all

suPHP_AddHandler not allowed here
Unschlüssig bin ich trotzdem wo der Eintrag nun stehen muss.

Aber keine Logdatei kein Anhaltspunkt nichts. :(
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suPHP, mod_php Problem?

Post by Roger Wilco »

Moppi wrote:Edit: jetzt habe ich eine Meldung erhalten:

Code: Select all

suPHP_AddHandler not allowed here
Unschlüssig bin ich trotzdem wo der Eintrag nun stehen muss.

Aber keine Logdatei kein Anhaltspunkt nichts.
Die Meldung ist doch ein guter Anhaltspunkt. Sie besagt, dass die Direktive SuPHP_AddHandler in dem Abschnitt, in dem du sie stehen hast, nicht vorkommen darf.
Wie schon erwähnt, muss die Direktive innerhalb eines Directory- oder Location-Blocks sein, also z. B.

Code: Select all

<VirtualHost *>
# Blabla
[...]
SuPHP_Engine on
<Location />
SuPHP_AddHandler application/application/x-httpd-php
</Location>
# Mehr blabla
[...]
</VirtualHost>
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

Re: suPHP, mod_php Problem?

Post by moppi »

so sieht jetzt mein vHost aus:

Code: Select all

<VirtualHost 217.160.132.172:80>
  ServerName www.mx-solutions.de
  DocumentRoot /home/www/web1/html
  SuexecUserGroup web1 web1
  <Location>
  suPHP_Engine On
  SuPHP_AddHandler application/x-httpd-php
  </Location>
</VirtualHost>
und funktioniert leider nicht. Kein Log nix garnix keine Meldung. :(

EDIT: Ich habe jetzt alles was suPHP mal betrifft entfernt aus der apache2.conf und habe auch den Confixx krams mal auskommentiert. Jetzt führt er gar kein PHP mehr aus obwohl eingetragen ist:

Code: Select all

AddType application/x-httpd-php .php
AddHandler x-httpd-php .php
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suPHP, mod_php Problem?

Post by Roger Wilco »

Moppi wrote:so sieht jetzt mein vHost aus
Der Location-Block ist falsch. Du gibst gar keine Location an. ;)
Mach das nächste mal lieber noch einen Syntax-Check deiner httpd.conf.
antondollmaier
Posts: 485
Joined: 2004-03-30 10:06
 

Re: suPHP, mod_php Problem?

Post by antondollmaier »

@Moppi:

schau mal hier

für suPHP auf default on reichen diese anweisungen:

Code: Select all

LoadModule suphp_module /usr/lib/apache/1.3/mod_suphp.so
suPHP_Engine on 
AddHandler x-httpd-php .php[/quote]
bei mir ist zusätzlich noch mod_php geladen, das hab ich aber deaktiviert per default, und nur im confixx-vhost aktiviert...

du solltest außerdem aufpassen, dass deine php-version von cgi auch upgedatet wird, unter debian sarge reicht ein "apt-get install php4-cgi php4-cli" ... unter suse entsprechend über yast auswählen, oder, beim selber kompilieren, ohne "--with-apxs2" kompilieren ... dann wird die cgi-version gebacken ...


HTH
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suPHP, mod_php Problem?

Post by Roger Wilco »

antondollmaier wrote:für suPHP auf default on reichen diese anweisungen
Bei Versionen <0.6 ja, ansonsten muss noch explizit ein Handler für SuPHP gesetzt werden (eben mit SuPHP_AddHandler).
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

Re: suPHP, mod_php Problem?

Post by moppi »

ich hab jetzt die howot's allesamt durch und ich verstehe es nicht.
das mod_suphp ist eingebunden, der entsprechende vHost sieht so aus:

Code: Select all

<VirtualHost 217.160.132.172:80>
  ServerName mx-solutions.de
  ServerAlias www.mx-solutions.de web1.triceron.mx-solutions.de
  DocumentRoot /home/www/web1/html
  SuexecUserGroup web1 web1
  <Location>
    suPHP_Engine On
    SuPHP_AddHandler application/x-httpd-php
  </Location>
  php_admin_value open_basedir /home/www/web1/html/:/home/www/web1/phptmp/:/home/www/web1/files/:/home/www/web1/atd/
  php_admin_value file_uploads 1
  php_admin_value upload_tmp_dir /home/www/web1/phptmp/
</VirtualHost>
aber es funktioniert nicht.

/etc/suphp.conf

Code: Select all

[global]
;Path to logfile
logfile=/var/log/suphp.log

;Loglevel
loglevel=info

;User Apache is running as
webserver_user=apache

;Path all scripts have to be in
docroot=/home/www

; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=true

;PATH environment variable
env_path=/bin:/usr/bin

;Umask to set, specify in octal notation
umask=0077

; Minimum UID
min_uid=100

; Minimum GID
min_gid=100


[handlers]
;Handler for php-scripts
x-httpd-php=php:/usr/bin/php

;Handler for CGI-scripts
x-suphp-cgi=execute:!self
ich weiss nicht mehr weiter, der log wird ja auch nicht erstellt der evtl. Informationen enthalten könnte. im error_log des apache ist auch nichts verwertbares. Der einzige vHost der mit PHP korrekt läuft ist der vom Confixx, und das läuft über mod_php.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: suPHP, mod_php Problem?

Post by Joe User »

Code: Select all

<Location>
Es fehlt die Angabe der betroffenen Location, beispielsweise:

Code: Select all

<Location />
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

Re: suPHP, mod_php Problem?

Post by moppi »

ich hab es mal korrigiert:

Code: Select all

<VirtualHost 217.160.132.172:80>
  ServerName mx-solutions.de
  ServerAlias www.mx-solutions.de web1.triceron.mx-solutions.de

  DocumentRoot /home/www/web1/html
  SuexecUserGroup web1 web1
  <Location />
    suPHP_Engine On
    SuPHP_AddHandler application/x-httpd-php
  </Location>
  php_admin_value open_basedir /home/www/web1/html/:/home/www/web1/phptmp/:/home/www/web1/files/:/home/www/web1/atd/
  php_admin_value file_uploads 1
  php_admin_value upload_tmp_dir /home/www/web1/phptmp/
</VirtualHost>
leider kein Effekt.
http://www.mx-solutions.de/phpinfo.php
Ich habe gar den Eindruck wenn dieser auch subjektiv ist das suPHP irgendwie nicht funktioniert auf anderer Ebene. Wie kann ich denn prüfen ob dieses Modul auch funktioniert bzw auch läuft oder gar geladen wird?
jeti-power
Posts: 23
Joined: 2003-04-06 22:02
 

Re: suPHP, mod_php Problem?

Post by jeti-power »

Hi,
Ich habe gar den Eindruck wenn dieser auch subjektiv ist das suPHP irgendwie nicht funktioniert auf anderer Ebene. Wie kann ich denn prüfen ob dieses Modul auch funktioniert bzw auch läuft oder gar geladen wird?
nun, das einfachste wäre in der suphp.conf das LogLevel auf info hochstellen und dann im SuPHP Logile nachschauen ob jeder Aufruf einer PHP-Seite protokolliert wird (inkl. UID usw.)

Gruss,
Jens
moppi
Posts: 368
Joined: 2003-02-15 11:16
 

Re: suPHP, mod_php Problem?

Post by moppi »

ich habe alle loglevel durchprobiert er erstellt nicht mal die logdatei...
compositiv
Posts: 193
Joined: 2003-01-22 14:58
Location: Hamburg
Contact:
 

Re: suPHP, mod_php Problem?

Post by compositiv »

Die Config sieht schon ganz gut aus, das <Location>-Tag ist eigentlich nicht notwendig.
Neuere suPHP-Versionen haben allerdings einen kleinen "Bug", der verhindert das man suPHP_AddHandler überall eingesetzt werden kann, wo es vorgesehen ist.

Zum Beheben in src/apache2/mod_suphp.c im suPHP-Source die Zeile

Code: Select all

AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, ACCESS_CONF, "Tells mod_suphp to handle these MIME-types"),
in

Code: Select all

AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF | ACCESS_CONF, "Tells mod_suphp to handle these MIME-types"),
ändern, d.h. RSRC_CONF | hinzufügen und neu übersetzen.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: suPHP, mod_php Problem?

Post by Roger Wilco »

Compositiv wrote:Neuere suPHP-Versionen haben allerdings einen kleinen "Bug", der verhindert das man suPHP_AddHandler überall eingesetzt werden kann, wo es vorgesehen ist.
It's not a bug, it's a feature. :roll:
Post Reply