7170 Webserver

Scaleo

Neuer User
Mitglied seit
20 Mrz 2006
Beiträge
159
Punkte für Reaktionen
0
Punkte
0
Die 7170 hat doch einen eingebauten Webserver wenn ich das im FbEditor richtig verstehe siehe hier:
Code:
websrv {
        port = "80";
        read_timeout = 15m;
        request_timeout = 30s;
        keepalive_timeout = 5m;
        nokeepalive = "*";
        errordir = "/usr/lib/websrv/errors";
        [COLOR="Red"]webdir = "/usr/www";[/COLOR]
        cgidir = "cgi-bin";
        indexfn = "index.var", "index.htm", "index.html";
}


so nun wenn mein kleiner kopf das richtig versteht müsste man bei
Code:
webdir= "/usr/www
"; die Adresse ändern können und auf einen Ordner auf einem USB-Datenträger verweisen.
Die Frage ist nur ist dieser Webserver für das Interface auf "fritz.box" oder kann man den Verwenden? WEnn ja wie und wie müsste ich dann die Ports weiterleiten das er über meine dns erreichbar ist.
 
Jede Fritz!Box hat einen eingebauten Webserver (eigentlich trifft dies auf jeden Router zu).
Dies ist das Konfigurations-Webfrontend der Fritzbox. Wenn du das Verzeichnis verbiegst, dann kommst du nur noch per Telnet / SSH drauf.
Willst du deine alternative Homepage auf den Stick legen oder willst du ein Directorylisting haben?
 
Zuletzt bearbeitet:
Der webserver ist fürm das Konfigmenü richtig.

Es ist aber kein Problem einen seperaten Server aufzusetzen, der woanders läuft, z.B. hier
 
Das hat er ja nicht gefragt :)
Ist nicht auch ein minihttpd im danisahne-mod drin?
 
Du meinst wahrscheinlich den httpd in der Busybox... der geht auch.
 
Ja hat er!!!

Wisst ihr wie man nun ein file upload script bastelt mit dem der server arbeiten kann?
 
leider macht der minihttpd das nicht wie ich will hab nun mal ein skript aufgesetzt mit datei upload über html und ausführendes skript war ein upload. cgi aber er gibt mir dan immer wieder den code der cgi datei aus sie is aber auf chmod 777 oder 755
 
Das liegt daran, dass cgi kein html ist. Man muss den Browser veranlassen, die Seite als HTML zu interpretieren. Das machst du folgendermaßen:

Code:
#!/bin/sh

[COLOR="Red"]print "Content-type: text/html\n\n";   [/COLOR] # Als erstes Anweisung im Skript! 2x \n!!!
print "<html><head> ......"

und noch was...: Bourne-Shell (/bin/sh) <> Perl (/bin/perl)!
Also fang erstmal mit was ganz Rudimentären an...
 
Hier sind die beiden skripte

<HTML>
<HEAD></HEAD>
<BODY>
<FORM ACTION="/cgi-bin/upload.cgi" METHOD="post" ENCTYPE="multipart/form-data">
Photo to Upload: <INPUT TYPE="file" NAME="photo">
<br><br>
Your Email Address: <INPUT TYPE="text" NAME="email_address">
<br><br>
<INPUT TYPE="submit" NAME="Submit" VALUE="Submit Form">
</FORM>
</BODY>
</HTML>

und das cgi


#!/usr/bin/perl -w

use CGI;

$upload_dir = "/files";

$query = new CGI;

$filename = $query->param("photo");
$email_address = $query->param("email_address");
$filename =~ s/.*[\/\\](.*)/$1/;
$upload_filehandle = $query->upload("photo");

open UPLOADFILE, ">$upload_dir/$filename";

binmode UPLOADFILE;

while ( <$upload_filehandle> )
{
print UPLOADFILE;
}

close UPLOADFILE;

print $query->header ( );
print <<END_HTML;

<HTML>
<HEAD>
<TITLE>Thanks!</TITLE>
</HEAD>

<BODY>

<P>Thanks for uploading your photo!</P>
<P>Your email address: $email_address</P>
<P>Your photo:</P>
<img src="/upload/$filename" border="0">

</BODY>
</HTML>

END_HTML



Wäre toll wenn mir mal jemand den Fehler sagen könnte den Post drüber hab ich net so ganz gecheckt



unter dieser Adresse

könnte ihr es euch anschaun
 
ok... nochmal von vorne:

Code:
#!/usr/bin/perl -w

geht nicht! Diese Anweisung bedeutet, dass die Seite mit einem bestimmten Interpreter (Sprache) vearbeitet wird. Bei Perl ist das /bin/perl, bei PHP /bin/php und bei Bourne Shell /bin/sh. Die Fritz!Box hat im Standard nur /bin/sh! D.H. es wird nicht funktionieren, da er /bin/perl nicht findet!

Probier mal folgendes Skript:
Code:
[COLOR="Red"]#!/bin/sh[/COLOR]
print "Content-type: text/html\n\n"; 
print "<html><head><title>test</title></head>"
print "<body>"
print "<h1>hallo!</h1>"
print "</body>"
print "</html>"

und bau mal darauf auf..
 
was hab ich davon?

Könntest du mir das skript anpassen das es funktioniert?

unter www.finger-weg.eu/test.cgi liegt des file
sieht aber seltsam aus
 
Zuletzt bearbeitet:
Was hab ich davon dir ein Skript anzupassen, welches du nicht verstehst?
 
ich verstehe schon was das skript macht, nur nicht wie ich es ausführbar krieg, also das die box mit dem skript arbeiten kann

Warum die Box? es liegt doch nicht auf dem Webserver der Box sondern auf dem minihttüpd und der kann cgi wenn ich mich nicht getäuscht habe, hatte nach installation zumindest ein cgi-bin verzeichnis.

wenn du eine andere idee hast wie ich ein fileupload skript wie bei einem freehoster realisieren kann, wärs mir auch recht.
 
Zuletzt bearbeitet von einem Moderator:
Das versuch ich dir ja zu erklären.

Dein Perl-Skript wird auf der Fritz!Box nicht laufen. Das liegt daran, dass es im Standard der FB kein Perl gibt (dieses #!/bin/perl, was ich die ganze Zeit meinte)!

Das Skript ist zwar funktionstüchtig, nur kann die FritzBox damit leider nichts anfangen (PHP geht ja schließlich auch nicht, wie du bereits festgestellt hast).

Also bleibt der Umweg über ein Shell-Skript (#!/bin/sh).

Bourne-Shell hat eine eigene Syntax, wie PHP, Perl, etc. Also damit kann man schon dynamische Seiten erstellen. Ich hab leider kein Upload-, Download Skript parat, sonst würde ich es posten.

EDIT:
Nicht der mini_httpd kann cgi, sondern er unterstützt das nur! Apache kann bei einer Installation ohne PHP auch kein PHP.
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,858
Beiträge
2,219,651
Mitglieder
371,572
Neuestes Mitglied
#Kuddel#
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.