1Installation 2============ 3 4This section describes, how a WsgiDAV server is installed. 5 6.. seealso:: 7 8 If you plan to contribute to the WsgiDAV project, check out :doc:`development` 9 for details on how to install in development mode. 10 11 12Preconditions 13------------- 14 15WsgiDAV server was tested with these operating systems (among others): 16 17 * Linux (Ubuntu 13) 18 * Mac OS X 10.9 19 * Windows (Windows 10, 8, 7, Vista, XP) 20 21WsgiDAV requires 22 23 * `Python <https://www.python.org/downloads/>`_ 2.7 or 3.4+ 24 * A WSGI compliant web server. |br| 25 WsigDAV is a WSGI application, that must be served by a compliant web server. 26 Among others, there are `CherryPy / Cheroot <https://github.com/cherrypy/cheroot>`_, 27 `gevent <http://www.gevent.org/>`_, 28 `gunicorn <http://gunicorn.org/>`_, 29 `mod_wsgi <http://modwsgi.readthedocs.io/>`_, 30 `uWSGI <https://uwsgi-docs.readthedocs.io/>`_, 31 and many more. 32 |br| 33 Simply choose a server that suites you best. 34 If unsure, we recommend Cheroot (the server that backs CherryPy) which has 35 `proven to be pretty performant and stable <https://blog.appdynamics.com/engineering/a-performance-analysis-of-python-wsgi-servers-part-2/>`_. 36 Cheroot comes also bundled with the MSI installer. 37 * Optionally `lxml <http://codespeak.net/lxml/>`_ for slight performance 38 improvements (speed up performance of PROPPATCH requests up to 10%). 39 40 41Unix / Linux 42------------ 43 44Releases are hosted on `PyPI <https://pypi.python.org/pypi/WsgiDAV>`_ and can 45be installed using `pip <http://www.pip-installer.org/>`_:: 46 47 $ pip install --upgrade wsgidav 48 49Or install the latest (potentially unstable) development version directly 50from GitHub:: 51 52 $ pip install git+https://github.com/mar10/wsgidav.git 53 54In order to run the WsgiDAV server from the command line, we also need a WSGI server 55such as `Cheroot <https://cheroot.readthedocs.io/>`_:: 56 57 $ pip install cheroot 58 59The following examples were tested on Ubuntu 13.04. 60Install lxml (optional):: 61 62 $ sudo apt-get install python-lxml 63 64If everything is cool, this should work now:: 65 66 $ wsgidav --version -v 67 WsgiDAV/2.4.0 Python/3.6.1 Darwin-17.5.0-x86_64-i386-64bit 68 $ wsgidav --help 69 70.. 71 $ wsgidav --version 72 bash-3.2$ 2.3.1 73 74.. seealso:: 75 76 `Deploying WebDAV on Debian 10 using WsgiDAV <https://www.vultr.com/docs/deploying-webdav-on-debian-10-using-wsgidav>`_. 77 78 79Windows 80------- 81 82Install the preconditions if neccessary. 83Basically the same as for `Unix / Linux`_ 84 85.. note:: 86 87 MS Windows users that only need the command line interface may prefer the 88 `MSI installer <https://github.com/mar10/wsgidav/releases>`_. 89 90 91Docker 92------ 93 94An experimental Docker image that exposes a local directory using WebDAV 95is available here: 96https://hub.docker.com/r/mar10/wsgidav/ 97 98:: 99 100 $ docker pull mar10/wsgidav 101 $ docker run --rm -it -p <PORT>:8080 -v <ROOT_FOLDER>:/var/wsgidav-root mar10/wsgidav 102 103for example:: 104 105 $ docker run --rm -it -p 8080:8080 -v c:/temp:/var/wsgidav-root mar10/wsgidav 106 107Then open (or enter this URL in Windows File Explorer or any other WebDAV client) 108http://localhost:8080/ 109