SimpleHTTPServer - Dateien teilen

SimpleHTTPServer

Manchmal möchte man für andere Rechner im lokalen Netzwerk ein Verzeichnis temporär frei geben, mit der Software SimpleHTTPServer ist dies problemlos möglich.

Informationen

Möchte man zeitweise - also nur eine bestimmte Zeit ein Verzeichnis für andere Rechner oder Smartphones frei geben ist dies problemlos möglich, mit folgendem beschriebenen Beispiel können andere Rechner - in diesem Fall natürlich auch Smartphones auf ein einzelnes von Ihnen fest gelegtes Verzeichnis und die darin liegenden Dateien per Webbrowser zugreifen - dies natürlich nur lesend, etwa um sich Dateien darin anzusehen, Videos oder Musik abzuspielen, Dateien aus diesem auf das andere Gerät zu kopieren, ... An den Dateien im frei gegebenen Verzeichnis kann man von anderen Geräten aus natürlich nichts ändern. Auf darin liegende Unterverzeichnisse kann man zugreifen, jedoch nicht in ein höher gelegenes wechseln - absolut sicher.

Ein Verzeichnis frei geben

Das erste was man benötigt ist ein offener Port, diesen kann man wählen wie gewünscht - er sollte aber natürlich nicht von einem anderen Dienst genutzt werden. In diesem Beispiel werde ich einfach den Port 4444 nutzen, dies erledigt man wie gewünscht entweder bei installiertem GUFW:

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Fügen Sie einfach eine neue Regel mit dem gewünschten Port hinzu, nutzen Sie die Iptables finden Sie hier die passende Anleitung, Protokolle müssen beide gewählt werden (TCP/UDP).

Man braucht nicht einmal zusätzliche Software installieren - Python ist sowieso schon installiert, nun kann man als normaler Nutzer auf dem Terminal das gewünschte Verzeichnis frei geben, in diesem Beispiel das komplette Home-Verzeichnis. Man navigiert (wie im Link Terminal beschrieben) in das frei zu gebende Verzeichnis und startet nun den Befehl:

python -m SimpleHTTPServer 4444

Wie beschrieben für den Port 4444, einen ersten Test kann man nun auf dem lokalen Rechner starten indem man einen beliebigen Webbrowser öffnet mit der Adresse "localhost:4444":

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Wie schon beschrieben kann man in jedes darunter liegende Verzeichnis wechseln aber nicht in darüber liegende, versteckte Dateien werden angezeigt:

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Öffnet man eine Datei wird diese wenn vom Webbrowser unterstützt abgespielt (wie beispielsweise bei Videos oder Audio-Dateien, angezeigt wie etwa bei Bildern oder PDF-Dateien, wenn nicht unterstützt wird die Datei herunter geladen.

Um von einem anderen Gerät auf die Dateien zuzugreifen gibt man die IP-Adresse des Rechners an und anschließend den Port, die eigene IP-Adresse erfährt man am einfachsten am Terminal über den Befehl:

ip a
Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Nun gibt man vom entfernten Gerät ganz einfach die IP-Adresse und den Port in die Adresszeile des Browsers ein (dies funktioniert nicht über Google Chrome auf Smartphones da sich hier immer die Googe-Suche öffnet, aber etwa problemlos mit Firefox), in meinem Beispiel einfach:

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Hier das frei gegebene Verzeichnis auf einem Smartphone und hier eine aus diesem abgespielte Video-Datei:

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Verzeichnis unter Linux temporär für andere Rechner oder Smartphones im lokalen Netzwerk frei geben

Um auch über das Internet auf den lokalen Server zugreifen zu können muss man nun die öffentliche IP-Adresse kennen - siehe Öffentliche IP-Adresse. Der angegebene Port muss natürlich auf dem Router frei gegeben sein - wenn vom Router so vorgesehen der Rechner mit den frei gegebenem Verzeichnis als Router deklariert sein. Dann nutzt man statt wie oben die private IP-Adresse die öffentliche IP-Adresse mit dem Port.

Um den Server zu beenden genügt dann einfach im Terminal die Tastenkombination Strg + c.