Pi4 über das Internet zugänglich machen

Pi4 über das Internet zugänglich machen

von Micha Maximus -
Anzahl Antworten: 25

Hallo,

ich habe Moodle auf einem Pi4 mit Ubuntu-Server 18.04 installiert. Läuft bei mir im Heimnetz super! Jetzt würde ich aber gerne das Ganze auch über das Internet zugänglich machen. Ich benutze eine Fritzbox 7590. Kann mir jemand sagen, wie ich da vorgehen muss, bzw. wo ich eine Anleitung dafür finde?


Mittelwert:  -
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Dag Klimas -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Translators
Hallo Micha,

bitte prüfe von den nächsten Schritten, wie gut deine Upload-Rate an deinem Internet-Anschluss ist. Außerdem sollten deine Lerninhalte darauf ausgerichtet werden (z. B. Videos werden nicht unbedingt eine Freude sein)

Hier eine kleine Linksammlung:
https://avm.de/service/fritzbox/fritzbox-7590/wissensdatenbank/publication/show/893_Statische-Portfreigaben-einrichten/
https://avm.de/service/fritzbox/fritzbox-7590/wissensdatenbank/publication/show/893_Statische-Portfreigaben-einrichten/

Nach meiner Einschätzung wird es sich um den Port 80 handeln.

Damit deine TN zugreifen können, müsstest du aus meiner Sicht noch einen Dyn.DNS-Dienst einrichten:
https://avm.de/service/fritzbox/fritzbox-7590/wissensdatenbank/publication/show/30_Dynamic-DNS-in-FRITZ-Box-einrichten/

In der Folge müsstest du nach meiner Einschätzung noch deinen Moodle-Server für die Dyn-Adresse einrichten. Das erfolgt in der config.php.

Und dann sind die Werte in der Datenbank auf die DynAdresse zu ändern. https://docs.moodle.org/38/en/Search_and_replace_tool

Viele Grüße und viel Erfolg
Dag
(hoffe, dass ich nichts übersehen habe)
Als Antwort auf Dag Klimas

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
Hallo,
vielen Dank für die schnelle und gute Hilfe. Ich möchte nur einigen Leuten im Rahmen einer Schulung zeigen, was Moodle so kann. Deshalb komme ich mit meinem 100/40 -Kabelanschluss sicherlich hin.
Das DynDns an der Fritzbox war schnell eingerichtet. Die Dyn-Adresse war auch schnell in der config.php geändert.

Allerdings komme ich jetzt über die Dyn-Adresse auf das Ubuntu vom Pi4 und nicht auf Moodle (das ja auf genau diesem Ubuntu läuft. Also auf die Seite: Apache2 Ubuntu Default Page traurig Hat jemand vielleicht noch eine Idee, wie ich das hinbekommen könnte?
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Dag Klimas -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Translators
Hi MIcha,
da es in deiner Aufzählung fehlte: hast du auch search & replace gemacht? - Ist nur so eine dumme Idee von mir...

Viele Grüße
Dag
Als Antwort auf Dag Klimas

Re: Pi4 über das Internet zugänglich machen

von Thorsten Rochelmeyer -
... und der Webserver muss wissen, dass er Anfragen an diese Adresse bearbeiten soll. Die Dinger sind extrem konsequent im Ignorieren von Anfragen, für die sie sich nicht zuständig fühlen.
Als Antwort auf Thorsten Rochelmeyer

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
OK, ich habe in der /etc/apache2/sites-available/default zwei Dateien: 000-default.conf und default-ssl.conf angepasst und mein Moodle-Verzeichnis hier hineingeschrieben (also: DocumentRoot /var/www/html/moodle/ - Hat aber leider noch nichts gebracht traurig
Als Antwort auf Dag Klimas

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
search & replace?
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Dag Klimas -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Translators
Hi Micha,
das war in meiner ersten Antwort "Und dann sind die Werte in der Datenbank auf die DynAdresse zu ändern. https://docs.moodle.org/38/en/Search_and_replace_tool "
Viel Erfolg
Dag
Als Antwort auf Dag Klimas

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
Hallo,
mir ist das mit dem Search and replace tool nicht so ganz klar. Wenn ich http://xxyymoodle.dyndnss.net/admin/tool/replace/index.php bei mir in den Browser eingebe bekomme ich die Meldung "The requested URL /admin/tool/replace/index.php was not found on this server." Allerdings ist das Verzeichnis mit der Datei vorhanden. Also gehe ich momentan davon aus, dass die default-ssl.conf für den Apache-Server falsch angepasst ist: DocumentRoot /var/www/html/moodle Allerdings ist mir nicht klar, wohin das Verzeichnis sonst gehen soll (also: DocumentRoot /var/www/html/moodle/login funktioniert auch nicht). Ich weiß leider nicht mehr so richtig weiter traurig
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Als Antwort auf Visvanath Ratnaweera

Re: Pi4 über das Internet zugänglich machen

von Ekkehard Skirl -

Die Zeilein der config.php

$CFG->wwwroot   = 'http://xxyymoodle.dyndnss.net';

muss doch eigentlich

$CFG->wwwroot   = 'http://xxyymoodle.dyndnss.net/moodle';

heißen, oder?

Deine Dyn-Adresse weist immer auf die "Wurzel" des Apache. Die würde ich da auch lassen.
Also DocumentRoot erstmal zurück setzen.

Und der Aufruf muss dann auch

http://xxyymoodle.dyndnss.net/moodle

heißen, oder? Du willst ja in einem Unterordner die index.php-Datei ansprechen.

Und da du geschrieben hast, dss du auf die Startseite vom Apache kommst, ist die Portweiterleitung auch richtg, vermute ich.

Natürlich solltest du das gnaze dann später noch auf https umstellen, wegen der Verschlüsselung. Du bewegst dich ja im Internet.

Grüße aus dem nordwestlichen Randboulettenland

Ekkehard


Als Antwort auf Ekkehard Skirl

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
Vielen Dank für die schnelle Antwort!
"muss doch eigentlich
$CFG->wwwroot = 'http://xxyymoodle.dyndnss.net/moodle';
heißen, oder?" - ja, habe ich korrigiert, hat aber leider nichts gebracht.

-"Also DocumentRoot erstmal zurück setzen." was meinst Du damit? DocumentRoot /var/www/html/moodle in der 000-default.conf sollte doch richtig sein, oder?

-"Und der Aufruf muss dann auch
http://xxyymoodle.dyndnss.net/moodle
heißen" - da weiss ich leider auch nicht ganz genau was Du meinst. Soll ich DocumentRoot http://xxyymoodle.dyndnss.net/moodle in die 000-default.conf schreiben?
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Nein, nur eine der der genannten zwei Änderungen muss gemacht werden.

Ich schlage vor:
1. $CFG->wwwroot = 'http://xxyymoodle.dyndnss.net';
2. DocumentRoot /var/www/html/moodle in der 000-default.conf

Dann braucht es nur noch einen Neustart des Webservers:
# systemctl restart apache2

Dein Pi4 wird im Internet unter http://xxyymoodle.dyndnss.net erreichbar sein.
Als Antwort auf Visvanath Ratnaweera

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
Hallo Visvanath,

vielen Dank dafür, dass Du noch mal versucht hast zu helfen.
Leider bleibt bei Deinem Vorschlag der Browser einfach nur weiß traurig
Aber dazu mal ein wichtiger Gedanke: wenn ich
DocumentRoot /var/www/html in der 000-default.conf eingebe, dann komme ich im Browser auf den Ordner html und es wird mir der Ordner Moodle und #index (ich habe das # davor gesetzt) angezeigt. D.h. grundsätzlich läuft es schon mal nicht sooo falsch. Wenn DocumentRoot /var/www/html/moodle rein schreibe, dann scheint aber irgendetwas (im Ordner Moodle?) nicht gefunden zu werden.

Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Was zeigt 'ls -ld /var/www/html/moodle' und was zeigt 'ls -l /var/www/html/moodle/config.php'?

Moodle ist im Heimnetz gelaufen, schreibst du? Wie war die URL, ich meine, welche Adresse hast du im Browser aufgerufen? http://localhost/moodle? http://ipadresse/moodle? oder sonst was?
Als Antwort auf Visvanath Ratnaweera

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -

Hallo!

ls -ld /var/www/html/moodle:

drwxr-xr-x 54 www-data www-data 4096 Apr 16 17:52 /var/www/html/moodle

~$ ls -l /var/www/html/moodle/config.php:

-rw-r----- 1 www-data www-data 781 Apr 17 18:07 /var/www/html/moodle/config.php

Im Heimnetz habe ich mich unter folgender ULR angemeldet: http://192.xxx.xxx.xx/moodle/login/index.php

Leider habe ich von der Rechteverwaltung überhaupt keine Ahnung, Aber es sieht so aus, als ob die config.php andere Rechte hat als das Verzeichnis, in dem es ist. Richtig?

Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Effektiv kniffig. Was passiert wenn du ein test.html in /var/www/html/moodle erstellst und http://xxyymoodle.dyndnss.net/test.html aufrufst - im Internet wohlverstanden.

Annahmen:
- DocumentRoot /var/www/html/moodle in der 000-default.conf
- 'systemctl restart apache2' ausgeführt.

Noch die Datei /var/log/apache2/error.log anschauen.

P.S. Die Übung ist gestartet, jetzt wollen wir wissen, was schief gelaufen ist. Aber wenn dein Ziel ein möglichst performanter Moodle-Server in einem RPi zu betreiben ist, dann wärest du mit https://moodlebox.net/ viel schneller am Ziel.
Als Antwort auf Visvanath Ratnaweera

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -

Hallo,

ich hatte mich für die Ubuntu-Variante entschieden, weil ich mich auf der Ubuntu-Ebene sicherer fühle.

Leider hat das mit der test.html nicht geklappt.

die error.log: https://paste.ubuntu.com/p/FvddxFjbqt/

Ich habe im Netz folgende Anleitung gefunden (und überlege, das einfach mal auszuprobieren - auch auf die Gefahr hin, dass ich mir dabei alles zerschieße):

(https://www.codeflow.site/de/article/how-to-install-moodle-on-ubuntu-16-04)

sudo chmod -R 777 /var/www/html/moodle
Öffnen Sie die Moodle-Konfigurationsdatei in Ihrem Editor:
sudo nano /var/www/html/moodle/config.php

Suchen Sie diese Zeile:

config.php

$CFG->directorypermissions = 0777;

Ändern Sie es wie folgt:

config.php

$CFG->directorypermissions = ;

Speichern Sie dann die Datei und beenden Sie den Editor.

Setzen Sie abschließend die Berechtigungen für das Verzeichnis "+ / var / moodledata +" selbst zurück, da Moodle bereits einige von der Welt beschreibbare Ordner erstellt hat und während des Installationsvorgangs:

sudo chmod -R 0770 /var/moodledata

Nachdem Sie Moodle konfiguriert haben, nehmen Sie einige Anpassungen vor und erstellen Sie einen Testkurs, um ein Gefühl für die Moodle-Weboberfläche zu bekommen.



Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators
Was heisst:
> Leider hat das mit der test.html nicht geklappt.
?

Auf dem Browser muss man ja was sehen.

> die error.log: https://paste.ubuntu.com/p/FvddxFjbqt/

Dort werden keine Fehler registriert. Der naechste Schritt waere mit https://docs.moodle.org/38/de/Debugging volle "Developer" Logmeldungen zu holen.
Als Antwort auf Visvanath Ratnaweera

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
Ja, entschuldigung, hatte ich vergessen:
Not Found

The requested URL /test.html was not found on this server. wurde mir angezeigt.
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Visvanath Ratnaweera -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Translators

Eine einfache HTML-Seite muss der Server schon liefern können. In diesem Fall liegt das Problem gar nicht an Moodle. Zuerst sicher stellen, dass die HTML-Seite kommt, es sind genug Hinweise gepostet worden. Sonst im Internet suchen, oder z.B. in einem Ubuntu-Forum fragen.

Als Antwort auf Visvanath Ratnaweera

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -
Hallo,
ich bin es noch mal. Ich habe jetzt alles deinstalliert und noch einmal installiert: es funktioniert leider immer noch nicht.
Ich bin nach dieser Anleitung vorgegangen:
https://techexpert.tips/de/moodle-de/moodle-installation-auf-ubuntu-linux/
Der lokale Zugriff funktioniert!

Danach unter /var/www/html/moodle/  in der config.php:  $CFG->wwwroot   = 'http://xxyymoodle.dyndnss.net'; eingetragen und unter /etc/apache2/sites-available/ in der 000-default.conf:   DocumentRoot /var/www/html/moodle/   eingetragen

Der Bildschirm im Browser bleibt weiss traurig
Wenn ich in der 000-default.conf:   DocumentRoot /var/www/html/ eintrage, sehe ich im Browser den Ordner Moodle und eine Datei #index.html (die habe ich dort hingepackt) - Apache funktioniert also.

Vielleicht hat ja noch irgendjemand eine Idee...
PS: Moodlebox habe ich mir angeschaut - aber schon allein das Verbinden über das Wlan funktioniert bei mir nicht. Die Ubuntu-Variante wäre mir deutlich lieber.
Als Antwort auf Micha Maximus

Re: Pi4 über das Internet zugänglich machen

von Thorsten Rochelmeyer -
Apache kenne ich mich nicht mit aus. Deshalb kann ich dabei nicht weiter helfen. Was ich anbieten könnte, wäre eine funktionierende Konfig für nginx.

Weiterer Punkt: Wenn Du Deinen Pi über das Netz über eine URL ansprechen willst, muss der Router Anfragen, die über das Netz ins eigene Netz gehen, zulassen. Bei der FritzBox heißt das "DNS-Rebind-Schutz", zu finden unter den Netzwerk-Einstellungen. Sonst kannst Du zwar über die IP zugreifen, nicht aber über die URL.
Als Antwort auf Thorsten Rochelmeyer

Re: Pi4 über das Internet zugänglich machen

von Micha Maximus -

Hallo,

komischer Weise kann ich ja drauf zugreifen. Wenn ich z.B. eine HTML-Datei ins Moodle-Verzeichnis kopiere, so wird diese geöffnet.

Ich vermute, dass es irgendetwas mit den Schreibrechten bzw. Rechten in dem Ordner Moodle zu tuen hat traurig