Apache: eigenes cgi-bin Verzeichnis
Moin, um meine CGI's besser entwickeln zu können habe ich in meinem Home-Verzeichnis ein 'cgi-bin' Verzeichnis angelegt. So spare ich mir das mühsame kopieren als root in das '/usr/local/httpd/cgi-bin' Verzeichnis. Wenn ich nun irgendwelche CGI's in diesem Verzeichnis ausführe bekomme ich nur einen 'Internal Server Error'. Meine bisherige Vorgehensweise: 1) Hab das 'UserDir' auf '.www' gesetzt geht prima 2) die httpd.conf um <Directory /home/*/.www/cgi-bin> AllowOverride FileInfo AuthConfig Limit Options Indexes FollowSymLinks ExecCGI Includes </Directory> ergänzt. 3) die CGI-Script Handler um '.pl' erweitert. 4) den Apache mit '/sbin/init.d/apache restart' neu gestartet. Wenn ich jetzt 'http://localhost/~marco/cgi-bin/test.pl' mit meinem Browser aufrufe erhalte ich obige Fehlermeldung. Die 'error_log' verrät mir ausserdem das es sich um einen '[Tue Apr 25 11:19:05 2000] [error] [client 192.168.0.99] Premature end of script headers: /home/marco/.www/cgi-bin/test.pl' handeln muss (_._) Da allerding mein Script als erstes ein 'print "Content-type: text/html\n\n";' macht scheint mir diese Ausgabe recht seltsam. An den Zugriffsrechten auf die Skripte und Verzeichnisse liegt es nicht. Weiss nur das meine älteren Apache'n bis jetzt problemlos so funktioniert hatten, und das die Konfigurationsdateien immer komplizierter werden. Das Problem begann übrigens nach einer installation von SuSE 6.4 :) So das reicht erstmal, evtl ist es ja auch bloss zu früh. Bye Marco -- Weinberg's Second Law: If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Marco Gilbert wrote: [...]
So das reicht erstmal, evtl ist es ja auch bloss zu früh. Ich gehe mal davon aus, dass das Script in .../httpd/cgi-bin/ tut?!? Als workaround hilft eventuell ein Link, der aus .../httpd/cgi-bin/ auf Dein privates Verzeichnis zeigt? IIRC sucht apache auch in Unterverzeichnissen.
Heiner -- Heiner Lamprecht Philosophenweg 79 D - 72076 Tuebingen email: heiner@kijumfo.de http://www.kijumfo.de GnuKontor: http://agenda21.ggi.uni-tuebingen.de/heiner/gk/ KFLog: http://agenda21.ggi.uni-tuebingen.de/heiner/kflog/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Marco Gilbert schrieb am Dienstag den 25. April 2000:
Wenn ich nun irgendwelche CGI's in diesem Verzeichnis ausführe bekomme ich nur einen 'Internal Server Error'.
Wenn ich jetzt 'http://localhost/~marco/cgi-bin/test.pl' mit meinem Browser aufrufe erhalte ich obige Fehlermeldung. Die 'error_log' verrät mir ausserdem das es sich um einen '[Tue Apr 25 11:19:05 2000] [error] [client 192.168.0.99] Premature end of script headers: /home/marco/.www/cgi-bin/test.pl' handeln muss (_._)
Du hast auch das x-Bit für test.pl gesetzt? Gruß Jens -- registered linux user #130250 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Am Fre, 28 Apr 2000 schrieb Jens Tautenhahn:
Wenn ich nun irgendwelche CGI's in diesem Verzeichnis ausführe bekomme ich nur einen 'Internal Server Error'.
Wenn ich jetzt 'http://localhost/~marco/cgi-bin/test.pl' mit meinem Browser aufrufe erhalte ich obige Fehlermeldung. Die 'error_log' verrät mir ausserdem das es sich um einen '[Tue Apr 25 11:19:05 2000] [error] [client 192.168.0.99] Premature end of script headers: /home/marco/.www/cgi-bin/test.pl' handeln muss (_._)
Du hast auch das x-Bit für test.pl gesetzt?
Klar, schätze nur es liegt an dem scheiss neuen Config.-Skript des Apache. Hab halt keinen Bock mir wegen so nem' scheiss den alten wieder einzuspielen. Übrigens schön, dass nochmal jemad reagiert hat. So ne schöne Anfrage und nur zwei Antworten. Bye Marco -- Air is water with holes in it --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Marco Gilbert wrote:
um meine CGI's besser entwickeln zu können habe ich in meinem Home-Verzeichnis ein 'cgi-bin' Verzeichnis angelegt. So spare ich mir das mühsame kopieren als root in das '/usr/local/httpd/cgi-bin' Verzeichnis. Wenn ich nun irgendwelche CGI's in diesem Verzeichnis ausführe bekomme ich nur einen 'Internal Server Error'. Meine bisherige Vorgehensweise: 1) Hab das 'UserDir' auf '.www' gesetzt geht prima [...] Die 'error_log' verrät mir ausserdem das es sich um einen '[Tue Apr 25 11:19:05 2000] [error] [client 192.168.0.99] Premature end of script headers: /home/marco/.www/cgi-bin/test.pl' handeln muss (_._)
Und hier die dritte Antwort: ;-) Das UserDir kannst Du zwar in der httpd.conf ganz einfach umstellen, aber in dem Programm `suexec' ist "public_html" fest einkompiliert! Das bedeutet: Du musst entweder bei "~/public_html/" bleiben, oder den entsprechenden Eintrag in "suexec.h" aendern und das Programm dann neu uebersetzen. uexec dient dazu, um CGI's unter den Rechten des Besitzers laufen zu lassen. Dadurch koennen schlecht programmierte CGI's bestenfalls den Verursacher, kaum aber das ganze System gefaehrden. m. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Und hier die dritte Antwort: ;-) Alle guten Dinge sind drei! Treffer und versenkt und geloest
Das UserDir kannst Du zwar in der httpd.conf ganz einfach umstellen, Warum macht man denn dann noch so einen Mist?
aber in dem Programm `suexec' ist "public_html" fest einkompiliert! Das bedeutet: Du musst entweder bei "~/public_html/" bleiben, oder den entsprechenden Eintrag in "suexec.h" aendern und das Programm dann neu uebersetzen. Klingt verdammt logisch. Aber in der Apache Doku keine Hinweise darauf. (maybe blind)
suexec dient dazu, um CGI's unter den Rechten des Besitzers laufen zu lassen. Dadurch koennen schlecht programmierte CGI's bestenfalls den Verursacher, kaum aber das ganze System gefaehrden. Wieso gab es denn da vorher noch keine Probleme? Oder wurde das letztens erst umgestellt?
Ciao Marco -- "Gee, Toto, I don't think we are in Kansas anymore." --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Marco Gilbert wrote: [Apache + CGI's in ~/.www/ wollen nicht]
Das UserDir kannst Du zwar in der httpd.conf ganz einfach umstellen, aber in dem Programm `suexec' ist "public_html" fest einkompiliert! Das bedeutet: Du musst entweder bei "~/public_html/" bleiben, oder den entsprechenden Eintrag in "suexec.h" aendern und das Programm dann neu uebersetzen. Klingt verdammt logisch. Aber in der Apache Doku keine Hinweise darauf. (maybe blind)
Nein, Du bist nicht blind. Ich hab diese Information auch nirgends gefunden und musste sie mir im Schweisse meines Angesichts erarbeiten.
Wieso gab es denn da vorher noch keine Probleme? Oder wurde das letztens erst umgestellt?
Das ganze trat mit SuSE 6.1 AFAIK zum ersten Mal auf. Da war das `suexec'-Programm =ueberhaupt= nicht konfiguriert worden, und funktionierte daher ueberhaupt nicht. (Das suexec-Programm hatte es bis dahin nicht gegeben!) Ich hab' den Fehler an feedback@suse... geschrieben, und sie haben ihn sofort behoben. (Ich kann daher auch ueber das SuSE-Feedback nichts negatives sagen. Alle bis auf einen meiner Vorschlaege/Fehlermeldungen wurden bisher angenommen. Einzige Ausnahme: Die Aufnahme von `xglobe'[1] in die Distribution. Aber das schaffen wir auch noch, oder SuSE? ;-) Also: Nein, ich glaube, dass dieser nicht ganz unwesentliche Punkt nirgends dokumentiert ist. (Ausser natuerlich im Source-Code, den ich damals auch zu Rate ziehen musste.) m. [1] xglobe ist xearth aehnlich, aber viiiiel besser. Sollte unbedingt in die Distribution. xearth kann dafuer IMHO hinausfliegen. ;-) <http://www.uni-karlsruhe.de/~uddn/xglobe/> -- $ find|sed -e 's,[^/]*/\([^/]*\)$,`--\1,' -e 's,[^/]*/,| ,g' --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Melchior FRANZ wrote on Tue, May 02, 2000 at 21:41 +0200:
aber in dem Programm `suexec' ist "public_html" fest einkompiliert!
Aber in der Apache Doku keine Hinweise darauf. (maybe blind)
Nein, Du bist nicht blind. Ich hab diese Information auch nirgends gefunden und musste sie mir im Schweisse meines Angesichts erarbeiten.
Sicher? IIRC gibt's ne Extra Doku Seite zu suexec, und ./configure hält die benötigten Optionen parat. ./configure --help zeigt diese auch an, IIRC. Normalerweise sollte man nicht in suexec.h rumfummeln müssen, oder zumindestens nicht mehr. oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Steffen Dettmer wrote:
* Melchior FRANZ wrote on Tue, May 02, 2000 at 21:41 +0200:
aber in dem Programm `suexec' ist "public_html" fest einkompiliert! Aber in der Apache Doku keine Hinweise darauf. (maybe blind) Nein, Du bist nicht blind. Ich hab diese Information auch nirgends gefunden und musste sie mir im Schweisse meines Angesichts erarbeiten.
Sicher? IIRC gibt's ne Extra Doku Seite zu suexec, und ./configure hält die benötigten Optionen parat. ./configure --help zeigt diese auch an, IIRC.
Ich hab' nur beim Apache der SuSE6.1 damit gekaempft und kann mich erinnern, dass ich da die Apache-Dokumentation recht gruendlich gelesen hab'. Ich hab' nichts gefunden, und da der Apache AFAIK damals zum ersten Mal mit suexec kam, wuerde es mich auch nicht wundern, wenn es noch nicht d'rin stand. Kann mich aber auch irren. Mag auch sein, dass die Geschichte auch damals schon via ./configure einstellbar war. Das aendert aber nichts daran, dass man (ueberraschenderweise) die Sourcen installieren und Teile selbst uebersetzen musste/muss.
Normalerweise sollte man nicht in suexec.h rumfummeln müssen, oder zumindestens nicht mehr.
Wenn schon, dann wuerde ich auf `nicht mehr' tippen. :-) m. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (5)
-
a8603365@unet.univie.ac.at
-
heiner@kijumfo.de
-
marco.gilbert@gmx.net
-
shogun@tausys.franken.de
-
steffen@dett.de