ubuntuusers.de

Instant Webserver

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/service.png Einen „echten“ Webserver installieren, konfigurieren und pflegen kann in Arbeit ausarten – insbesondere, wenn er öffentlich zugänglich ist. Viel praktischer wäre ein temporärer Webserver, der sich nur bei Bedarf genauso schnell starten wie beenden lässt. Dies ist kein Problem mit den folgenden Programmen. Eine Zielgruppe sind z.B. Webentwickler, die statische HTML-Seiten auf dem eigenen Rechner testen möchten. Eine andere sind Anwender, die schnell Daten zwischen zwei oder mehreren Rechnern im Heimnetzwerk austauschen wollen.

Allerdings sollte unbedingt berücksichtigt werden, dass die genannten Programme ausschließlich zum vorübergehenden Einsatz in einem lokalen Netzwerk (LAN) gedacht sind. Der jeweilige Ordner wird in der Regel rekursiv freigegeben, ist also inklusive aller Unterordner und versteckter Dateien im Netzwerk sichtbar. Wenn der Rechner oder das LAN nicht über spezielle Firewall-Regeln abgesichert sind, stehen unter Umständen persönliche Daten vollkommen ungeschützt im Internet.

Für den Zugriff von einem anderen Rechner reicht ein beliebiger Webbrowser aus. Um die vorgestellten Programme (bis auf woof) wieder zu beenden, reicht ein Strg + C auf der Kommandozeile [1]. Die Port-Nummer und der Ordnername sind jeweils frei wählbar. Die hier verwendeten Ports 8081 - 8087, der Ordner ~/Downloads und localhost (muss praktisch durch die IP-Adresse des Server-Rechners ersetzt werden) dienen nur als Beispiel.

Achtung!

Alle genannten Programme bieten keinerlei Zugriffsschutz und sollten daher nicht dauerhaft zum Einsatz kommen (einzige Ausnahmen ist hier goshs). Darüber hinaus sind sie kein Ersatz für einen LAMP-Server.

Programme

In den folgenden Beispielen ist der Ordner ~/Downloads (alias /home/BENUTZERNAME/Downloads) das Stammverzeichnis ("document root") des Webservers.

Python

Ohne Zusatzprogramme und damit noch einfacher in der Handhabung ist der in Python enthaltene SimpleHTTPServer 🇬🇧. Python ist in allen Ubuntu-Varianten in der Standardinstallation enthalten.

Beispiel:

cd ~/Downloads && python3 -m http.server 8082 

Der Webserver ist über http://localhost:8082/ zu erreichen. Eine Upload-Möglichkeit ist nicht vorhanden.

PHP

Hat man PHP installiert, so hat man einen eigenen Server 🇩🇪 zur Hand, selbst wenn man nur die abgespeckte Kommandozeilen-Version von PHP installiert hat. Beispiel:

cd GEWÜNSCHTES/SERVER_VERZEICHNIS
php -S localhost:8080 

Mit Angabe eines anderes Root-Verzeichnisses:

php -S localhost:8080 -t /FOO/BAR 

Der Webserver ist über http://localhost:8080/ (Port-Angabe nach eigenen Wünschen anpassbar) zu erreichen. Eine Upload-Möglichkeit ist nicht vorhanden.

goshs

goshs 🇬🇧 ist ein Instant Webserver, der in Go geschrieben und als "Single Binary" verfügbar ist, d.h. er kann ohne Installation und Konfiguration sofort ausgeführt werden. Der Webserver unterstützt Up- und Downloads und hat jede Menge Features an Bord:

  • Herunterladen oder Ansehen von Dateien

    • Herunterladen mehrerer Dateien als .zip-Datei

  • Hochladen von Dateien (auch per Drag & Drop)

  • Basic Authentication

  • Transport Layer Security (HTTPS)

    • selbst signiert (automatisch erzeugt)

    • eigenes Zertifikat verwenden

  • Clipboard (nicht persistent)

    • Herunterladen des Clipboard Inhaltes als .json-Datei

  • WebDAV

  • Read-Only und Upload-Only Modus

Wenn Go auf den lokalen Rechner bereits vorhanden ist, kann goshs mit diesem Befehl installiert werden:

go install github.com/patrickhener/goshs@latest 

Alternativ kann man goshs als Release 🇬🇧 von GitHub herunterladen und direkt ausführen.

Folgender Befehl startet einen Webserver auf Port 8000 und liefert Dateien aus dem aktuellen Verzeichnis aus, erreichbar unter http://localhost:8000/.

./goshs 

spark

spark 🇬🇧 ist ein Instant Webserver, der in Go geschrieben und als "Single Binary" verfügbar ist, d.h. er kann ohne Installation und Konfiguration sofort ausgeführt werden. Up- und Downloads werden nicht unterstützt, jedoch eignet sich spark gut für das Ausliefern statischer Seiten.

Wenn Go auf den lokalen Rechner bereits vorhanden ist, kann spark mit diesem Befehl installiert werden:

go get github.com/rif/spark 

Alternativ kann man spark als Release 🇬🇧 von GitHub herunterladen und direkt ausführen.

Folgender Befehl startet einen Webserver auf Port 8087 und liefert Dateien aus ~/Downloads aus, erreichbar unter http://localhost:8087/.

./spark -path ~/Downloads -port 8087 

Weitere Möglichkeiten

Steht das Interesse am Versenden oder Empfangen von Dateien im Vordergrund, sind die folgenden Programme eine Alternative zu den oben genannten.

woof

Ein weiteres Python-Skript ist woof 🇬🇧:

Es eignet sich für einzelne Dateien oder ganze Ordner, wobei letztere automatisch gepackt werden. Als Besonderheit ist ein Zähler vorhanden, mit dem sich die Anzahl der gleichzeitigen Ladevorgänge ("downloads") begrenzen lässt (Standard: 1x herunterladen). Beispiel:

python3 woof -p 8086 ~/Downloads/Dateiname 

Der Webserver ist über http://localhost:8086/ zu erreichen und liefert Dateiname aus. Anschließend beendet sich das Programm automatisch. Eine Upload-Möglichkeit (ebenfalls mit Zähler) ist vorhanden. Weitere Informationen liefert der Befehl:

python3 woof -h 

HFS

Der HTTP File Server 🇬🇧 ist ursprünglich für Windows geschrieben worden, lässt sich aber über Wine auch unter Ubuntu ausführen. Verwaltet wird der Server über eine integrierte grafische Benutzeroberfläche. Standardmäßig ist er über http://localhost:8080/ zu erreichen, ist aber auch anders konfigurierbar. Interessant sind die Upload-Möglichkeit sowie die Verwaltung von Benutzern.

Diese Revision wurde am 4. August 2022 23:00 von mubuntuHH erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, Internet