hibás CGI script

Konfiguráció Debian Lenny, apache lábjegyzet:
"Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny10 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Server at nasi Port 80"
Van egy shell alapú cgi scriptem: http://pastebin.com/38QBwFMQ
A pastebin -ben található shell kimenet illetve a szerver hibaüzenete. Nem értem a dolgot, a "busybox httpd" ezt simán viszi. Mi lehet a hiba?
(Kipróbáltam, egy hup cikkek között talált perl alapú "potos idő" kitűnően működik.)

Hozzászólások

Ejnye, ez mi akar lenni?


# parking.cgi
#!/bin/sh
#

A shebang -nek a fájl első sorában kéne állnia.

Még valami. Ha a shellből lefuttatott fájlba mentett kimenetet akarom megnézni, akkor szépen kirakja (./parking.cgi > parking.html)
Még valami, ha a kiterjesztést átírom .sh -ra akkor leakarja tölteni :(

* Én egy indián vagyok. Minden indián hazudik.

Így kellene kezdődnie:


cat << EOM
Content-type: text/plain

<!DOCTYPE HTML PUBLIC
.....

A content-type definició nélkül nem fog menni ;)
----
올드보이
http://molnaristvan.eu/

Az eredeti scriptből már csak ennyi maradt:


#!/bin/sh
#
/bin/cat << EOM
Content-type: test/plain
<B>Nyugalom és békesség :o)</B>
EOM 

De az apache error.log a következőket írja:

... Premature end of script headers: parking1.cgi, ...

* Én egy indián vagyok. Minden indián hazudik.

Nem tudtok valahol egy egyszerű CGI shell scriptet, aminek tutira kellene mennie apache2 alól? Lehet hogy valami konfigurációs hiba?

* Én egy indián vagyok. Minden indián hazudik.

Restellem, de azt sem tudom, hogy ezt hogy lehet megnézni. Valami SElinux kezdemények vannak de a folyamat listában tuti nincs ilyen.
A szokásos helyről, azaz a /usr/lib/cgi-bin könyvtrába telepített cuccok mennek (pl. man) de ezek a próbálkozásaim nem :(

* Én egy indián vagyok. Minden indián hazudik.

Igen, a javított script így fest:


#!/bin/sh
echo Content-type: txt/html
echo ""
#
/bin/cat << EOM
<HTML>
<HEAD><TITLE>Simple test CGI script</TITLE></HEAD>
<BODY>
Bárakármi!
</BODY>
</HTML>

Viszont azóta valamit elszúrhattam a konfigurációban (kezdek összezavarodni) mert most leakarja tölteni :( Ez most javulás?

* Én egy indián vagyok. Minden indián hazudik.

Ez az :o) (Pedig nem másoltam, szóról szóra begépeltem - a hibát!)
De most miért akarja a "pontosido.pl" letölteni, amikor ez már működött :x
Jó, nem tudom mi köze ennek a windowsos firefox cache -nek, de miután töröltem ez is megjavult?
A környezeti változók listája üres - pl. SERVER_SOFTWARE --> (SERVER_SOFTWARE)
Fáradok txt != text - bocs :(

* Én egy indián vagyok. Minden indián hazudik.

Úgy tűnik, az apache úgy szereti, hogy az elején legyen ott:
echo Content-type: text/html
echo ""
Aztán jöhet bármi, de ha ez nincs akkor jön ez a csinos hiba.
Köszönöm a segítséget!

* Én egy indián vagyok. Minden indián hazudik.

Úgy döntöttem itt folytatom. httpd = busybox httpd - shell alapú cgi script:


echo "<EMBED HIDDEN=TRUE LOOP=FALSE SRC=\"feryhorn.wav\"></EMBED>

apache cgi-bin alól ez szépen a kliens böngészőn kürtöl egyet, a busybox httpd viszont hobát dob:

url:/cgi-bin/feryhorn.wav
can't execute 'feryhorn.wav': Exec format error

Miért is akarja ezt végrehajtani? Hibás a szintaxis? Elvileg ez apache alól így működik. Ötlet? Esetleg hogy lehet még rávenni a böngészőt hogy eljátsszon egy wav fájlt?

* Én egy indián vagyok. Minden indián hazudik.

Köszönöm! Nem tudom mennyi időbe telt volna mire erre rájövök :D
Egyébként, teljesen igazad van - minden egy könyvtárban gusztustalan!


echo "{EMBED HIDDEN=TRUE LOOP=FALSE SRC=\"../data/feryhorn.wav\"}{/EMBED}"

Most már súgja meg még valaki azt, hogy lehet egy html sort ide korrektül feltenni? A "code" tag nem segít, amíg próbálkoztam ezzel-azzal letiltott :(

* Én egy indián vagyok. Minden indián hazudik.

Nem tudom a kóüdot betenni, csak egy sor


echo "{EMBED HIDDEN=TRUE LOOP=FALSE SRC=\"feryhorn.wav\"}{/EMBED}"

A figurás zárójel a relációs jelet pótolja.

* Én egy indián vagyok. Minden indián hazudik.