Webserver + Portfreigabe realisiert!

Denke ich auch, und gerade darin liegt der Reiz, das man soo viele Sachen in einem Unerforschten Gebiet unterbringen kann und bis zu den Grenzen ausreizen kann. Naja auf jedenfall lernt man neues dazu wie Crosscompiling und Ähnliches.

Mhhm Also eigendlich müsste es ndoch sowas geben so ne Art USB-Master in ner Blackbox den man zwischen 2 USB-Slaves (Fritz!Box und USB Festplatte) hängt damit die kommunizieren können. Oder naja is zwar ned wirklich schnell aber man könnte doch auch einen Seriell auf USB Umsetzer nehmen und die Serielle Schnittstelle missbrachen naja is zwar nur gesponnen aber wer weiß?

MFG

Maruu
 
Re: Re

Maruu schrieb:
Ba denn dann werd ich mal ne kleine Anleitung machen:

1.) System (z.B. SUSE, Knoppix usw.)Booten
2.) Konsole (Terminal) öffnen
3.) Verzeichnis für den CrossKompiler erstellen z.B. mkdir ~/crosscompiler
[...]
6.) Ausführen der Datei helloworld.o mit
./helloworld.o
Nun muss als Ausgabe HelloWorld erscheinen.

Wow - super, das hat geklappt (fast auf anhieb, beim ersten Versuch hatte ich nicht genug Speicher auf der Festplatte, es werden ca. 600 MB benötigt). Ich habe mir Kanotix heruntergeladen, auf Festplatte installiert und dann Deine Anleitung ausprobiert. Super. Danke.

Trotzdem habe ich noch eine Frage. Ich habe auch dei Buildroot-Umgebeung von Enrik mit make kompiliert. Das hat auch alles wunderbar auf Anhieb geklappt - auch großen Dank an Enrik. Nach dem Aufruf von make entstand am Ende ein filesystem.image - das ich mich allerdings nicht nicht getraut habe auf die Box zu spielen.
Stattdessen habe ich versucht mit dem ./toolchain_build_misel/gcc-3.4.2-final/gcc/gcc-cross hw.c mein "Hallo Welt"-Orogramm zu kompilieren. Hat auch geklappt. Wenn ich es aber versuche auf der Fritz!Box Fon zu starten, erhalte ich folgende Fehlermeldung: "./hw.0: can't load library 'libgcc_s.so.1" - Warum bekomme ich, wenn ich die Umgebung von Enrik nutze diese Fehlermeldung? (und warum nicht, wenn ich die Anleitung von Maruu befolge?) - Was muss ich bei Enriks Umgebung anders Einstellen?

Danke,
Gruß,
Pfeffer.
 
Re: Re

pfeffer schrieb:
Stattdessen habe ich versucht mit dem ./toolchain_build_misel/gcc-3.4.2-final/gcc/gcc-cross hw.c mein "Hallo Welt"-Orogramm zu kompilieren. Hat auch geklappt. Wenn ich es aber versuche auf der Fritz!Box Fon zu starten, erhalte ich folgende Fehlermeldung: "./hw.0: can't load library 'libgcc_s.so.1" - Warum bekomme ich, wenn ich die Umgebung von Enrik nutze diese Fehlermeldung?

Weil der gcc 3.4 aus dem buildroot die library eben braucht ;-) Einfach die lib auch noch auf die box laden und LD_LIBRARY_PATH auf das Verzeichnis setzen (export nicht vergessen).

Gruß,
Enrik
 
Hier gibt es eine mögliche Zwischenlösung. FTP-Server ist sogar schon drauf, aber ein SMB-Mount von der fbox müsste sich auch stricken lassen:

http://www.allnet.de/produkte/27222.html

Hallo,

wenn man so ein Teil im LAN hat, ist es dann möglich die Platte in der FBF zu mounten dann einen prof. WebServer (z.B. Apache) aufzuspielen ?


Mal ehrlich, das macht doch alles keinen Sinn.Dann holt man sich doch lieber gleich einen vernünftigen Router, der diese Features alle schon eingebaut hat.Z.b. den Claxan SA-113 oder den Ovislink WMU-9000VPN

Ich möchte mir keinen neuen Router kaufen, da ich die FBF schon habe und denke eh darüber nach eine neue HD zu kaufen. Und so ein NAS-Gerät sollte doch sicherlich weniger Strom ziehen als ein kompletter PC?

Viele Grüße

Thomas
 
Hallo thuebner,

die Box hat 16-32 MB Ram ( 32 MB bei "WLAN"-Box ) und keinen Swapspeicher. Ein Apache wird nie auf der Box laufen.
Ich weiss noch nicht mal wie sich ein FTP mit "Riesen" files beim Upload macht.

Viele Grüße,

Haveaniceday
 
Hallo diablo,

Ich möchte den WebServer auf der Box laufen lassen, damit ich nicht ständig ein Rechner an haben muss (Hab sowieso zur Zeit nur einen). Habe mir gedacht, wenn die Box sowieso schon am Netz hängt, kann ich sie gleich verwenden und hätte dann weniger Stromkosten, die ungefähr so hoch sind wie mein WebHoster (den ich mir dann hätte auch sparen können) :lol:

Gruß Thomas
 
Hallo thuebner,

aber wie du schon mitbekommen hast hat die FritzBox ja nur sehr beschränkte Ressourcen (4MB Flash (nicht nutzbar) und 32MB bzw 16MB RAM) und damit musst du arbeiten da geht nur eine sehr kleine Webseite drauf.

Dieses NSLU2 hätte den Vorteil das es einen HTTP-Server und einen FTP-Server integrieren kannst, die Größe wird dabei durch deine verwendete HD/USB-Stick beschränkt. Es gibt noch weitere Anwendungsmöglichkeiten wie z.B. einen Mail-Server, Printserver ist aber noch in Entwicklung.

NSLU2 + 2,5er HD (wird im Normalfall über USB mit Strom versorgt) ist auch sehr Stromsparend.

cu

Diablo
 
NSLU2 + 2,5er HD (wird im Normalfall über USB mit Strom versorgt) ist auch sehr Stromsparend.

Weiß jemand, was die NSLU2 konkret für eine Stromaufnahme besitzt (ohne HD), da ich vielleicht eine 3,5" einbauen werde (wegen der Kapazität).

Viele grüße

Thomas
 
Wie bekommt man denn den Webserver dauerhaft in die FBF installiert?
Die Anleitung hier kopiert es nur ins ram /var !!

Desweiteren bekomme ich immer

# ./mini_httpd
./mini_httpd: unknown user - 'nobody'



den chown Befehl gibt es nicht auf der FBF, nur chmod !
 
mit root als user klappt es

# ./mini_httpd -u root

mfg
 
Hallo SophîaPêtríllo,

hast Du für die 7170 ein fertiges tar file, oder kann man das von Seite 1 nehmen? Wie sind Deine Erfahrungen damit???? Habe sonst leider nichts brauchbares im Forum zum miniHTTPd auf der 7170 gefunden.

Im voraus vielen Dank
 
Zu meinen Erfahrungen kann ich leider noch nichts sagen, da ich das erst gestern zum 1. mal drauf gemacht habe und es noch garnicht weiter testen könnte.
Ein fertiges tar file für die 7170 hab ich nicht, ich hab das file von seite 1 genommen und mit dem pc entpackt, danach hab ich die entpackten daten auf den USB Stick kopiert, der an der fritzbox hängt. Das Programm lass ich auch gleich auf dem Stick laufen, somit muss man das nicht noch in der fritzbox irgendwo hin kopieren, auf dem Stick gehen auch die Daten nicht verloren, wie es zum Beispiel bei einem Neustart der Fritzbox der Fall sein kann.

mfg
SophîaPêtríllo
 
Ich hba den minihttpd auf meiner fb entpackt, wie kann ich den jetzt starten mini_httpd --help klappt zwar, aber ich kapier das net...
ps geht das, dass man da noch php drauf installiert?
grüße stefan
 
Starten z.B.: mini_httpd -u root -p 81
dann sollte http://fritz.box:81 funktionieren,
Port 81 habe ich noch freigegeben in der ar7.cfg
 
Ich habe gestern Abend das tar file auf meine externe USB-FritzBox-Festplatte geladen und dort entpackt (mit einer unter Windows entpackten Version hatte ich Probleme).
Dort in das neue Verzeichnis gewechselt und einfach mini_httpd -u root -p 81 -d [lokaler Pfad zur Homepage] aufgerufen. Siehe da, es hat sofort prima funktioniert. Da meine private Homepage nur aus html, Java und CSS besteht, langt mir der mini_httpd Server lange und ich kann soviel Daten dort ohne Werbung ablegen wie ich willl :)))))

Das ist halt echt genial bei der 7170 mit dem USB Device Anschluss, da gibt es jetzt endlich kein Platzproblem mehr! AVM sollte so einen Webserver für private Nutzung standardmäßig einbauen!

Danke an alle Cracks die sich so prima in die AVM HW eingearbeitet haben!
 
Zuletzt bearbeitet:
Hallo!

Ich bin (noch immer) auf der Suche via https auf meine Dreambox zugreifen zu können. Für die Dreambox finde ich leider nix, was es mir ermöglicht via https darauf zuzugreifen.

Bisher kann ich nur via http (Portforwarding auf der FBF) zugreifen, ist mit Login auf der DreamboxSeite aber nicht der Hit.

Einen SSL Wrapper habe ich bisher für die FBF (7050) auch noch nicht gefunden. Da ich aber in der Manpage des mini_httpd gelesen habe, dass der auch SSL beherscht nun meine Frage:

Kann ich den mini_httpd so konfigurieren, dass ich zu ihm vom iNet via https zugreife und mini_httpd dann diese Verbindung zur Dreambox weiterreicht?
Zwischen FBF und Dreambox kann ruhig http laufen, das würde mich nicht stören.

Wenn mir (Linux-Newbie) jemand alternativ einen brauchbaren Hinweis (nicht nur installiere Apache) geben kann wie ich SSL auf die Dreambox bekomme, kann ich damit auch leben ;o)
Würde auch mini_httpd auf die Dream packen, bleibt aber noch das forwarding auf den Webserver der Dream.

EDIT:
Thema hat sich erstmal erledigt, habe einen kompilierten STUNNEL gefunden, der auf der Dream läuft. Somit kann ich gesichert zugreifen. ;o)))

Gruß
post
 
Zuletzt bearbeitet:
Maruu schrieb:
Ba denn dann werd ich mal ne kleine Anleitung machen:

1.) System (z.B. SUSE, Knoppix usw.)Booten
2.) Konsole (Terminal) öffnen
3.) Verzeichnis für den CrossKompiler erstellen z.B. mkdir ~/crosscompiler
4.) In das neu erstellte Verzeichnis wechseln cd ~/crosscompiler
5.) Sourcen herunterladen mit folgendem Befehl:
cvs -d:pserver:[email protected]:/var/cvs checkout toolchain
(Falls er nach nem Passwort fragt einfach nur ENTER drücken es gibt
nämlich keins)
6.) In den durch den download neu erstellten Ordner toolchain wechseln
mit: cd toolchain
7.) In den Ordner des Compilers wechseln (habs nur mit gcc3.3 getestet)
mit: cd gcc-3.3.x
8.) Die Datei Makefile öffnen, die Zielumgebung Mipsel aktivieren,
Speichern und aus der Datei herausgehen mit:
vi Makefile
mit dem Cursor bis zu ARCH:=i386 und dort i (für Insert im vi) drücken
ein #-Zeichen vor dem ARCH:=i386 einfügen (so #ARCH:=i386)
mit dem Cursor bis zu #ARCH:=mipsel
das #-Zeichen entfernen (so ARCH:=mipsel)
einmal ESCAPE (Esc) drücken
dasnn Doppelpunkt gefolgt von wq eingeben (so :wq)
Damit müsste die Datei wieder geschlossen werden.
Natürlich kann man das auch mit jedem anderen Editor machen.
9.) CrosscKompiler compilieren mit:
make
Kaffeedrinken gehen, Freundinn mal wieder naschauen, usw.
Während des compilierens fragt er einige dinge wo er unterbricht und
auf eine Tastatureingabe wartet. Bei all diese Eingaben einfach nur
Enter drücken.
10.) Der CrossKompiler ist jetzt fertig und liegt unter:
~/crosscompiler/toolchain/gcc-3.3.x/toolchain_mipsel/bin/
sein Name ist mipsel-linux-gcc

Ein Testprogramm like "Hello World!" geht so:

1.) In einen Beliebigen Ordner wechseln z.B. in den vorher
erstellten Ordner crosscompiler mit:
cd ~/crosscompiler
2.) Testprogramm erstellen mit:
echo '#include <stdio.h>' >> helloworld.c
echo 'main() {' >> helloworld.c
echo 'printf("Hello World!");}' >> helloworld.c
3.) Testprogramm für die Fritz!Box compilieren:
~/crosscompiler/toolchain/gcc-3.3.x/toolchain_mipsel/bin/mipsel-linux-gcc -o ~/crosscompiler/helloworld.o /crosscompiler/helloworld.c
4.) das Kompilierte Programm (helloworld.o) auf die Fritz!Box schieben
(wie ihr das macht bleibt euch überlassen)
Ich habe es auf meinen Webserver unter Linux gelegt und dann
bin ich per telnet auf die Fritz!Box und hab mittels
wget http://192.168.178.20/helloworld.o das file auf die Fritz!Box
in das Verzeichnis /var/ geladen.
5.) Datei helloworld.o ausführbar machen auf der Fritz!Box
per telnet auf die Fritz!Box und dort
chmod 755 helloworld.o
eingeben
6.) Ausführen der Datei helloworld.o mit
./helloworld.o
Nun muss als Ausgabe HelloWorld erscheinen.

Compilieren eines Paketes wie mini_httpd:

1.) Paket Herunterladen und entpacken.
Nun gibt es zwei Möglichkeiten:
2.1.) Makefile editieren und die Variable vom gcc bzw. cc auf den crosscompiler also ~/crosscompiler/toolchain/gcc-3.3.x/toolchain_mipsel/bin/mipsel-linux-gcc setzen
2.2) oder die Environment Variable für den gcc auf den Crosscompiler
setzen mit:
export CC=~/crosscompiler/toolchain/gcc-3.3.x/toolchain_mipsel/bin/mipsel-linux-gcc
wobei am Besten das ~/ durch den richtigen Pfad wie z.B.
/home/testuser/ ersetzt werden sollte
2.3) Und dann ein ./configure und ein make machen und hoffen das es
geht, bei mir hat das bis jetzt nur in den seltesten fällen funktioniert.
Bin gern für Rat offen.
2.4) Danach alles auf die Fritz!Box laden (z.B. als gepacktes tar-File)
und Ausführen.

Falls die Variante mit der Environmet Variable benutz wurde muss diese später wieder auf den normalen gcc geställt werden mit z.B.
export CC=gcc

Also falls noch Fragen sind einfach fragen.

MFG

Maruu

Kannst du mir auf die Sprünge helfen? Durch was muss ich den Smiley in deiner Anleitung ersetzen? Ich habe Doppelpunkt Bindestrich P probiert, klappt aber nicht. Dann habe ich noch cvs -d [email protected]:/var/cvs checkout toolchain probiert, dann fragt er 3x nach eine Passwort, ich tipp jedes mal Enter und danach kommt 3x eine Passwortabfrage für den annonymen user. Danach bricht er ab. Was mach ich falsch?

franz@notebook:~/crosscompiler$ cvs -d [email protected]:/var/cvs checkout toolchain
Password:
Password:
Password:
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,password,keyboard-interactive).
cvs [checkout aborted]: end of file from server (consult above messages if any)
franz@notebook:~/crosscompiler$

Nachtrag: Ich habe das jetzt von http://www.wehavemorefun.de/fritzbox/Firmware_Modifikationen_/_Recompiling runtergeladen. make menuconfig liefert mir einen Fehler:

franz@notebook:~/buildroot$ make menuconfig
make -C package/config ncurses conf mconf
make[1]: Gehe in Verzeichnis »/home/franz/buildroot/package/config«
/usr/bin/ld: cannot find -lncurses
collect2: ld gab 1 als Ende-Status zurück

>> Unable to find the Ncurses libraries.
>>
>> You must have Ncurses installed in order
>> to use 'make menuconfig'

make[1]: *** [ncurses] Fehler 1
make[1]: Verlasse Verzeichnis »/home/franz/buildroot/package/config«
make: *** [package/config/mconf] Fehler 2
franz@notebook:~/buildroot$

Mein Problem jetzt: ncurse ist bei mir eigentlich installiert (dachte ich) d.h. es gibt x Pakete mit ncurse im Namen - welches genau brauch ich davon? Einige sind drauf, das benötige aber wohl dann doch nicht.

Nachtrag: habe jetzt ncurses-dev installiert, jetzt gehts einen Schritt weiter:

franz@notebook:~/buildroot$ make menuconfig
make -C package/config ncurses conf mconf
make[1]: Gehe in Verzeichnis »/home/franz/buildroot/package/config«
cp zconf.tab.h_shipped zconf.tab.h
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I. -c conf.c -o conf.o
cp zconf.tab.c_shipped zconf.tab.c
cp lex.zconf.c_shipped lex.zconf.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -I. -c zconf.tab.c -o zconf.tab.o
gcc conf.o zconf.tab.o -o conf
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DCURSES_LOC="<ncurses.h>" -I. -c mconf.c -o mconf.o
mconf.c:104: Fehler: statische Deklaration von »current_menu« folgt nicht-statischer Deklaration
lkc.h:63: Fehler: vorherige Deklaration von »current_menu« war hier
mconf.c: In Funktion »conf_string«:
mconf.c:583: Warnung: Zeigerziele bei Übergabe des Arguments 2 von »sym_set_string_value« unterscheiden sich im Vorzeichenbesitz
mconf.c: In Funktion »conf_load«:
mconf.c:604: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »conf_read« unterscheiden sich im Vorzeichenbesitz
mconf.c: In Funktion »conf_save«:
mconf.c:625: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »conf_write« unterscheiden sich im Vorzeichenbesitz
make[1]: *** [mconf.o] Fehler 1
make[1]: Verlasse Verzeichnis »/home/franz/buildroot/package/config«
make: *** [package/config/mconf] Fehler 2
franz@notebook:~/buildroot$

Was ist jetzt faul?
 
Zuletzt bearbeitet:
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.