Hallo, Ich suche eine Möglichkeit, möglichst benutzerfreundlich Daten von einem Linux Rechner (sagen wir mal Raspberry) per Webbrowser zum Download bereit zu stellen. Im lokalen Netz. Es sollen also Dateien aus einem (oder einigen wenigen) Verzeichnis(sen) auf einer schlichten Webseite zum Download angezeigt werden. Allerdings sollte das dynamisch sein. Also wenn Dateien dazukommen oder gelöscht werden, soll der Inhalt dieser Webseite automatisch aktualisiert werden. Dazu wäre es angenehm, wenn es Optionen zum Löschen, evtl. auch Umbenennen und Verschieben gäbe, wobei das erstmal zweitrangig ist. Eine Möglichkeit zum Dateiupload wäre dann das höchste der Gefühle. Ich habe natürlich Lösungen wie Webmin und Co. gefunden, die sind mir aber viel zu mächtig. Ich habe leider schon sehr sehr lange nichts mehr mit Webdesign zu tun gehabt. So 15-17 Jahre. Damals schrieb man noch HTML und Javascript von Hand, PHP und Co. waren kein Thema. Verzeiht also meine vielleicht etwas blöde Frage, vielleicht hat ja jemand die Geduld mich in die richtige Richtung zu lenken. Es muss (darf aber ;)) keine fertige Lösung sein, ein Beispiel oder zumindest ein Hinweis, wie man sowas heutzutage angeht wäre nett. Auf dem Rechner läuft grundsätzlich erstmal Apache2 und PHP. Wenn ich wichtige Informationen verschwiegen haben sollte, liegt das an meiner weitgehenden Ahnungslosigkeit auf diesem Gebiet, also bitte einfach nachfordern! Vielen Dank schon mal! Michael
Warum nicht Apache mit aktiviertem Directory Listing? Umbenennen und Upload via FTP?
Warum nicht ftp, dass sollte rudimentär auch mit jedem Webserver gehen.
S R schrieb: > Warum nicht Apache mit aktiviertem Directory Listing? Ach, das kannte ich noch garnicht. Wieder was gelernt! Vielen Dank! Damit kann ich mich schonmal weitergooglen ;) Mal sehen, wie da die Ausgabe aussieht? Karl schrieb: > Warum nicht ftp, dass sollte rudimentär auch mit jedem Webserver gehen. Ähm, ja... auch eine Möglichkeit. Es sollte halt auch ein klitzekleines Bisschen Benutzerfreundlich sein... die Leute sind ja so verwöhnt heutzutage ;) Aber gehen sollte das schon, stimmt. Vielen Dank! Was grundsätzlich so möglich ist, zeigen ja Webmin und diverse andere Pakete in der Richtung.
Directory Listing und WebDAV erlauben, geht mit apache mit ein wenig Konfiguration ohne Zusatz-Software.
Michael Sörensen schrieb: > Ach, das kannte ich noch garnicht. Gibt's aber schon so lange, wie es den Indianer gibt.
Das volle Programm: Apache, PHP und eXtplorer (http://extplorer.sourceforge.net/) dann bekommst du sogar gratis Benutzersteuerung :-)
Stephan G. schrieb: > grins python webserver Ah, du meinst GRAINS? https://docs.saltstack.com/en/develop/topics/grains/index.html
Michael Sörensen schrieb: >> Warum nicht ftp, dass sollte rudimentär auch mit jedem Webserver gehen. > > Ähm, ja... auch eine Möglichkeit. Es sollte halt auch ein klitzekleines > Bisschen Benutzerfreundlich sein... Das kann ja jeder selber regeln, ich benutze z.B. WinSCP, das ist auch nicht gerade eine Klickibunti-Anwendung mit animierten Grafiken, Kacheln und was man heute so hat, sondern einfach ein Dialog wie im Bild. Danach öffnet sich ein Doppelfenster wie beim guten alten Norton Commander. Mehr braucht kein Mensch. Es gibt auch andere FTP-Clienten mit zumutbarer Bedienung, man muss nicht mehr zurück zur Kommandozeile. Georg
Michael Sörensen schrieb: > Ich suche eine Möglichkeit, möglichst benutzerfreundlich Daten von einem > Linux Rechner (sagen wir mal Raspberry) per Webbrowser zum Download > bereit zu stellen. Im lokalen Netz. > > Es sollen also Dateien aus einem (oder einigen wenigen) Verzeichnis(sen) > auf einer schlichten Webseite zum Download angezeigt werden. > > Allerdings sollte das dynamisch sein. Also wenn Dateien dazukommen oder > gelöscht werden, soll der Inhalt dieser Webseite automatisch > aktualisiert werden. Nur so eine Idee mit Python + Flask: Shell:
1 | ~$ mkdir michael && cd michael |
2 | michael$ mkdir templates downloads |
3 | michael$ touch server.py templates/index.html |
4 | michael$ chmod u+x server.py |
5 | michael$ for i in hihi haha hoho; do echo $i > downloads/${i}.txt; done |
server.py:
1 | #!/usr/bin/python
|
2 | import os, sys |
3 | from flask import Flask, render_template, request, make_response |
4 | |
5 | app = Flask(__name__) |
6 | app.config['DOWNLOAD_DIR'] = ['./downloads'] |
7 | |
8 | @app.route('/') |
9 | def index(): |
10 | files = list() |
11 | for directory in app.config['DOWNLOAD_DIR']: |
12 | for filename in os.listdir(directory): |
13 | files.append(os.path.join(directory, filename)) |
14 | return render_template('index.html', files=files) |
15 | |
16 | @app.route('/dl/<path:filename>') |
17 | def download(filename): |
18 | with open(filename, 'r') as f: body = f.read() |
19 | name = os.path.split(filename)[-1] |
20 | resp = make_response(body) |
21 | resp.headers["Content-Disposition"] = "attachment; filename=%s"%(name) |
22 | return resp |
23 | |
24 | if __name__ == '__main__': |
25 | app.secret_key = 'IschLachMischKapott' |
26 | app.run(debug=True, host='127.0.0.1', port=8080) |
templates/index.html: siehe Anhang. > Dazu wäre es angenehm, wenn es Optionen zum Löschen, evtl. auch > Umbenennen und Verschieben gäbe, wobei das erstmal zweitrangig ist. Eine > Möglichkeit zum Dateiupload wäre dann das höchste der Gefühle. Das läßt sich leicht einbauen, ich wollte nur einen Startpunkt geben. HTH!
Ich danke euch allen! Da sind so viele brauchbare Ansätze, da habe ich erstmal einen Abend gut zu tun um die Möglichkeiten auszuprobieren. WinSCP benutze ich schon, das ist mir allerdings schon etwas "zu mächtig", zumindest muss man sich erstmal sehr ausführlich mit chroot etc. auseinandersetzen, damit einem da keiner im System rumspielen kann. eXtplorer sieht erstmal vielversprechend aus, kann aber auf den ersten Blick alles, werde ich auf jeden Fall probieren, vielleicht auch für andere Anwendungen. Die Python Lösungen sagen mir auch sehr zu, da ich Python auch sonst gerne nutze und es am ehesten in die Richtung geht, die ich mir anfangs vorgestellt hatte! Da traue ich mir auch am ehesten zu, dass am Ende so erweitern zu könne, wie ich es haben möchte... Also, ich leg mal los :)
Michael Sörensen schrieb: > Da traue ich mir auch am ehesten zu, dass am Ende so erweitern zu könne, > wie ich es haben möchte. Naja, für den reinen Download bräuchtest du beim Indianer rein gar nichts erweitern, der funktioniert aus der Dose raus, sofern du „Options Indexes“ gestattet hast. Damit wäre diese Variante in 5 Minuten „schlüsselfertig“. Für den Upload wäre die schon genannte WebDAV-Erweiterung nötig, wobei man sich dann ggf. aber um Rechtevergabe und -verwaltung Gedanken machen müsste.
Ja, ich denke ich werde alle Varianten mal durchprobieren, es sind ohne Zweifel alles gangbare Wege. Wie eingangs erwähnt, ich bin auf dem Gebiet recht ahnungslos, aber gerne bereit durch viel probieren und dabei gesammelte Erfahrungen zu lernen. Auch mit dem alten Apachen muss ich mich wohl nochmal ausführlich unterhalten, der kann scheinbar weit mehr als ich bislang auf dem Schirm hatte.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.