Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Apache, Lighttpd, nginx, Cherokee
hoagster
Posts: 7
Joined: 2006-07-22 23:06

Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Post by hoagster »

Ich bin zur Installation von mod_fastcgi diesem Howto gefolgt: http://www.rootforum.org/forum/viewtopic.php?t=28561.
Meine Webserver Installation soll als shared-Hosting Lösung arbeiten.

Ich bin nun an der Stelle angelangt, an der man die Datei fastcgi.conf im mods-available Verzeichnis anlegen soll angekommen.

Mein vertändnis Problem ist jetzt folgendes:
in der fastcgi.conf sind Angaben für den PRIM_VHOST, USER_PRIM_VHOST und GROUP_PRIM_VHOST zu machen.:
FastCgiWrapper /usr/lib/apache2/suexec2
FastCgiServer /var/www/php-fcgi-scripts/PRIM_VHOST/php-fcgi-starter -user USER_PRIM_VHOST -group GROUP_PRIM_VHOST

AddHandler php-fastcgi .php

<Location /cgi-bin/php-fcgi-starter>
SetHandler fastcgi-script
Options +ExecCGI
</Location>

Action php-fastcgi /cgi-bin/php-fcgi-starter

AddType application/x-httpd-php .php
Soweit ich das verstanden habe, wird diese Datei nur einmal angelegt. Wie ist es aber möglich für jeden Benutzer ein eigenes php-fcgi-starter Script anzulegen, das dann über die fastcgi.conf gestartet wird?
stefanpropehan
Posts: 335
Joined: 2002-12-17 22:25
Location: Berlin

Re: Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Post by stefanpropehan »

Lese Dir mal das ganze Howto von oben bis nach unten durch... Für jeden vhost kannst du über den Script Alias und das cgi-bin Verzeichnis ein anderes FAST-CGI Starter Skript festlegen.

Code: Select all

SuexecUserGroup VHOST_USER VHOST_GROUP
ScriptAlias /cgi-bin/ /var/www/php-fcgi-scripts/VHOST/
--
Stefan
hoagster
Posts: 7
Joined: 2006-07-22 23:06

Re: Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Post by hoagster »

Super, danke.

Jetzt habe ich noch eine Frage.
Muss ich für jeden VHOST ein eigenes php-fcgi-starter Script anlegen oder können 2 VHOSTs ein und das selbe Script benutzen?
[Sun Jul 23 21:47:22 2006] [notice] FastCGI: wrapper mechanism enabled (wrapper: /opt/apache2.2.2/sbin/suexec-fcgi)
[Sun Jul 23 21:47:22 2006] [notice] FastCGI: process manager initialized (pid 3578)
[Sun Jul 23 21:47:22 2006] [warn] FastCGI: server "/kunden/homepages/php-fcgi-scripts/cxxxxxxxx/php-fcgi-starter" (uid 5501, gid 5500) started (pid 3579)
[Sun Jul 23 21:47:22 2006] [notice] Apache/2.2.2 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0404142202 configured -- resuming normal operations
[Sun Jul 23 21:47:50 2006] [warn] FastCGI: (dynamic) server "/kunden/homepages/php-fcgi-scripts/cxxxxxxx/php-fcgi-starter" (uid 0, gid 0) started (pid 3680)
Der FastCGI: server wird gestartet, mit der richtigen uid und gid.
Dann wenn ich eine Seite aufrufe wird der FastCGI: (dynamic) server gestartet, die uid und gid ist gleich 0.

Ich bekomme auch noch die Meldung:
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
hoagster
Posts: 7
Joined: 2006-07-22 23:06

Re: Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Post by hoagster »

Die Frage mit 2 VHOSTs selbes Script hat sich erledigt.

Ich habe nur noch das Problem, das der FastCGI: (dynamic) server mit der uid und gid 0 gestartet wird. Woran könnte das liegen?
hoagster
Posts: 7
Joined: 2006-07-22 23:06

Re: Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Post by hoagster »

Ich habe in ein php-Skript noch die funltion

Code: Select all

system('id)
gepackt. Als User und Group wird jeweils die id vom Apache ausgegeben.

In der VHost konfiguration ist jedoch für SuexecUserGroup de User und die Gruppe des richtigen benutzers angegeben. z.B. web1 ftpuser.

Die
fastcgi conf sieht so aus:

Code: Select all

FastCgiWrapper /opt/apache2.2.2/sbin/suexec-fcgi
FastCgiServer /kunden/homepages/php-fcgi-scripts/xxxxxxxxx/php-fcgi-starter -user xxxxxxxxx -group ftpuser
 
AddHandler php-fastcgi .php
 
<Location /cgi-bin/php-fcgi-starter>
        SetHandler fastcgi-script
        Options +ExecCGI
</Location>
 
Action php-fastcgi /cgi-bin/php-fcgi-starter
 
AddType application/x-httpd-php .php
ein VHost sieht so aus:

Code: Select all

<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin webmaster@xxxxxxxxxxxx.xxx
ServerName xxxxxxxxxxxx.xxx
ServerAlias www.xxxxxxxxxxxx.xxx

SuexecUserGroup xxxxxxxxx ftpuser

DocumentRoot /kunden/homepages/xxxxxxxxx/htdocs/xxxxxxxxxxxx.xxx/document_root
<Directory "/kunden/homepages/xxxxxxxxx/htdocs/xxxxxxxxxxxx.xxx/document_root">
Options ExecCGI -FollowSymLinks -Includes IncludesNOEXEC -Indexes -MultiViews SymLinksIfOwnerMatch
AllowOverride All
CheckSpelling On
order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /kunden/homepages/php-fcgi-scripts/xxxxxxxxx/
<Directory "/kunden/homepages/php-fcgi-scripts/xxxxxxxxx">
AllowOverride None
Options +ExecCGI -MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>

</VirtualHost>
Es wär echt super wenn mir jemand helfen könnte.
hoagster
Posts: 7
Joined: 2006-07-22 23:06

Re: Apache2, suexec2, mod_fastcgi, php5-fcgi Howto - verständnis Problem

Post by hoagster »

Nach langem suchen, habe ich mein Problem endlich lösen können.

Bei der installation von Apache ist die suexec binary in das Verzeichnis /opt/apache2.2.2/sbin gelangt.

mit

Code: Select all

httpd -V
wurde jedoch /opt/apache2.2.2/bin für das suexec binary ausgespuckt worden.

Jetzt funktioniert alles.