Problem mit fastcgi und php4 unter apache2 (debian sarge)

Apache, Lighttpd, nginx, Cherokee
Post Reply
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

Hi!
Ich habe grade mal nach dem Howto auf debianhowto.de meinen 2t-Server auf Apache2 und fastcgi mit php4 geupdatet. Das ganze läuft unter debian sarge.

als php4-fcgi binary benutze ich:

Code: Select all

master:/etc/apache2# php4-cgi -v
PHP 4.3.10-16 (cgi-fcgi) (built: Aug 24 2005 20:10:22)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

jetzt bekomme ich beim aufruf einer php-Datei innerhalb meines Test-Vhosts folgende Seite angezeigt:

Code: Select all

PHPRC="/var/www/server/conf" export PHPRC PHP_FCGI_CHILDREN=4 export PHP_FCGI_CHILDREN exec /usr/bin/php4-cgi
also genau die zeilen meiner php-fcgi-starter Datei :/ #!/bin/sh steht da noch davor in der Datei... was läuft da schief?

Könnte es daran liegen, dass der eigentliche doc-root von dem user "server" unter /home/server/www liegt?

Ich hab jetzt bestimmt 2h hier gesucht und gelesen und finde den Fehler einfach nicht :/

Bin für jede Hilfe dankbar.
Gruß, Flo[/code]
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by sledge0303 »

Anhand des Skripts sagt meine Glaskugel du hast anscheinend PHP5 nach dem HOWTO installiert:
http://www.debianhowto.de/de/howtos/sar ... 2_php-fcgi


An deiner Stelle würde ich mich, wenn schon keine Erfahrungen vorliegen, zum ersten mal mich haargenau an das halten was vorgegegeb wird. Wenn alles läuft kannst ja schrittweise umstellen.

Das PHP das Starterskript auf den Bildschirm bringt ist mir total neu, was hast denn da gemacht, das hat die Glaskugel nicht rausgefunden...
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

sledge0303 wrote:Anhand des Skripts sagt meine Glaskugel du hast anscheinend PHP5 nach dem HOWTO installiert:
http://www.debianhowto.de/de/howtos/sar ... 2_php-fcgi


An deiner Stelle würde ich mich, wenn schon keine Erfahrungen vorliegen, zum ersten mal mich haargenau an das halten was vorgegegeb wird. Wenn alles läuft kannst ja schrittweise umstellen.

Das PHP das Starterskript auf den Bildschirm bringt ist mir total neu, was hast denn da gemacht, das hat die Glaskugel nicht rausgefunden...
nein ich habe das php4-fcgi paket von debian installiert. Ich verstehe es auch absolut nicht - keinerlei anzeichen in den logs... ausser, daß das fastcgi immer wieder neu startet nach XX sekunden.
Es laufen ja laut ps -ax auch die 5 von mir eingestellen fastcgi-prozesse... *schulterzuck*
ohne suexec läuft es übrigens.

was würde dir helfen? Die Configs sind alle haargenau laut howto übernommen.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by sledge0303 »

Ah verstehe. Ich selber habe FCGI mit dem Quellcode installiert und es läuft prima. Da mir aber nicht bekannt ist, wie FCGI im Debianpaket konfiguriert wurde, solltest du mit

Code: Select all

apt-get uninstall -purge <fcgi-paket>
das Paket deinstallieren und manuell konfigurieren. Das Apache2 Paket kannst ja drauflassen, ich habe den Apachen zwar selber kompiliert mit allen dazugehörigen Features, würde aber dir empfehlen, wenn kaum Erfahrungen vorliegen, das Paket zu installieren.
Geh dann genau nach der Anleitung vor und dann dürfte es gehen.
Ich selber bin erst seit knapp 4 Monaten mit Linux unterwegs und wenn die Prozeduren einmal durch hast, dir selber kleine Howtos erstellt hast wo später mal nachlesen kannst, lernst eine ganze Menge.
Auf unserem Firmenserver und meinem Testserver zu Hause habe ich OpenXchange installiert. Sofern ich hier und da gute Tipps finde, lege ich mir Einträge darüber an und kann ggf. nachlesen wie andere bestimmte Probleme gelöst haben.
Das Debiananwenderhandbuch ist auch sehr gut und verständlich beschrieben. Nachdem all meine Installationen problemlos laufen, wage ich mich an das Thema Sicherheit des Servers ran usw usw usw.
Selbst aus so kleinen Howtos wie FCGI+PHP+SUEXEC habe ich eine Menge gelernt und habe, manchmal mit kleinen spielereien am Testserver die eine oder andere Verbesserung selber rausgefunden.
Kommt immer drauf an ob du wirklich Interesse hast was zu lernen oder mit einem installierten Dienst zufrienden bist und schluss ;)

Wenn weitere Fragen hast schick mir ruhig eine PM

S.
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

sledge0303 wrote:Ah verstehe. Ich selber habe FCGI mit dem Quellcode installiert und es läuft prima. Da mir aber nicht bekannt ist, wie FCGI im Debianpaket konfiguriert wurde, solltest du mit

Code: Select all

apt-get uninstall -purge <fcgi-paket>
das Paket deinstallieren und manuell konfigurieren. Das Apache2 Paket kannst ja drauflassen, ich habe den Apachen zwar selber kompiliert mit allen dazugehörigen Features, würde aber dir empfehlen, wenn kaum Erfahrungen vorliegen, das Paket zu installieren.
Geh dann genau nach der Anleitung vor und dann dürfte es gehen.
Ich selber bin erst seit knapp 4 Monaten mit Linux unterwegs und wenn die Prozeduren einmal durch hast, dir selber kleine Howtos erstellt hast wo später mal nachlesen kannst, lernst eine ganze Menge.
Auf unserem Firmenserver und meinem Testserver zu Hause habe ich OpenXchange installiert. Sofern ich hier und da gute Tipps finde, lege ich mir Einträge darüber an und kann ggf. nachlesen wie andere bestimmte Probleme gelöst haben.
Das Debiananwenderhandbuch ist auch sehr gut und verständlich beschrieben. Nachdem all meine Installationen problemlos laufen, wage ich mich an das Thema Sicherheit des Servers ran usw usw usw.
Selbst aus so kleinen Howtos wie FCGI+PHP+SUEXEC habe ich eine Menge gelernt und habe, manchmal mit kleinen spielereien am Testserver die eine oder andere Verbesserung selber rausgefunden.
Kommt immer drauf an ob du wirklich Interesse hast was zu lernen oder mit einem installierten Dienst zufrienden bist und schluss ;)

Wenn weitere Fragen hast schick mir ruhig eine PM

S.
Hi!
Ja linux-erfahrung + eigener Server ist schon reichlich vorhanden - allerdings noch keine apache2 erfahrung :)
Aus Gründen der einfachen Upgrade-Verwaltung, etc. wollte ich wo es irgendwie geht die deb-pakete nehmen. Aber das php compile ich jetzt mal selber - mal sehen was passiert :)
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

"Wir laden uns die fastcgi Sourcen down, und entpacken es. Wichtig hierbei ist, dass die Stable Version 2.4.2 einen Apache2 Bug hat, und deswegen nicht funktioniert, wir benötigen eine Version (SnapShot), die mindestens so neu ist, wie hier im HowTo benutzt."

nerv... das hab ich irgendwie wohl überlesen...
Version: 2.4.2-6 ist als deb-paket vorhanden.
Vielleicht liegt ja da der Fehler - hoffentlich :)
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by sledge0303 »

Kleiner Fehler - große Wirkung... kommt mir irgendwie bekannt vor ;)
Was stand den als Versionsnummer in der 404 Fehlermeldung, wenn versuchst eine Seite zu öffnen die es nicht gibt?

Ich habe gelernt das es besser ist zu kompilieren statt der vorgefertigtem Pakete. Wenn irgendetwas nicht funktioniert kannst noch immer feststellen wieso und warum, bei den vorgefertigten Paketen ist das nicht immer ersichtlich, so jedenfalls meine Erfahrungen.
Hier laufen alle selbstkompilerten (Web)Dienste zur allgemeinen Zufriedenheit
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

sledge0303 wrote:Kleiner Fehler - große Wirkung... kommt mir irgendwie bekannt vor ;)
Was stand den als Versionsnummer in der 404 Fehlermeldung, wenn versuchst eine Seite zu öffnen die es nicht gibt?

Ich habe gelernt das es besser ist zu kompilieren statt der vorgefertigtem Pakete. Wenn irgendetwas nicht funktioniert kannst noch immer feststellen wieso und warum, bei den vorgefertigten Paketen ist das nicht immer ersichtlich, so jedenfalls meine Erfahrungen.
Hier laufen alle selbstkompilerten (Web)Dienste zur allgemeinen Zufriedenheit
So...
Versionsnummer des Apachen:
Apache/2.0.54 (Debian GNU/Linux) mod_fastcgi/mod_fastcgi-SNAP-0404142202 Server

Auszug der error.log:

Code: Select all

[Fri Oct 21 13:31:53 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" (uid 1001, gid 1001) restarted (pid 30527)
[Fri Oct 21 13:31:53 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" (pid 30527) terminated due to uncaught signal '11' (Segmentation fault)
[Fri Oct 21 13:31:58 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" (uid 1001, gid 1001) restarted (pid 30528)
[Fri Oct 21 13:31:58 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" (pid 30528) terminated due to uncaught signal '11' (Segmentation fault)
[Fri Oct 21 13:31:58 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds
[Fri Oct 21 13:32:25 2005] [error] [client 84.58.7.181] FastCGI: comm with server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" aborted: idle timeout (30 sec)
[Fri Oct 21 13:32:25 2005] [error] [client 84.58.7.181] FastCGI: incomplete headers (0 bytes) received from server "/var/www/php-fcgi-scripts/server/php-fcgi-starter"
Suexec.log zeigt keine Fehler.

Ich hab jetzt alles haargenau nach dem Howto gemacht - ich weiß einfach nicht wo der verdammte Fehler liegt :/ Verhalten ist übrigens bei php4 und php5 identisch :(

Versionsnummer php4:

Code: Select all


master:/home/floker/apps/php-4.4.0-fcgi/bin# ./php4-fcgi -v
PHP 4.4.0 (cgi-fcgi) (built: Oct 21 2005 12:49:36)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
PHP5:

Code: Select all

master:/home/floker/apps/php-5.0.5-fcgi/bin# ./php5-fcgi -v
PHP 5.0.5 (cgi-fcgi) (built: Oct 21 2005 12:55:12)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.5, Copyright (c) 1998-2004 Zend Technologies
Wo könnte ich noch ansetzen? Es sieht ja so aus, als wenn direkt beim ausführen des php-fastcgi-starters der Fehler entsteht :/
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by sledge0303 »

Also PHP ist soweit OK.
Wenn du jetzt eine test.php erstellst, erscheint ein 500 - Internal Server Error?
Die Meldungen im Logfile deuten darauf hin

Es wurden für den Suexec2 falsche Benutzerrechte festgelegt.
Versuche doch einfach mal in der

Code: Select all

        SuexecUserGroup -user nobody -group nogroup
einzusetzen. Funktioniert dies, sind ein falscher User bzw. Gruppe gesetzt worden.

Was sagt den

Code: Select all

lsattr php-fcgi-starter
Sind die Handler richtig gesetzt worden und stimmt der Script-Alias mit den ExecCGI Optionen?
Manchmal sind kleine Typos schuld das nischt jeht ;)

...immer schön den Apachen neu starten nach jeder Ã?nderung, diese Erkenntnisse konnte ein Kollege nach 3 Stunden sammeln und wunderte sich das immer und immer wieder der selbe Fehler trotz Behebung auftauchte...
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

sledge0303 wrote:Also PHP ist soweit OK.
Wenn du jetzt eine test.php erstellst, erscheint ein 500 - Internal Server Error?
Die Meldungen im Logfile deuten darauf hin
genau so ist es.
Es wurden für den Suexec2 falsche Benutzerrechte festgelegt.
Versuche doch einfach mal in der

Code: Select all

        SuexecUserGroup -user nobody -group nogroup
einzusetzen. Funktioniert dies, sind ein falscher User bzw. Gruppe gesetzt worden.
SuexecUserGroup ohne das -user -group :) Das ist aber richtig - user: server group:server - die dateien gehören wie im Howto beschrieben dem user server.
Suexec.log sagt auch, dass da alles korrekt abläuft:

Code: Select all

[2005-10-21 14:02:39]: uid: (server/server) gid:(server/server) cmd: php-fcgi-starter
Was mich aber jetzt grade gewundert hat... wenn ich da nen anderen user reinschreibe führt der das ganze trotzdem mit server / server aus ?!?!? und wenn ichs weglasse dann auch ?!?!?
Was sagt den

Code: Select all

lsattr php-fcgi-starter
immutable-bit gesetzt :)
Sind die Handler richtig gesetzt worden und stimmt der Script-Alias mit den ExecCGI Optionen?
Manchmal sind kleine Typos schuld das nischt jeht ;)
sollte stimmen, habs nochmal kontrolliert gerade. :(
...immer schön den Apachen neu starten nach jeder Ã?nderung, diese Erkenntnisse konnte ein Kollege nach 3 Stunden sammeln und wunderte sich das immer und immer wieder der selbe Fehler trotz Behebung auftauchte...
hehe ja.
Ich befürchte inzwischen, dass es irgendein müll in irgendeiner config ist oder ein Bug im Apachen/Suexec ... ich bin kurz davor den ganzen scheiß wieder runterzuwerfen und nochmal komplett von vorne anzufangen :(

Bisher hatte ich immer suphp laufen, aber wg. Performanceproblemem wollte ich jetzt mal fastcgi auf dem neuen server nutzen.

DAnke für deine Mühe schonmal.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by sledge0303 »

Wie schon gesagt es ist ein Suexec Problem. Wenn server:server die entsprechenden Rechte besitzen muss es einfach funktionieren. Bei mir steht admin:admin mit UID 1000 als ausführende Kraft in der Konfigurationsdatei der FastCGI.
Im Howto steht drin wie man suexec andere Benutzerrechte zuweist, hast das schon mal gemacht?
kommentiere die suexec spassenshalber mal aus, irgendwo hatte ich das mal gelesen... wenn dein Server öffentlich zugänglich ist dann natürlich nicht!

Code: Select all

ls -l /usr/lib/apache2/suexec
Die Rechte sollten auf 4755 gesetzt werden, wie beschrieben. Danach klappt das auch mit dem FastCGI auf dem Apachen.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by sledge0303 »

Oops, hab deine PM zu spät gesehen, hab dorthin nochmal geantwortet
floker
Posts: 82
Joined: 2004-01-04 15:14
 

Re: Problem mit fastcgi und php4 unter apache2 (debian sarge)

Post by floker »

So - hab nochmal alles runtergeworfen, um eventuelle Fehler beim erstellen komplett auszuschließen. Schön alles mit --purge "großräumig" entfernt.

Das ganze sieht jetzt auch "etwas" besser aus - vielleicht kann ja jemand hiermit etwas anfangen. Sieht so aus, als verlange der Process Manager nach einer log-file ?!?!?!

Code: Select all

[Tue Oct 25 21:41:56 2005] [notice] FastCGI: wrapper mechanism enabled (wrapper: /usr/lib/apache2/suexec2)
[Tue Oct 25 21:41:56 2005] [notice] FastCGI: process manager initialized (pid 6632)
failed to open log file
fopen: Permission denied
[Tue Oct 25 21:41:56 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" (uid 1001, gid 1001) started (pid 6633)
[Tue Oct 25 21:41:56 2005] [warn] FastCGI: server "/var/www/php-fcgi-scripts/server/php-fcgi-starter" (pid 6633) terminated by calling exit with status '1'
[Tue Oct 25 21:41:56 2005] [notice] Apache/2.0.54 (Debian GNU/Linux) mod_fastcgi/mod_fastcgi-SNAP-0404142202 configured -- resuming normal operations
failed to open log file
fopen: Permission denied
Das ganze funktioniert nicht... aber die Fehlermeldung ist eine andere....
Fällt jemanden hierzu noch was ein? ich hab leider bisher in ner halben Stunde suchen (u.a. durchsuchen des 15MB Archivs der Mailingliste) nichts finden können :(

Gruß,
Flo[/code]
Post Reply