Seite 2 von 3 Erste 123 Letzte
  1. #11
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.278
    Thanked 9.150 Times in 3.023 Posts
    Blog Entries
    5

    Standard AW: Der einfachste Weg, um einen Apache Webserver mit PHP und MySQL auf dem Raspberry Pi zu installi

    Hi! Danke, das freut mich
    Eine statische IP ist technisch am besten, muss aber nicht zwingend sein. Du kannst auch eine dynamische verwenden und per Dynamischem DNS (DynDNS) die neue IP regelmäßig automatisiert setzen lassen. Einziger Nachteil ist, dass es dadurch zu einigen Minuten Ausfall bei der Zwangstrennung kommen kann. Mit verschiedenen Modems wie z.B. der Fritz! Box kannst du die Zeit festlegen, etwa Nachts um 3 Uhr. Oder eine andere Zeit, in der wahrscheinlich keiner darauf zugreift. Ist ein wenig mehr Konfigurationsaufwand und du kannst nicht jeden DNS-Anbieter nutzen, aber dafür sparst du dir die feste IP. Die kostet meist in irgend einer Form beim Anbieter Extra.

    Wenn dein DNS steht, brauchst du im Modem/Router eine Portweiterleitung von 80/443 auf deinen Pi im Netzwerk. 80 ist für unverschlüsseltes HTTP und für verschlüsseltes HTTPS. Letzteres ist Standard und zu empfehlen. Selbst wenn du keine sensiblen Daten überträgst, markieren viele Browser unverschlüsselte Verbindungen als unsicher. Zertifikate müssen nicht gekauft werden. Let's Encrypt ist eine freie Zertifizierungsstelle. Statt kommerziellen Zertifizierungsstellen Geld in den Rachen zu werfen, lieber ein paar Euro an LE spenden, wenn du dich für den kostenfreien Dienst bedanken möchtest. Wenn du der Certificate Bot einmal eingerichtet hast, übernimmt LE zudem automatisch die Verlängerung. Du hast also nicht 1x pro Jahr den händischen Aufwand, ein neues Zertifikat zu kaufen und einzupflegen. Spart Zeit und Arbeit. Außerdem entfällt das Risiko, dass du es vergisst und es dadurch zu Problemen kommt.

    HTTPS mit Zertifikaten ist für den technischen Aufbau aber eher Feinarbeit. Ich würde erst mal beide Ports auf den Pi leiten, einen Apache auf dem Pi installieren und die Portweiterleitung testen, sodass du über deine öffentliche Domain die "It Works" Seite vom Apache siehst. Das ist für Einsteiger der wohl schwierigste Teil, wenn das läuft kannst du dich später mit HTTPS beschäftigen. Port 80 würde ich in dem Fall trotzdem drin lassen und auf 443 umleiten. Dann kommt man auch auf deine Seite, wenn man http://domain.de statt https://domain.de eingibt. Machen manche Browser zwar mittlerweile automatisch wenn sie per HTTP nichts erreichen, aber schadet nicht.


  2. #12
    Avatar von U-Labs YouTube
    Registriert seit
    30.09.2021
    Beiträge
    1.556
    Thanked 36 Times in 34 Posts

    Standard AW: Der einfachste Weg, um einen Apache Webserver mit PHP und MySQL auf dem Raspberry Pi zu installi

    Wenn ich auf Windows im cmd „sudo“ eingebe, dann wird dieser Befehl verweigert. Kann mir jmd helfen, wie das zu lösen ist?

    Kommentar von Eme.

  3. #13
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.278
    Thanked 9.150 Times in 3.023 Posts
    Blog Entries
    5

    Standard AW: Der einfachste Weg, um einen Apache Webserver mit PHP und MySQL auf dem Raspberry Pi zu installi

    Windows unterstützt sudo nicht, das ist ein GNU/Linux Befehl. Auf der Kommandozeile (CMD) bist du allerdings auch rein logisch falsch, da sämtliche Befehle dort auf deinem Windows-PC ausgeführt werden. Im Beitrag geht es ja darum, Apache auf dem Raspberry Pi zu installieren. Dafür musst du dich erst per SSH von deinem PC zum Raspberry PI verbinden, damit die Befehle auf dem Raspberry Pi ausgeführt werden. Du brauchst dafür einen SSH-Client. Dafür gibt es zwei Möglichkeiten: Windows hat seit kurzem einen für die Konsole entwickelt. Der ist aber nicht standardmäßig installiert, sondern muss händisch nachinstalliert werden. Wie das geht, habe ich in diesem Beitrag gezeigt. Das funktioniert, ist allerdings recht unbequem und erfordert Grundwissen für die Konsolenversion von SSH. Wenn du Windows nutzt, würde ich MobaXterm empfehlen. Dabei handelt es sich um eine grafische Anwendung, die das für Einsteiger etwas vereinfacht. Das Programm ist für den persönlichen Gebrauch kostenfrei. Hier habe ich MobaXterm vorgestellt und einige Vorteile aufgezeigt.

    Unabhängig davon welchen der beiden SSH-Clients du wählst, musst du anschließend noch den Hostname oder die IP-Adresse deines Raspberry Pi ermitteln. Viele Router legen einen DNS-Eintrag zum Hostname an. Ich würde daher als erstes Versuchen, mich mit diesem Hostname zu verbinden. Standardmäßig lautet dieser raspberrypi, sofern du den Hostname nicht von Hand geändert hast.


  4. #14
    Avatar von U-Labs YouTube
    Registriert seit
    30.09.2021
    Beiträge
    1.556
    Thanked 36 Times in 34 Posts

    Standard Kommentar von @madivi1

    Kommentar von @madivi1:
    Super Video!

    Ich habe aber ein Problem, zu dem ich noch keine gutes (verständliches) Tutorial gefunden habe, ob wohl es eigentlich einer der Standardanwendungen des Pi sein müsste. Ich hoste meine eigene Webseite im meinen lokalen Netz, sodass ich z.B. alle meine Lieblingsseiten als Links auf alle Geräten im Netz habe, ohne jedesmal die Favoriten im jeweiligen Browser ändern zu müssen. Der Teil ist noch easy. Schwierig wird es für mich aber, wenn ich es um die IO Funktionen geht, die ich über den Browser steuern möchte, speziell die Inputs bereiten mir Schwierigkeiten, da diese nicht automatisch upgedaten werden, ohne das ich die Seite neu lade. (Die meisten Tutorials vermeiden die Eingänge und zeigen nur, wie man eine LED schaltet)
    Ich möchte folgendes machen:
    1.) Auf meine eigenen Webseite den Status eines GPIO Eingangspin anzeigen, ohne die Seite jedesmal neu zu laden.
    2.) Ein GPIO Ausgang über den Browser von allen Geräten im Netzs steuern
    3.) Die aktuelle Temperatur und Prozessorlast des Pi's im Browser anzeigen und automatisch updaten, wenn sie sich ändert
    4.) Den Pi über den Webbrowser herrunterfahren oder rebooten
    5.) UART-Botschaften von oder zu einen ESP32-Gerät über den Browser senden und lesen

    Hast Du einen Tip für mich, wie ich diese IO Funktionen, bzw. das Rebooten/Herunterfahren über Apache und PHP realisieren kann?

  5. #15
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.278
    Thanked 9.150 Times in 3.023 Posts
    Blog Entries
    5

    Standard AW: Der einfachste Weg, um einen Apache Webserver mit PHP und MySQL auf dem Raspberry Pi zu installi

    Danke dir!
    Was du für #1 und #3 suchst, sind Websockets. Das ist eine Erweiterung des HTTP-Protokolls, wodurch die Verbindung offen gehalten wird. So kann der Server (RPI hier) Daten an den Client (Browser) senden. Klassisches HTTP kann das nicht, weil es Monodirektional ist. Der Client sendet eine Anfrage, die beantwortet der Server und schließt die Verbindung. Ab diesem Zeitpunkt kann der Server den Client über nichts mehr benachrichtigen, bis der Client erneut Anfragen sendet. Auf der Serverseite musst du dann schauen, wie du an Änderungen der Daten kommst. Im besten Falle gibt es Events, ansonsten machst du dort Polling: Alle X Sekunden gucken, ob sich etwas geändert hat, wenn ja per WS den Browser-Client benachrichtigen.

    Für den Rest braucht es nicht zwingend WS, dafür reicht ein Wrapper in PHP oder was anderem: Der sendet eine bestimmte Anfrage und der Server führt dann die jeweilige Aktion durch (z.B. GPIO Ein/Ausschalten). Um CLI-Aufrufe und entsprechende Rechte wirst du dafür wohl nicht herum kommen. Macht natürlich Sinn, das direkt auch über WS zu machen, wenn man die wegen der Echtzeitdaten sowieso im Projekt einsetzt.


  6. #16
    Avatar von U-Labs YouTube
    Registriert seit
    30.09.2021
    Beiträge
    1.556
    Thanked 36 Times in 34 Posts

    Standard Kommentar von @os-channel

    Kommentar von @os-channel:
    Hallo U-Labs,
    Was für ein tolles Projekt! Es funktioniert einwandfrei.
    Ich möchte ein MQTT-Projekt mit einem ESP32 als Subscriber einem anderen ESP32 als Publisher einrichten. Der Broker sollte ein eigenständiger RasPi als Broker-Server sein (Apache?), der ein eigenes WLAN ohne Verbindung zum Internet über Router oder Access Point erstellt.
    Könntest Du mir Tipps geben, wie das geht?
    Die Handhabung des ESP32 soll einfach sein. Allerdings habe ich beim RasPi so meine Probleme, die installierten Mosquitto- und WLAN-Server-Fähigkeiten zu kombinieren.
    Danke!
    Oli

  7. #17
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.278
    Thanked 9.150 Times in 3.023 Posts
    Blog Entries
    5

    Standard AW: Kommentar von @madivi1

    Hi,
    danke dir für deine Rückmeldung

    MQTT und ESP32 sind mir grob ein Begriff, ich habe mit beidem allerdings bisher noch nichts gemacht und kann daher nur sagen: Dafür brauchst du einen MQTT-Broker. Der Apache Webserver kann das nicht, der ist primär für HTTP-Datenverkehr und damit ein anderes Protokoll. Es gibt von Apache mit ActiveMQ einen Broker, der MQTT unterstützt. Mit dem Webserver hat das allerdings nichts zu tun. Hier nicht den Webserver Apache mit der gleichnamigen Apache Software Foundation (ASF) verwechseln. Die ASF wird gerne auch oft kurz als Apache genannt. Diese Organisation pflegt den Apache Webserver, allerdings ist das nur eines der bekanntesten Projekte. Sie kümmern sich auch um ActiveMQ und eine ganze Reihe weiterer Programme.


  8. #18
    Avatar von U-Labs YouTube
    Registriert seit
    30.09.2021
    Beiträge
    1.556
    Thanked 36 Times in 34 Posts

    Standard Kommentar von @FrankMuster

    Kommentar von @FrankMuster:
    MM, funktioniert Super. Nur mir stellt sich nun die Frage, wie bekomme ich die ganzen html und jpg-dateien zur eigenen Webseite auf den Pi ?? habe FTP (per TotalCommander) probiert, aber mit welchen Passwörterm bzw. URL, hab einiges prboert, bin aber leider nichjt allzu Linux-affin

  9. #19
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.278
    Thanked 9.150 Times in 3.023 Posts
    Blog Entries
    5

    Standard AW: Der einfachste Weg, um einen Apache Webserver mit PHP und MySQL auf dem Raspberry Pi zu installi

    Du brauchst einen Serverdienst auf dem Gerät, der das bereitstellt. Für FTP wäre das z.B. vsftpd, ProFTPD usw. TotalCommander ist laut Beschreibung bloß ein Client, also das Gegenstück. Wie beim Telefon brauchst du eine Person die anruft (Client) und eine zweite, die den Anruf entgegen nimmt (Server). Sonst kommt kein Telefonat zustande.

    Grundsätzlich würde ich dafür aber kein FTP mehr verwenden, wenn vermeidbar. Das Protokoll ist 40 Jahre alt, in seinen Ursprüngen noch älter. Standardmäßig wird alles im Klartext unverschlüsselt verschickt. Kann man natürlich alles einstellen, besser finde ich SFTP. Das überträgt Dateien per SSH, was man meist ohnehin bereits für Fernzugriff aktiviert hat. SSH ist standardmäßig verschlüsselt und robust. Es gibt weitere Möglichkeiten wie z.B. NFS-Freigaben, die man unter allen gängigen Betriebssystemen (GNU/Linux, Windows und MacOS) einhängen bzw. als Netzlaufwerk nutzen kann. Geht auch, dazu habe ich mal einen Beitrag gemacht. Es müsste dann entsprechend das Wurzelverzeichnis vom Webserver (/var/www) freigegeben werden.

    Um so etwas umzusetzen, solltest du dich vorher allerdings näher mit den Grundlagen beschäftigen. Sowohl was GNU/Linux angeht, als auch IT allgemein. Die Client-Server-Struktur beispielsweise wird unabhängig vom Betriebssystem für vieles genutzt, was übers Netzwerk läuft. Ohne solche Dinge zu verstehen, wirst du dir sehr schwer tun, da etwas erfolgreich und vernünftig einzurichten.


  10. The Following User Says Thank You to DMW007 For This Useful Post:

    Darkfield (12.05.2024)

  11. #20
    Avatar von U-Labs YouTube
    Registriert seit
    30.09.2021
    Beiträge
    1.556
    Thanked 36 Times in 34 Posts

    Standard Kommentar von @MichaMond

    Kommentar von @MichaMond:
    http kann abgerufen werden. Wie bringt man den Apache dazu, https zu verarbeiten?

Seite 2 von 3 Erste 123 Letzte
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.