Fehler 500 bei Perlscripten

Apache, Lighttpd, nginx, Cherokee
Post Reply
bendar
Posts: 27
Joined: 2002-07-20 20:21
 

Fehler 500 bei Perlscripten

Post 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...
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Fehler 500 bei Perlscripten

Post by sascha »

Hi,

/var/log/httpd/suexec.log lesen, fehler beheben und freuen ;)
bendar
Posts: 27
Joined: 2002-07-20 20:21
 

Re: Fehler 500 bei Perlscripten

Post 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
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Fehler 500 bei Perlscripten

Post by sascha »

Hm ok dann war meine Vermutung falsch :oops:

Poste doch mal das Script hier rein vielleicht finden wir nen Fehler...
bendar
Posts: 27
Joined: 2002-07-20 20:21
 

Re: Fehler 500 bei Perlscripten

Post 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.
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Fehler 500 bei Perlscripten

Post 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.
funnydingo
Posts: 160
Joined: 2002-12-07 14:40
Location: Münster
Contact:
 

Re: Fehler 500 bei Perlscripten

Post 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-
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Fehler 500 bei Perlscripten

Post 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.
funnydingo
Posts: 160
Joined: 2002-12-07 14:40
Location: Münster
Contact:
 

Re: Fehler 500 bei Perlscripten

Post 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?
funnydingo
Posts: 160
Joined: 2002-12-07 14:40
Location: Münster
Contact:
 

Re: Fehler 500 bei Perlscripten

Post 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.
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Fehler 500 bei Perlscripten

Post by sascha »

Hi,

mit suexec -V bekommst du alles angezeigt...
funnydingo
Posts: 160
Joined: 2002-12-07 14:40
Location: Münster
Contact:
 

Re: Fehler 500 bei Perlscripten

Post 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-
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: Fehler 500 bei Perlscripten

Post 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:
funnydingo
Posts: 160
Joined: 2002-12-07 14:40
Location: Münster
Contact:
 

Re: Fehler 500 bei Perlscripten

Post 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
footh
Posts: 84
Joined: 2002-12-02 02:33
 

Re: Fehler 500 bei Perlscripten

Post 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?
Post Reply