suphp oder suexec+fcgid?

Apache, Lighttpd, nginx, Cherokee
maybee
Posts: 80
Joined: 2005-11-02 18:21

suphp oder suexec+fcgid?

Post by maybee » 2008-04-10 17:54

Hi zusammen,

ich habe mir gerade 2 Testserver aufgesetzt, einer mit suphp und einer suexec+fcgid. Nun Frage ich mich wo der Unterschied zwischen diesen beiden Varianten ist.

Was ich bisher nachlesen konnte:

- suphp sollte man nicht mit mod_php gemeinsam nutzen
- Wenn ich alles richtig verstanden habe werden alle Scripte als Eigentümer ausgeführt
- Fremde Scripte von anderen Usern gehen nicht mehr
- Unter min UID kann nicht ausgeführt werden
- Safemode nicht mehr notwendig

- suexec fcgi im prinzip das gleiche nur das ich eben den Wrapper für jeden User anlegen muss


Kann mir jemand sagen wo der grosse Unterschied ist? Oder ist es im Prinzip beides das gleiche?

Ich danke euch,
Maybee

freddy36
Posts: 273
Joined: 2008-03-20 17:31

Re: suphp oder suexec+fcgid?

Post by freddy36 » 2008-04-10 18:20

fcgi ist schneller, allerdings kann es sein das unnötig Ressourcen verschwendet werden. Bei Usern mit wenigen Zugriffen macht eine reine cgi Lösung häufig mehr Sinn.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: suphp oder suexec+fcgid?

Post by Joe User » 2008-04-10 18:33

suexec ist universellel, da nicht auf PHP beschränkt, und flexibler als suphp, dafür auch minimal komplexer zu konfigurieren. Ich würde auf Beide verzichten und extern gespawnte FastCGI verwenden, ist erheblich performanter und sicherer...
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.

maybee
Posts: 80
Joined: 2005-11-02 18:21

Re: suphp oder suexec+fcgid?

Post by maybee » 2008-04-10 20:34

Hi zusammen,

ok, dass macht mich neugierig "extern gespawnte FastCGI".

Also im Prinzip FastCGI ohne SUexec? Über Google finde ich nichts hierzu. Ich könnte mir aber vorstellen das es FastCGI ohne starter ist ;-)

Kannst du mir einen Tipp geben?

Danke,
Maybee

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: suphp oder suexec+fcgid?

Post by Joe User » 2008-04-10 20:51

Es ist "FastCGI mit Starter" per User und kommt im Gegensatz zu CGI somit ohne suexec/suphp aus. Am einfachsten ist das Ganze mit Lighttpd und spawn-fcgi umzusetzen, mit Apache und mod_fcgid und externem Starter-Script geht es ebenfalls, wenn auch erheblich komplizierter.
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.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: suphp oder suexec+fcgid?

Post by Roger Wilco » 2008-04-10 21:28

Joe User wrote:Mit Apache und mod_fcgid und externem Starter-Script geht es ebenfalls, wenn auch erheblich komplizierter.

Mit mod_fastcgi für den Apache httpd geht es ähnlich einfach wie mit lighttpd oder nginx.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: suphp oder suexec+fcgid?

Post by Joe User » 2008-04-10 22:15

IIRC wird mod_fastcgi aber seit langem nicht mehr aktiv weiterentwickelt, oder hat sich das mitlerweile geändert?
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.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: suphp oder suexec+fcgid?

Post by Roger Wilco » 2008-04-10 22:24

Joe User wrote:IIRC wird mod_fastcgi aber seit langem nicht mehr aktiv weiterentwickelt, oder hat sich das mitlerweile geändert?

Es gab zwischenzeitlich mal wieder eine aktualisierte Version für den Apache httpd 2.2. Seitdem ist aber nicht mehr viel passiert -> http://repo.or.cz/w/mod_fastcgi.git

Und eigentlich warte ich auch schon einige Zeit auf mod_proxy_fcgi, allerdings scheint sich da auch nichts (mehr) zu tun. :(

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: suphp oder suexec+fcgid?

Post by Joe User » 2008-04-10 23:14

Roger Wilco wrote:Es gab zwischenzeitlich mal wieder eine aktualisierte Version für den Apache httpd 2.2. Seitdem ist aber nicht mehr viel passiert -> http://repo.or.cz/w/mod_fastcgi.git

Drei Commits vor einem Jahr und ein Dutzend 2004, schaut für mich nach einem toten Project aus.

Roger Wilco wrote:Und eigentlich warte ich auch schon einige Zeit auf mod_proxy_fcgi, allerdings scheint sich da auch nichts (mehr) zu tun. :(

Seit Apache 2.2.4 nicht mehr im 2.2er Branch, aber noch in trunk http://svn.apache.org/repos/asf/httpd/h ... oxy_fcgi.c und einen fcgistarter gibt es ebenfalls http://svn.apache.org/repos/asf/httpd/h ... istarter.c
Vielleicht wird es ja doch noch was ;)
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.

maybee
Posts: 80
Joined: 2005-11-02 18:21

Re: suphp oder suexec+fcgid?

Post by maybee » 2008-04-11 13:43

Hi zusammen,

also ich habe mir gerade suexec+fastcgi installiert , dass ganze mit php5 und php4. Aus irgendeinem Grund will aber php4 nicht anspringen, anstatt meiner php Datei die ich aufrufe gibt er mir mein Starterscript im Browser aus. Mit php5 klappt das alles bestens.

Meine fastcgi.conf

Code: Select all

<IfModule mod_fastcgi.c>

   FastCgiWrapper /usr/lib/apache2/suexec
   FastCgiIpcDir /var/lib/apache2/fastcgi

   AddHandler fastcgi-script .fcgi

   AddHandler php5-fastcgi .php
   AddHandler php4-fastcgi .php4

   AddType application/x-httpd-php .php
   AddType application/x-httpd-php .php4
   
   Action php4-fastcgi /cgi-bin/fcgi-php4-wrapper
   Action php5-fastcgi /cgi-bin/fcgi-php5-wrapper

   <Location /cgi-bin/>
      SetHandler fastcgi-script
      Options +ExecCGI
   </Location>
   
</IfModule>


Wenn ich eine phpDatei mit der Endung .php4 im Browser aufrufe startet der Wrapper:

Code: Select all

[warn] FastCGI: (dynamic) server "/var/www/conf/vh5600040/fcgi-php4-wrapper" started (pid 8999)


Sonst finde ich keine weiteren Infos in den Logs. Ist das komisch oder ist das komisch? Da php5 läuft habe ich einfach mal im Starter für php5 das binary auf php4 umgestellt und auch dann sendet er mir den starter an den Browser statt die php Datei auszuführen.

Also müsste meine Config bis zum Starter ok sein.

Wenn ich den starter oder das Binary von Hand aufrufe springt php4 ebenfalls an.

Ich kann mir nicht weiterhelfen ...

Wenn ich das ganze mit mod_fcgid anstelle arbeitet es mit php4 und php5, aber da habe ich keinen Weg gefunden HTTP AUTH nutzen zu können.

Hat jemand eine Idee woran es liegen kann?

--
Unabhängig, PS.: Generell zu diesem Thema ein Beitrag aus dem Wiki den ich hilfreich finde: http://www.rootforum.org/wiki/howto/php/ ... vs_php-cgi

jeti-power
Posts: 23
Joined: 2003-04-06 22:02

Re: suphp oder suexec+fcgid?

Post by jeti-power » 2008-05-19 13:57

Hi,

es gibt ein Weg, ja ... aber der ist sowas von unschön. Du könntest Apache mit CFLAGS="-DSECURITY_HOLE_PASS_AUTHORIZATION" kompilieren. Damit werden die Variablen zwar weitergegeben, aber du öffnest gleichzeitig auf dem Server auch eine Sicherheitslücke.

Zitat Apache-Homepage:
"Warning: Enabling this feature is considered a security risk, as scripts and documents can capture all aspects of the user credentials. For example, your configuration may include an authentication database that is accessible only by the server, and not directly available to users. With this feature enabled, any script that is flagged as needing authentication checks against that database, even a user script, will be able to capture the credentials. In the case of Basic authentication, the password is available in cleartext."

Aber vielleicht hat von euch einer eine bessere Idee. Mich würde das seit langem sehr interessieren ...

Gruß,
jeti-power