suexec und php

Apache, Lighttpd, nginx, Cherokee
Post Reply
r00ty
Posts: 747
Joined: 2003-03-17 15:32
 

suexec und php

Post by r00ty »

Hallo !
Ich konnte mein Problem bisher noch nicht hier im Forum finden....
Ich will php über suexec laufen lassen...

Suse 8.2 - 1und1
Apache 1.3
HTTPD_ROOT="/srv/www"

meine cgi's laufen, da ich nen symlink von /srv/www/htdocs -> /home/www/ habe

nun habe ich meine binarys von php in /home/www/php5/ plaziert
und die http.conf angepasst
allerdings bekomme ich jetzt einen fehler im suexec.log

Code: Select all

[2004-04-25 21:19:22]: info: (target/actual) uid: (web7/web7) gid: (ftponly/ftponly) cmd: php
[2004-04-25 21:19:22]: error: target uid/gid (655/101) mismatch with directory (0/0) or program (0/0)
wenn ich das php5 verzeichnis auf web7:ftponly setzte funktioniert es - aber ich will es ja für alle user benutzbar machen (die rechte von den php-binaries: 755)

ist das möglich ?
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: suexec und php

Post by majortermi »

Wenn du PHP über suExec benutzen willst, musst du für jeden Benutzer eine eigene Kopie der PHP-Executable anlegen (oder Hardlinks benutzen).
Alternative: suPHP
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
r00ty
Posts: 747
Joined: 2003-03-17 15:32
 

Re: suexec und php

Post by r00ty »

was meinst du mit Hardlinks ?

ich verwende suPHP schon von mein php4 - da kann ich nicht gleichzeitig noch ein suPHP für php5 verwenden, oder ?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: suexec und php

Post by Joe User »

r00ty wrote:was meinst du mit Hardlinks ?

Code: Select all

man ln
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.
r00ty
Posts: 747
Joined: 2003-03-17 15:32
 

Re: suexec und php

Post by r00ty »

vielen vielen Dank für die Informationen Joe - darauf wäre ich nie gekommen !

aber was hilft mir bitte ein Hardlink ?
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: suexec und php

Post by majortermi »

r00ty wrote:aber was hilft mir bitte ein Hardlink ?
Dass ist eine Alternative zum Anlegen von Kopien der PHP-Executable!
Da abgesehen vom Inhalt jeder Hardlink einer Datei, wie eine eigenständige Kopie behandelt wird, kannst du unabhängig voneinander den Besitzer und/oder Rechte ändern.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
r00ty
Posts: 747
Joined: 2003-03-17 15:32
 

Re: suexec und php

Post by r00ty »

okay, thx

ne andere Frage - gibt es ne möglichkeit die php-executable vobei an suexec auszuführen, dann läuft es eben als wwwrun. Solange Safe_Mode aktiviert ist sollte das kein größeres Problem darstellen

[edit]
aber nicht als modul....
[/edit]
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: suexec und php

Post by majortermi »

r00ty wrote:ne andere Frage - gibt es ne möglichkeit die php-executable vobei an suexec auszuführen, dann läuft es eben als wwwrun. Solange Safe_Mode aktiviert ist sollte das kein größeres Problem darstellen
Ja, dazu muss ein ScriptAlias auf das Verzeichnis gesetzt werden, in dem sich PHP befindet. Für dieses Verzeichnis darf nicht "SuexecUserGroup" (bzw. "User" oder "Group" bei Apache 1.3.x) gesetzt sein. Dies funktioniert allerdings nicht, wenn die entsprechenden Direktiven im VHost-Context gesetzt sind, wofür aber normalerweise keine zwingende Notwendigkeit besteht.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
r00ty
Posts: 747
Joined: 2003-03-17 15:32
 

Re: suexec und php

Post by r00ty »

yeah super - danke das wars was ich gesucht habe
Anonymous
 

Re: suexec und php

Post by Anonymous »

MajorTermi wrote: Ja, dazu muss ein ScriptAlias auf das Verzeichnis gesetzt werden, in dem sich PHP befindet. Für dieses Verzeichnis darf nicht "SuexecUserGroup" (bzw. "User" oder "Group" bei Apache 1.3.x) gesetzt sein. Dies funktioniert allerdings nicht, wenn die entsprechenden Direktiven im VHost-Context gesetzt sind, wofür aber normalerweise keine zwingende Notwendigkeit besteht.
Wie genau funktioniert dieses?
Apache2, Suexec2, php4 als Modul, php5 als cgi

ich habe eine php5.conf angelegt

Code: Select all

<Directory "/usr/bin/php5">
AllowOverride None
Options +ExecCGI +FollowSymLinks
Order allow, deny
Allow from all
</Directory>

ScriptAlias /php5-script /usr/bin/php5
Action php5-cgi /php5-script/php
AddType php5-cgi .php5
php liegt auch in /usr/bin/php5

beim ausfuehren eines .php5 scripts kommt der suexec2 fehler

Code: Select all

command not in docroot (/usr/bin/php5/php)
suexec2 docroot liegt auf /home/htdocs/

lege ich php unterhalb von /home/htdocs/ ab und gebe dem Verzeichnis als auch php den gleichen Nutzer und Gruppe wie dem Script laeuft auch alles. Aber ich möchte fuer alle Nutzer php5 zugaeglich machen, ohne jedesmal einen Hardlink setzten zu müssen.

Irgendwie sitzt ich nun aber wie der Ochse vorm Berg und finde den Fehler nicht.

Vielen Dank fuer die Hilfe.
becko
r00ty
Posts: 747
Joined: 2003-03-17 15:32
 

Re: suexec und php

Post by r00ty »

also ich habs nie ausprobiert, aber geht es nicht dass du die binaries in dein
/home/htdocs/php5
kopierst

und dann per
ScriptAlias /php5-script /home/htdocs/php5/php5
Action php5-cgi /php5-script/php
AddType php5-cgi .php5

aktivierst ?
(ps: ich hatte damals jeden User der php5 wollte ne Binary in sein <Docroot>/php5 kopiert)
Anonymous
 

Re: suexec und php

Post by Anonymous »

das funktioniert :-) und mach ich auch,

aber ich wuerde halt gerne nicht jedem nutzer eine kopie machen muessen.
laut MajorTermi sollte das ja auch gehen..

gruesse
becko
creek
Posts: 76
Joined: 2003-07-29 08:52
Location: Stuttgart
 

Re: suexec und php

Post by creek »

r00ty man kann mit suphp mehrere php versionen gleichzeitig laufen lassen
Post Reply