[PYTHON] Erstellen Sie einen einfachen WebDAV-Server unter Linux
Einführung
Ich begann zu denken, ich wünschte, ich könnte während des Wettbewerbs einen Dateiserver einfacher und schneller einrichten. Das Ziel ist eine Umgebung, in der Clients wie WinSCP schnell auf Dateien zugreifen und diese einfach übertragen und öffnen können.
Der Prozess, der zu WebDAV führt
Es gibt verschiedene Arten von Dateiservern, aber ich möchte einige Kandidaten erläutern, die mir in den Sinn kamen.
- Was ist mit SFTP?
Eine unberührbare Welt im Wettbewerb (natürlich sollte sie so eingestellt sein, dass Sie nicht damit spielen können), da Sie sich nicht anmelden können, wenn Sie sich schlecht mit dem SSH-Server herumschlagen
- Was ist mit FTP?
Wenn Sie sich entscheiden, bei der SSH-Portübertragung einzugreifen, ist dies ein bisschen mühsam (es sollte nicht unmöglich sein).
- Was ist mit WebDAV?
Es kann der Übertragung von SSH-Ports standhalten und verursacht wahrscheinlich keine ernsthaften Umweltschäden.
Also habe ich mich für einen WebDAV-Server entschieden.
WsgiDAV wurde gewählt
- Nginx ist einfach, weil ich (persönlich) daran gewöhnt bin, aber standardmäßig fehlen Module, sodass ich die Quelle erstellen muss.
- Ich bin nicht mit Apache vertraut und bin mir nicht sicher, da viele Einstellungsdateien zum Berühren vorhanden sind. Wenn Apache im Wettbewerb benötigt wurde, gibt es niemanden, der gut koexistiert.
Deshalb habe ich große Webserver aufgegeben.
Als ich es nachgeschlagen habe, war WsgiDAV sehr einfach.
https://github.com/mar10/wsgidav
- Ich habe den Vorgang unter Ubuntu 20.04 überprüft, aber wenn Python enthalten ist, sollte es unter Windows oder Mac in Ordnung sein.
Installation
$ pip install wsgidav cheroot
Lauf
Funktionsprüfung. Es kann je nach Umgebung Sudo sein.
$ wsgidav --host=0.0.0.0 --port=8080 --root=/home/ --auth anonymous
Versuchen Sie danach, mit einem Browser oder WinSCP darauf zuzugreifen.
Fügen Sie nach Überprüfung des Vorgangs nohup hinzu und führen Sie es aus.
$ nohup wsgidav --host=0.0.0.0 --port=8080 --root=/home/ --auth anonymous > /dev/null 2>&1 &
Impressionen
Es war zu einfach.