Tezou
Posts: 20
Joined: Fri Apr 04, 2014 9:19 pm

Nicht Lokalen Webserver erstellen, aber wie?

Fri Apr 04, 2014 9:26 pm

Hallo Community

heute habe ich mir meinen ersten RPi gekauft und wollte diesen erstmal als Webserver benutzen.
Dies habe ich auch soweit hinbekommen mit nginx, aber der Webserver funktioniert bisher nur lokal, also wenn ich in die Adresszeile meine private IP eingebe funktioniert das ja logischerweise nur, wenn das Gerät, mit dem ich verbinden möchte auch in dem selben Netzwerk verbunden ist.
Jetzt ist meine Frage: Ist es möglich einen öffentlichen Webserver zu erstellen? Also, dass auch andere darauf zugreifen können?

Ich benutzte Raspbian und habe das Model B Rev.2.
Habe eine dynamische IP.

Grüße
Tezou

gkreidl
Posts: 6326
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Nicht Lokalen Webserver erstellen, aber wie?

Fri Apr 04, 2014 9:51 pm

Du brauchst zwei Dinge:

Port forwarding in deinem Router, so daß Anfragen an Port 80 (normaler http port) auf die IP deines RPi weitergeleitet werden. Findet man zumeist unter der Rubrik "NAS". Dazu braucht dein RPi eine feste IP im lokalen Netzwerk.

Eine dynamische DNS Adresse, z. B. von dynddns oder selfhost (kostenlos!), die bei jedem IP-Wechsel aktualisiert wird. Z. T. können das auch die Router oder du brauchst dafür noch eine spezielle Updater-Software (bei den jeweiligen Anbietern gibt es meist Software-Verzeichnisse dazu).
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

Tezou
Posts: 20
Joined: Fri Apr 04, 2014 9:19 pm

Re: Nicht Lokalen Webserver erstellen, aber wie?

Fri Apr 04, 2014 10:42 pm

Also ich habe jetzt Port 80 TCP & UDP freigegeben.
Außerdem auf https://freedns.afraid.org mir eine Subdomain erstellt und diese automatisch mit dem Programm "FreeDNS Update v1.8.4" auf meine IP definieren lassen.
Allerdings funktioniert es bis jetzt noch nicht.
Ich habe auch festgestellt, dass ich nur auf meine lokale Website zugreifen kann wenn ich die private IP vom Rpi in die URL schreibe. Aber auf die verweist ja dieses Programm gar nich bzw. kann es nicht.
Wenn ich "localhost" oder 127.0.0.1 in die URL Zeile schreibe, kommt nichts.
So sieht die Portfreigabe bei mir aus:
Image

gkreidl
Posts: 6326
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Nicht Lokalen Webserver erstellen, aber wie?

Fri Apr 04, 2014 11:04 pm

Sieht alles richtig aus.

Hast du mal versucht, mit deiner neuen dynamischen Adresse auf den Webserver zuzugreifen?

Manche Router lassen das aber nicht zu, daß man quasi rückwärts verwiesen wird. Dann kann das nur jemand von außen testen. Du brauchst übrigens nur tcp freizugeben.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

Tezou
Posts: 20
Joined: Fri Apr 04, 2014 9:19 pm

Re: Nicht Lokalen Webserver erstellen, aber wie?

Fri Apr 04, 2014 11:19 pm

Ja aber dann werde ich in meine Routerbenutzeroberfläche gebracht.
Du kannst es ja mal testen, das Subdomain lautet:
http://scorch.raspberryip.com/

EDIT:
Scheint jetzt zu funktionieren.
Ich habe einfach nochmal meinen Pi neugestartet.

Allerdings wollte ich mir auf dem Pi jetzt noch einen automatischen DyDNS Erkenner installieren. Also ein Script, welches erkennt wenn meine IP sich ändert und dies automatisch der Website mitteilt.
Dazu habe ich folgenden Text in /etc/init.d/dyndns_updater.sh plaziert.

Code: Select all

#!/bin/sh
#FreeDNS updater script

UPDATEURL="http://freedns.afraid.org/dynamic/update.php?XXXXXXXXXXXXXXXXXXXX"       #Mein API Key
DOMAIN="scorch.raspberryip.com"

registered=$(nslookup $DOMAIN|tail -n2|grep A|sed s/[^0-9.]//g)

  current=$(wget -q -O - http://checkip.dyndns.org|sed s/[^0-9.]//g)
       [ "$current" != "$registered" ] && {                           
          wget -q -O /dev/null $UPDATEURL 
          echo "DNS updated on:"; date
  }
Funktioniert das damit und muss ich das Script bloß einmal starten oder jedesmal manuell?

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Nicht Lokalen Webserver erstellen, aber wie?

Sat Apr 05, 2014 3:33 am

Du solltest das Script als cronjob laufen lassen , vielleicht alle 5
Minuten ?

Code: Select all

sudo nano /etc/crontab
und dann

Code: Select all

*/5 *  * * *   root  /etc/init.d/dyndns_updater.sh > /dev/null
reinschreiben , speichern.


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

Tezou
Posts: 20
Joined: Fri Apr 04, 2014 9:19 pm

Re: Nicht Lokalen Webserver erstellen, aber wie?

Sat Apr 05, 2014 8:37 am

ghans wrote:Du solltest das Script als cronjob laufen lassen , vielleicht alle 5
Minuten ?

Code: Select all

sudo nano /etc/crontab
und dann

Code: Select all

*/5 *  * * *   root  /etc/init.d/dyndns_updater.sh > /dev/null
reinschreiben , speichern.


ghans

Wo genau soll ich denn die Zeile hinzufügen, bei mir sieht das Ganze momentan so aus:

Code: Select all

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user	command
17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*/5 *  * * *   root  /etc/init.d/dyndns_updater.sh > /dev/null
#

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Nicht Lokalen Webserver erstellen, aber wie?

Sat Apr 05, 2014 9:11 am

Sieht korrekt aus. cron neustarten , und mit top
laufende Prozesse beobachten. nslookup und wget sollten
dann zwischendurch kurz auftauchen. Alternativ die Ausgabe
aus dem Skript nicht nach /dev/null umleiten , sondern in einen
Log schreiben.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

User avatar
mline
Posts: 1423
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Nicht Lokalen Webserver erstellen, aber wie?

Sat Apr 05, 2014 12:35 pm

Wer nicht mit einem Script arbeiten will macht das hier:

Code: Select all

sudo apt-get install ddclient
http://sourceforge.net/p/ddclient/wiki/Home/
Die meisten Anbieter haben Anleitungen was wo bei ddclient einzutragen ist.
<~~>

Tezou
Posts: 20
Joined: Fri Apr 04, 2014 9:19 pm

Re: Nicht Lokalen Webserver erstellen, aber wie?

Sat Apr 05, 2014 2:02 pm

mline wrote:Wer nicht mit einem Script arbeiten will macht das hier:

Code: Select all

sudo apt-get install ddclient
http://sourceforge.net/p/ddclient/wiki/Home/
Die meisten Anbieter haben Anleitungen was wo bei ddclient einzutragen ist.
Ich habe Raspbian nochmal neu installiert und nun diese Methode gewählt. Danke für den Tipp.

Return to “Deutsch”