Heute bin ich auf eine ganze Reihe von Methoden gestoßen, um eine einzelne Datei oder ein ganzes Verzeichnis mit anderen Systemen in unserem lokalen Netzwerk über einen Webbrowser zu bedienen. Ich habe ein paar Methoden in meiner Ubuntu-Testmaschine getestet und alle haben wie unten beschrieben einwandfrei funktioniert. Wenn Sie sich jemals gefragt haben, wie Sie Dateien und Ordner unter Linux einfach und schnell über HTTP bereitstellen können, wird Ihnen eine der folgenden Methoden definitiv helfen.
Dateien und Ordner über HTTP unter Linux bereitstellen
Haftungsausschluss: Alle hier angegebenen Methoden sind für die Verwendung in einem sicheren lokalen Netzwerk vorgesehen. Da diese Methoden keinen Sicherheitsmechanismus haben, wird es nicht empfohlen, sie in der Produktion zu verwenden . Sie wurden gewarnt!
Methode 1 - Verwenden von simpleHTTPserver (Python)
Unter dem folgenden Link haben wir bereits eine kurze Anleitung zum Einrichten eines einfachen HTTP-Servers zum sofortigen Freigeben von Dateien und Verzeichnissen geschrieben. Wenn Sie ein System mit installiertem Python haben, ist diese Methode sehr praktisch.
- So richten Sie einen einfachen Dateiserver mit simpleHTTPserver ein
Methode 2 – Verwenden von Quickserve (Python)
Diese Methode ist speziell für Arch Linux und seine Varianten. Überprüfen Sie den folgenden Link für weitere Details.
- So teilen Sie Dateien und Ordner in Arch Linux sofort
Methode 3 – Verwenden von Ruby
Bei dieser Methode verwenden wir Ruby, um Dateien und Ordner über HTTP in Unix-ähnlichen Systemen bereitzustellen. Installieren Sie Ruby und Rails wie im folgenden Link beschrieben.
- Installieren Sie Ruby on Rails in CentOS und Ubuntu
Gehen Sie nach der Installation von Ruby in das Verzeichnis, zum Beispiel ostechnix, das Sie über das Netzwerk freigeben möchten:
$ cd ostechnix
Und führen Sie den folgenden Befehl aus:
$ ruby -run -ehttpd . -p8000 [2018-08-10 16:02:55] INFO WEBrick 1.4.2 [2018-08-10 16:02:55] INFO ruby 2.5.1 (2018-03-29) [x86_64-linux] [2018-08-10 16:02:55] INFO WEBrick::HTTPServer#start: pid=5859 port=8000
Stellen Sie sicher, dass der Port 8000 in Ihrem Router oder Ihrer Firewall geöffnet ist. Wenn der Port bereits von anderen Diensten verwendet wurde, verwenden Sie einen anderen Port.
Sie können jetzt auf den Inhalt dieses Ordners von jedem Remote-System aus zugreifen, indem Sie die URL http://
Ruby-HTTP-Server
Um die Freigabe zu beenden, drücken Sie STRG+C .
Methode 4 - Verwendung des HTTP-Servers (NodeJS)
HTTP-Server ist ein einfacher, produktionsbereiter Befehlszeilen-HTTP-Server, der in NodeJS geschrieben ist. Es erfordert keine Konfiguration und kann verwendet werden, um Dateien und Verzeichnisse sofort über einen Webbrowser freizugeben.
Installieren Sie NodeJS wie unten beschrieben.
- So installieren Sie NodeJS unter Linux
Führen Sie nach der Installation von NodeJS den folgenden Befehl aus, um den HTTP-Server zu installieren.
$ npm install -g http-server
Gehen Sie jetzt zu einem beliebigen Verzeichnis und geben Sie dessen Inhalt wie unten gezeigt über HTTP frei.
$ cd ostechnix
$ http-server -p 8000 Starting up http-server, serving ./ Available on: http://127.0.0.1:8000 http://192.168.225.24:8000 http://192.168.225.20:8000 Hit CTRL-C to stop the server
Jetzt können Sie auf den Inhalt dieses Verzeichnisses von lokalen oder entfernten Systemen im Netzwerk zugreifen, indem Sie die URL - http://
nodejs http-Server
Um die Freigabe zu beenden, drücken Sie STRG+C .
Methode 5 – Verwenden von Miniserve (Rust)
Miniservieren ist ein weiteres Befehlszeilenprogramm, mit dem Sie Dateien schnell über HTTP bereitstellen können. Es ist ein sehr schnelles, benutzerfreundliches und plattformübergreifendes Dienstprogramm, das in Rust geschrieben wurde Programmiersprache. Im Gegensatz zu den oben genannten Dienstprogrammen/Methoden bietet es Authentifizierungsunterstützung, sodass Sie Benutzername und Passwort für die Freigaben einrichten können.
Installieren Sie Rust in Ihrem Linux-System wie im folgenden Link beschrieben.
- Installieren Sie die Programmiersprache Rust unter Linux
Führen Sie nach der Installation von Rust den folgenden Befehl aus, um Miniserve zu installieren:
$ cargo install miniserve
Alternativ können Sie die Binärdateien von der Release-Seite herunterladen und ausführbar machen.
$ chmod +x miniserve-linux
Und dann können Sie es mit dem Befehl ausführen (vorausgesetzt, die Miniserve-Binärdatei wird in das aktuelle Arbeitsverzeichnis heruntergeladen):
$ ./miniserve-linux <path-to-share>
Verwendung
Um ein Verzeichnis bereitzustellen:
$ miniserve <path-to-directory>
Beispiel:
$ miniserve /home/sk/ostechnix/ miniserve v0.2.0 Serving path /home/sk/ostechnix at http://[::]:8080, http://localhost:8080 Quit by pressing CTRL-C
Jetzt können Sie über die URL http://localhost:8080 vom lokalen System selbst auf die Freigabe zugreifen und/oder vom entfernten System mit URL - http://
So stellen Sie eine einzelne Datei bereit:
$ miniserve <path-to-file>
Beispiel:
$ miniserve ostechnix/file.txt
Datei/Ordner mit Benutzername und Passwort bereitstellen:
$ miniserve --auth joe:123 <path-to-share>
An mehrere Schnittstellen binden:
$ miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- <path-to-share>
Wie Sie sehen können, habe ich nur 5 Methoden angegeben. Es gibt jedoch einige weitere Methoden, die in dem Link am Ende dieses Handbuchs angegeben sind. Geh und teste sie auch. Setzen Sie außerdem ein Lesezeichen und besuchen Sie sie von Zeit zu Zeit erneut, um zu prüfen, ob es in Zukunft neue Ergänzungen zur Liste gibt.
Referenz:
- Liste der statischen HTTP-Server-Einzeiler