WLAN Hotspot zur Nutzung des eigenen Apache Webservers

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Tag,

    folgendes Szenario:
    Ich möchte meinen Pi (RPi2) per WLAN-Adapter als Hotspot anbieten. Dabei soll aber keine vorhandene Internetverbindung "gebridged" werden o.ä. sondern lediglich der auf dem Pi installierte Webserver erreichbar sein (im Idealfall: Captive-Portal, welches direkt auf eine Seite weiterleitet).
    Wie viel AUslastung würden 5-10 Nutzer die eine Website ansehen ca. bedeuten? Wäre ein zusätzlicher externer Router sinnvoller (2. Pi evtl?)?

    Im Internet finde ich leider nur Tutorials zum bridgen von vorhandenem Internetzugang - das möchte ich nicht, selbst wenn der Pi zusätzlich per Kabel mit dem Netz verbunden ist.

    Hat jemand schonmal so etwas realisiert? Mit welchen Paketen müsste man da rumspielen?

    Vielen Dank im Voraus!
    Viele Grüße,
    Chris

    Einmal editiert, zuletzt von .sirhc (21. März 2016 um 14:40)

  • WLAN Hotspot zur Nutzung des eigenen Apache Webservers? Schau mal ob du hier fündig wirst!

  • Die Auslastung kommt ganz auf die Webseite an. Wenn jeder der Nutzer fullhd Video von der Webseite zieht, wird es eng ^^ Sonst sollten 10 Nutzer kein Problem darstellen. Bezüglich Hotspot. Geht genauso mit, wie ohne Internetverbindung. Wenn du das LAN kabel für das Internet ziehst, wird der pi immer noch von seinen Clients erreichbar sein

  • Ich habe einen "Vorlesungs-Pi", der als Access Point konfiguriert ist, aber keine Internetverbindung aufbauen soll. Du brauchst dazu hostapd (den eigentlichen Access Point) und dnsmasq (als DHCP Server). Ich nehme an, die Kurzversion reicht Dir:

    Code
    $ sudo apt-get install hostapd dnsmasq

    In der /etc/dnsmasq.conf folgende Änderungen vornehmen:

    Code
    interface=wlan0
    dhcp-range=192.168.222.100,192.168.222.254,255.255.255.0,12h


    Damit werden die Adressen zwischen 192.168.222.100 und 192.168.222.254 vergeben. Lease time sind 12 Stunden.

    Die /etc/hostapd/hostapd.conf sollte wie folgt aussehen (Achtung: Keine Leerzeichen vor oder nach dem Gleichheitszeichen!):

    Bei "driver=" muss der Richtige Treiber angegeben werden. Das ist eigentlich der schwierigste Teil. Ich habe hier ein Ralink, daher nl80211. Die ssid und wpa_passphrase müssen noch angepasst werden.

    Die beiden Dienste noch (durch-) starten:

    Code
    sudo /bin/systemctl restart dnsmasq.service
    sudo /bin/systemctl restart hostapd.service

    Danach sollte das neue Netzwerk "Classroom" sichtbar sein.


    [TOM]

    Einmal editiert, zuletzt von [TOM] (23. März 2016 um 22:05)

  • Perfekt, ich danke Dir Tom! Werde ich heute Abend ausprobieren.
    Gibt es eine Möglichkeit jeden Aufruf in einem Browser auf eine bestimmte Seite zu leiten? Wenn der Pi quasi als DNS-Server fungiert? Oder eben zumindest o.g. "Captive-Portal" ("Sie müssen sich in diesem Netzwerk anmelden")?

    Vielen Dank schonmal für eure Rückmeldungen!


  • Gibt es eine Möglichkeit jeden Aufruf in einem Browser auf eine bestimmte Seite zu leiten? Wenn der Pi quasi als DNS-Server fungiert? Oder eben zumindest o.g. "Captive-Portal" ("Sie müssen sich in diesem Netzwerk anmelden")?

    Ich verstehe die Frage noch nicht so ganz. Der Pi hat ja keine Internetverbindung bzw. soll ja keine haben nach Deinem ersten Post. Was ist der Hintergrund? Was hast Du vor?


    [TOM]

  • Auf dem Pi läuft ein Webserver. Die Leute sollen sich ins WLAN einloggen und ohne eine Adresse in den Browser tippen zu müssen auf eine bestimmte Seite (Bildergallerie), welche auf dem Pi liegt, geleitet werden ...

    Ist denke ich mal einfacher als zusätzlich noch ein Schild aufzustellen "Öffnen Sie ihren Browser und tippen Sie: http://192.168.0.1/Gallerie/index.php"
    :D

    Grüße,
    Chris

  • Ich denke, wir haben etwas ähnliches vor. Allerdings will ich keine Bilder bereitstellen. ;) Ich skizziere mal kurz, was ich vorhabe bzw. teilweise schon realisiert habe - vielleicht passt das ja auch zu Deinem Vorhaben.

    Für meine Vorlesungen benutze ich einen Raspberry Pi, um einen Server im Internet zu simulieren. Der Pi ist als Access Point konfiguriert und vergibt per DHCP IP-Adresse, Subnetmask und DNS Server. Für eine minimale Namensauflösung wird ein Nameserver auf dem Pi bereitgestellt. Als Webserver läuft der Apache mit PHP. Der Pi hat keine Verbindung mit dem Internet - es ist also ein isoliertes Netz.

    Die Studenten können sich mit ihren Rechnern mit dem Accesspoint verbinden. Dazu gebe ich vorher die SSID und die Passphrase bekannt. Da auf dem Pi ein Nameserver läuft und entsprechend konfiguriert ist, kann durch den Aufruf eines festgelegten Namens (z. B. http://my.pi) die Startseite des Webs my.pi aufgerufen und angezeigt werden.

    Wenn Du jetzt eine "Anmeldung" möchtest, würde ich dafür mod_auth (Apache Verzeichnisschutz) verwenden. Dazu müssen natürlich die User vorher angelegt werden. Eine Selbstregistrierung habe ich nicht vorgesehen.

    Wenn das zu Deinem Vorhaben passt, kann ich morgen die Details dazu liefern - bin heute schon zu müde. :sleepy:


    [TOM]

    Einmal editiert, zuletzt von [TOM] (23. März 2016 um 22:57)

  • Hallo!

    Es geht mir gar nicht primär um die Anmeldung, sondern nur, dass die Benutzer sobald sie drauf klicken auf eine bestimmte Seite geleitet werden.
    Der AP läuft jetzt soweit. Allerdings tut sich nichts, wenn ich das ganze per

    Code
    sudo /bin/systemctl restart dnsmasq.service
    sudo /bin/systemctl restart hostapd.service


    starte. Sobald ich "sudo hostapd -dd /etc/hostapd/hostapd.conf" benutze, dann startet der AP - auch wenn ich die gleiche config Datei angegeben habe ...

    Ich habe aber noch ein Problem: Wenn ich mit meinem Android Smartphone verbinde, dann sagt es "keine Internetverbindung" und beim Versuch im Browser per IP auf die Seite zu kommen versucht das Handy über's Mobile Internet die IP aufzurufen und gibt entsprechend eine Fehlermeldung :( - mit dem Notebook funktioniert es ...

    Wie realisierst du denn noch das http://my.pi?
    Wäre interessant für mich!

    Vielen Dank für deine ganzen Mühen!
    Grüße,
    Chris

    Einmal editiert, zuletzt von .sirhc (25. März 2016 um 14:40)


  • Allerdings tut sich nichts, wenn ich das ganze per

    Code
    sudo /bin/systemctl restart dnsmasq.service
    sudo /bin/systemctl restart hostapd.service


    starte. Sobald ich "sudo hostapd -dd /etc/hostapd/hostapd.conf" benutze, dann startet der AP - auch wenn ich die gleiche config Datei angegeben habe ...

    Wie ist auf deinem PI, die Ausgabe von:

    Code
    systemctl status hostapd.service


    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Sobald ich "sudo hostapd -dd /etc/hostapd/hostapd.conf" benutze, dann startet der AP - auch wenn ich die gleiche config Datei angegeben habe ...

    Was steht denn in der /etc/default/hostapd bei DAEMON_CONF? Der Eintrag sollte wie folgt aussehen:

    Code
    DAEMON_CONF="/etc/hostapd/hostapd.conf"



    Ich habe aber noch ein Problem: Wenn ich mit meinem Android Smartphone verbinde, dann sagt es "keine Internetverbindung" [...]

    Das ist ja auch korrekt so. Der Pi hat ja keine Internetverbindung und demzufolge auch die Clients nicht, die sich mit ihm verbinden.



    [...] und beim Versuch im Browser per IP auf die Seite zu kommen versucht das Handy über's Mobile Internet die IP aufzurufen und gibt entsprechend eine Fehlermeldung

    Deaktiviere mal das mobile Internet im Handy und nimm die komplette URL, also mit http:// - nicht nur die IP-Adresse.



    Wie realisierst du denn noch das http://my.pi?

    Kommt auf das Szenario drauf an.Wenn der Pi - wie in diesem Thread - keine Internetverbindung hat dann in die /etc/hosts die IP-Adresse des Pi eintragen:

    Code
    192.168.222.1 my.pi

    Danach dnsmasq neu starten und die der Name wird in dem kleinen, lokalen Netz des Pi aufgelöst.

    Ich werde das in den nächsten Tagen mal etwas detaillierter als Tutorial zusammenschreiben.


    [TOM]


  • Wie ist auf deinem PI, die Ausgabe von:

    Code
    systemctl status hostapd.service


    ?


    Aktiv. Fehler lag woanders. S.u..


    Was steht denn in der /etc/default/hostapd bei DAEMON_CONF? Der Eintrag sollte wie folgt aussehen:

    Code
    DAEMON_CONF="/etc/hostapd/hostapd.conf"


    Fail. Auch wenn ich es vorher selber schon kontrolliert hatte ist mir mein Typo nicht aufgefallen: DAEMON_CONF="/etc/hostapd/hostpad.conf"

    Zitat


    Deaktiviere mal das mobile Internet im Handy und nimm die komplette URL, also mit http:// - nicht nur die IP-Adresse.


    Wenn ich das Mobile Netz deaktiviere geht es - aber das ist ja leider ein unrealistisches Szenario - das http:// hat keinen Einfluss. Wahrscheinlich leider ein Problem des Android OS und nicht des Pis?

    Zitat

    Kommt auf das Szenario drauf an.Wenn der Pi - wie in diesem Thread - keine Internetverbindung hat dann in die /etc/hosts die IP-Adresse des Pi eintragen:

    Code
    192.168.222.1 my.pi

    Danach dnsmasq neu starten und die der Name wird in dem kleinen, lokalen Netz des Pi aufgelöst.

    Ich werde das in den nächsten Tagen mal etwas detaillierter als Tutorial zusammenschreiben.


    Top, vielen Dank!

    Hoffentlich finde ich noch eine Lösung für das "keine Internetverbindung"-Problem ...

    Grüße

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!