Page 1 of 1

Fehler 500 bei Perlscripten

Posted: 2002-11-30 21:36
by bendar
Hallo,
beim ausführen von Perlscripten per Apache kommt immer der Fehler 500 und im error_log steht folgendes:

Code: Select all

Premature end of script headers: /xxx/stats.pl
Das Script wurde im richtigen Modus hochgeladen, besitzt die richtigen Dateirechte und kann per ssh ausgeführt werden, nur eben nicht per Apache. In der conf von Apache ist .pl als cgi eingetragen.

Woran kann es liegen?

Habe sogar den Apache vom Puretecserver installiert, aber es geht immer noch nicht. Ich bin ratlos...

Re: Fehler 500 bei Perlscripten

Posted: 2002-11-30 21:37
by sascha
Hi,

/var/log/httpd/suexec.log lesen, fehler beheben und freuen ;)

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-01 01:43
by bendar
hmm...und was ist nun der Fehler? Sehe da keinen...

Code: Select all

[2002-11-30 19:32:40]: info: (target/actual) uid: (web12/web12) gid: (ftponly/ftponly) cmd: stats.pl

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-01 03:08
by sascha
Hm ok dann war meine Vermutung falsch :oops:

Poste doch mal das Script hier rein vielleicht finden wir nen Fehler...

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-01 06:47
by bendar
Sorry, aber an dem Script liegt es 100%ig nicht, da es nicht von mir ist, sondern ein offizielles sehr bekanntes Script für Clanwars, also sollte es wirklich nicht daran liegen.

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-01 15:05
by sascha
Hmm das einzige was mir noch einfällt ist dass du vielleicht nen Leerzeichen nach #!/usr/bin/perl hast. Außerdem könntest du auch mal ein anderes Script testen. Wenn das geht liegts eben doch an deinem Clan Script.

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 14:59
by funnydingo
Ich habe auch ein Problem mit suEXEC mit dem ich nichts anfangen kann:

[2002-12-07 12:30:25]: crit: calling user mismatch (A instead of wwwrun)

Unter User A läuft bei mir der Apache, jedoch laufen drei VHOSTS als User B und genau bei diesen drei VHOSTS habe ich das Problem. Sobald ich "user" und "group" der drei VHOSTS auf User A setzten, werden auch meine CGI's ausgeführt. Weiß jemand wie ich das Problem lösen kann? Ich sitze schon seit vier Tagen davor und so langsam nervt es.

Gruß, bin für jeden Tip dankbar


-Funny-

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 15:25
by sascha
Hi,

SuEXEC ist bei SuSE Linux so konfiguriert dass der Apache User wwwrun heißen muss. Wenn du das ändern möchtest musst du SuEXEC neu kompilieren.

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 15:30
by funnydingo
OK, und weiß du zufällig auch wie ich die komplette aktuelle Konfiguration raus bekomme? Damit ich beim kompilieren verschiedene Parameter so setzten kann, wie sie jetzt sind.

Oder ich müsste den User und die Gruppe der 'MainConfig' wieder auf wwwrun setzten, und user/group in ALLEN VHOSTS setzten, richtig? Wie heißt den bei SuSE dir originale Gruppe?

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 15:54
by funnydingo
Wäre doch ganz praktisch wenn mir jemand sagen könnte wie ich aktuelle Konfiguration von suEXEC herraus bekommen kann. Ich muss neu kompilieren, da der DocRoot nicht passt.

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 18:05
by sascha
Hi,

mit suexec -V bekommst du alles angezeigt...

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 19:10
by funnydingo
Hatte ich auch gedacht, aber da kommt gar nix :-(

Mal ne andere Frage: Wie bekomme ich suEXEC am besten neu kompiliert? Ich habe mir einige Anleitung angesehen, doch greifen diese immer auf "ServerRfoot/src/support/" zu (suexec.h editieren). Dieses Verzeichnis habe ich habe nicht. Also habe ich mir die Sources meiner Apache Version runter geleden und versucht die von dort aus zu editieren und komplilieren. Ohne Erfolg, ich bekomme immer Fehlermeldung das irgendwelche *.h und *.c nicht gefunden werden können. Wie gehe ich da am besten vor? Den Apache in dem entsprechenden Verzeichnis einmal neu mit suEXEC komplilieren und das suEXEC-Binary einfach raus kopieren?

Gruß, danke mal füt deine Hilfe ;-)


-Funny-

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 19:21
by sascha
Hatte ich auch gedacht, aber da kommt gar nix
Hast du das V auch groß geschrieben?
Mal ne andere Frage: Wie bekomme ich suEXEC am besten neu kompiliert?
Ich habe den ganzen Apache kompiliert und das Binary einfach kopiert. Allerdings hab ich neulich auch make suexec entdeckt. Ich weiß jetzt nur nicht genau obs das nur beim Apache 2 gibt. Probiers einfach mal aus und berichte hier. :wink:

Re: Fehler 500 bei Perlscripten

Posted: 2002-12-07 19:54
by funnydingo
Yeeeeeeeeeeeha!

Es funktitioniert!

a) Aktuelle Apache-Sources herunterladen.
# wget http://www.apache.org/dist/httpd/*****

b) Entpacken
# mv apache_****.tar.gz /usr/local/src/
# gzip -d apache_****.tar.gz
# tar -xvf apache_****.tar
# cd apache_****

c) Konfigurieren
# ./configure --enable-suexec --suexec-caller=UID --suexec-docroot=DIR --suexec-logfile=FILE --suexec-userdir=DIR --suexec-uidmin=UID --suexec-gidmin=GID --suexec-safepath=PATH

d) Kompilieren
# make

e) Aktuellen Ort von suEXEC finden
# locate suexec
/usr/sbin/suexec (!je nach Installation unterschiedlich!)

f) suEXEC sichern (niemals vergessen ;-)
# cp /usr/sbin/suexec /usr/sbin/suexec_old

g) Neues suEXEC-Binary drüber spielen
# cp src/support/suexec /usr/sbin/suexec

h) Fertig und freuen *g*

Gruß, habt mir super geholfen, ich glaube das kann hier noch richtig lusitg werden ;-)


-Funny-

PS: "suexec -V" (großes oder kleines V spielt keine Rolle) erzeugt bei mir keine Ausgabe

Re: Fehler 500 bei Perlscripten

Posted: 2003-01-12 14:46
by footh
Ich hatte auch dieses Problem!!!

Danke für deinen Tipp.
Die CGIs funzen nun wieder, aber beim restart von Apache kommt nun diese Meldung:
Warning: User directive in <VirtualHost> requires SUEXEC wrapper.
Warning: Group directive in <VirtualHost> requires SUEXEC wrapper.
Warning: User directive in <VirtualHost> requires SUEXEC wrapper.
Warning: Group directive in <VirtualHost> requires SUEXEC wrapper.
Warning: User directive in <VirtualHost> requires SUEXEC wrapper.
Warning: Group directive in <VirtualHost> requires SUEXEC wrapper.
Warning: User directive in <VirtualHost> requires SUEXEC wrapper.
Warning: Group directive in <VirtualHost> requires SUEXEC wrapper.
Wurde vielleicht etwas mit ./configure vergessen??? Wie kann ich das ändern?