annotate Sphinx/source/users/webdav.rst @ 1109:689c27b34bd6

docker comparisons
author Alain Mazy <am@orthanc.team>
date Wed, 25 Sep 2024 10:04:48 +0200
parents dda28dfd7d9d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _webdav:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 Accessing Orthanc from the file explorer using WebDAV
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 =====================================================
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 .. contents::
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 Since release 1.8.0, the content of an Orthanc server can be
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 **mapped/mounted as a network share** thanks to `WebDAV
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 <https://en.wikipedia.org/wiki/WebDAV>`__. Thanks to this feature, you
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 can easily browse the DICOM instances that are stored by Orthanc using
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 the built-in file explorer of your operating system. It is possible to
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 download, upload or delete DICOM instances as well.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 Orthanc creates a so-called **virtual filesystem** that indexes the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 same DICOM resources according to different views (data can be
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 accessed by patients, by studies, by date, or by DICOM UIDs).
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 .. _webdav_screenshots:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 Screenshots
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 -----------
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 The screenshots below are generated using the `test virtual machines
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 <https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/>`__
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 that are provided by Microsoft.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 Here is the layout of the WebDAV server of Orthanc 1.8.0:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 .. image:: ../images/webdav-win7-sample.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 :width: 512
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 As can be noticed, Orthanc exposes a full hierarchy of DICOM
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 resources. These resources are transparently mapped to the database of
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 Orthanc. The same resource will appear at multiple locations of this
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 virtual filesystem, but in practice, it is stored only once. One can
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 choose the best way to access the information depending on the use
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 case.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 Uploading a full folder containing a DICOM study (such as a CD or a
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 DVD containing a DICOMDIR) is as simple as a drag-and-drop onto the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 ``/uploads/`` folder:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 .. image:: ../images/webdav-win7-upload.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 :width: 512
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
529
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
50 As soon as the DICOM files have been dragged-and-dropped, they are
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
51 progressively ingested by Orthanc. Once a DICOM file has been
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
52 ingested, it is automatically removed from the ``/uploads/`` folder.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
53
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
54 Note that it is not possible to rename any file, as this is a virtual
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
55 filesystem that is permanently and transparently reconstructed out of
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
56 the content of the Orthanc database.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
57
570
dda28dfd7d9d webdav and zip
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 534
diff changeset
58 NB: Starting with Orthanc 1.8.2, ZIP archives can also be added to the
dda28dfd7d9d webdav and zip
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 534
diff changeset
59 ``/uploads/`` folder. Orthanc will automatically decompress the ZIP
dda28dfd7d9d webdav and zip
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 534
diff changeset
60 archive and upload any DICOM file it contains.
dda28dfd7d9d webdav and zip
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 534
diff changeset
61
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 Server configuration
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 --------------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 Options
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 ^^^^^^^
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 Three configuration options can be used to configure the WebDAV
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 server:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 * ``WebDavEnabled`` to enable/disable WebDAV.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 * ``WebDavDeleteAllowed`` to turn on/off the possibility of deleting
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 DICOM resources using WebDAV. This can be disabled for security
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 reasons.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
78 * ``WebDavUploadAllowed`` to turn on/off the possibility of uploading
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
79 DICOM resources using WebDAV.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
80
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
81
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
82 Security
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
83 ^^^^^^^^
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
84
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
85 As WebDAV is an application layer above HTTP, you should pay attention
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
86 to :ref:`protect your HTTP server <security_http>`. At the minimum,
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
87 you should enable HTTP Basic Authentication (check out configuration
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
88 option ``RegisteredUsers``). The client will have to provide her
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
89 credentials when mapping the WebDAV share.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
90
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
91 If you want to control which user can see which resource, you should
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
92 protect your network share by creating **access control lists**
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 through a :ref:`Lua script <lua-filter-rest>`, through the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 :ref:`advanced authorization plugin <authorization>`, or through
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 :ref:`your own plugin <creating-plugins>`
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 (cf. ``OrthancPluginRegisterIncomingHttpRequestFilter2()``).
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 The HTTP methods that are used by WebDAV are ``GET`` (for read-only
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 accesses), ``PUT`` (for uploads), and ``DELETE`` (for deletions). The
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 access control lists can be focused on these methods.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102 Finally, it is highly recommended to enable :ref:`HTTPS encryption
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103 <https>`, which might need additional configuration on some operating
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 systems (see below for Microsoft Windows 10).
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107 Client configuration
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 --------------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 Nautilus on Ubuntu 18.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 ^^^^^^^^^^^^^^^^^^^^^^^^
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 It is quite straightforward to use the WebDAV server using Nautilus on
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 Ubuntu:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116 .. image:: ../images/webdav-nautilus-1.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 :width: 512
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120 Obviously, adapt the IP address and HTTP port number to your setup.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 Once the share is connected, it is readily accessible:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123 .. image:: ../images/webdav-nautilus-2.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125 :width: 512
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 **Important:** If you use :ref:`HTTPS encryption <https>`, which is
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 recommended for security reasons, replace the prefix ``dav://`` by
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 ``davs://``.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 Microsoft Windows 7
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 ^^^^^^^^^^^^^^^^^^^
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
135 First of all, make sure to adapt the value of the registry key
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
136 ``BasicAuthLevel``, :ref:`as explained below <webdav_windows_fix>`.
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
137 Otherwise, you might not be able to connect.
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
138
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
139 This section illustrates how to use WebDAV on a Microsoft Windows 7
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
140 operating system. Obviously, the procedure is very similar for more
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
141 recent versions of Microsoft Windows, and many tutorials are available
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
142 on Internet.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
143
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
144 WebDAV has a `known performance issue
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
145 <https://oddballupdate.com/2009/12/fix-slow-webdav-performance-in-windows-7/>`__
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
146 on barebone Microsoft Windows 7. To fix this issue, first open the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
147 "Internet Properties" configuration panel:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
148
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
149 .. image:: ../images/webdav-win7-config5.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
150 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
151 :width: 512
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
152
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
153 Then simply uncheck the "Automatically detect settings" checkbox in
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
154 the "LAN settings" panel:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
155
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
156 .. image:: ../images/webdav-win7-config6.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
157 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
158 :width: 384
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
159
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
160 Once this is done, in order to map Orthanc as a network share on
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
161 Microsoft Windows 7, first open the File Explorer, and right-click on
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
162 "Computer":
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
163
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
164 .. image:: ../images/webdav-win7-config1.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
165 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
166 :width: 512
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
167
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
168 This will open the "Add Network Location Wizard". Click on "Next" to
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
169 choose the (only) available option:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
170
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
171 .. image:: ../images/webdav-win7-config2.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
172 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
173 :width: 384
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
174
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
175 Now enter the IP address and the HTTP port of your Orthanc server, and
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
176 don't forget to add the ``/webdav/`` suffix:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
177
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
178 .. image:: ../images/webdav-win7-config3.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
179 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
180 :width: 384
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
181
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
182 Give a name to your network share:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
183
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
184 .. image:: ../images/webdav-win7-config4.png
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
185 :align: center
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
186 :width: 384
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
187
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
188 At the "Completing the Add Network Location Wizard", click on
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
189 "Finish". You'll then be able to use the network share as depicted in
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
190 the :ref:`screenshots above <webdav_screenshots>`.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
191
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
192 **Important:** For some reason, Microsoft Windows 7 sometimes "`gets
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
193 lost
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
194 <https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/cannot-automatically-reconnect-dav-share>`__"
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
195 after an upload and cannot access Orthanc anymore. In such situations,
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
196 you'll have to delete the network share and repeat the steps above
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
197 again.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
198
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
199 Note that you can find additional information `in the thread about
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
200 WebDAV on the discussion forum
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
201 <https://groups.google.com/g/orthanc-users/c/Iq-Ftv5xGjA/m/68kNcbanAgAJ>`__.
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
202
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
203
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
204 Secure access using Microsoft Windows 10
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
205 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
206
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
207 First of all, make sure to adapt the value of the registry key
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
208 ``BasicAuthLevel``, :ref:`as explained below <webdav_windows_fix>`.
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
209
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
210 Depending on your security settings, Microsoft Windows 10 might also
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
211 impose the use of HTTPS in the Orthanc server. First, you must
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
212 obviously configure :ref:`HTTPS security in Orthanc <https>`.
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
213
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
214 In order to connect successfully to Orthanc WebDAV server using basic
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
215 authentication and SSL with self-signed certificate.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
216
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
217 1) download the ``.pem`` certificate
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
218
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
219 2) Open "Control Panel" → "Manage Computer Certificates"
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
220
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
221 3) Right click on "Certificates - Local Computer → Trusted Root
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
222 Certification Authorities → Certificates" and choose "All Tasks →
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
223 Import..."
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
224
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
225 4) Select the ``.pem`` certificate (you might need to enforce
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
226 displaying ``*.*`` files in the dialog box, for the ``.pem``
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
227 extension is not part of the standard certificate extensions)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
228
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
229 5) Choose "Place all certifications in the following store: Trusted
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
230 Root Certification Authorities"
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
231
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
232 6) A dialog box should pop up with "The import was successful"
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
233
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
234 When done, you can test the WebDAV connection :
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
235
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
236 1) Right click on the Explorer namespace root ("This PC", in Windows 10)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
237
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
238 2) Choose "Map Network Drive"
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
239
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
240 3) Click the link named "Connect to a Web site that you can use..."
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
241
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
242 4) Choose custom network location
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
243
529
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 527
diff changeset
244 5) Type the WebDAV address like: ``https://10.10.10.107:8042/webdav/``
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
245
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
246 6) If all goes well, you should be prompted for the basic auth credentials.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
247
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
248 When this is done, the WebDAV location should be mounted at the top of
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
249 the Explorer namespace (next to the C: drive, etc...). Something to
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
250 try if the mount fails:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
251
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
252
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
253 Tips for other operating systems
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
254 --------------------------------
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
255
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
256 .. _webdav_windows_fix:
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
257
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
258 Microsoft Windows 7, 8.x or 10
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
259 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
260
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
261 If you cannot access WebDAV from Microsoft Windows (with version above
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
262 7), as a first step, change the value of the registry key
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
263 ``BasicAuthLevel`` within the system registry to value ``2`` (by
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
264 default, it comes with value ``1`` that prevents WebDAV access). Here
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
265 are the steps:
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
266
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
267 - Open ``regedit.exe``
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
268
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
269 - Open the ``HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters`` key
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
270
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
271 - Create the ``BasicAuthLevel`` DWORD value if needed
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
272
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
273 - Set the ``BasicAuthLevel`` DWORD value to ``2``
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
274
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
275 This should *not* be required, but was enabled on the PC that was used
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
276 to test the mounting procedure. `Details here
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
277 <http://techgenix.com/EnableBasicAuthforWebDAVonWindows7/>`__
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
278
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
279 Note that you can find additional information `in the thread about
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
280 WebDAV on the discussion forum
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
281 <https://groups.google.com/g/orthanc-users/c/Iq-Ftv5xGjA/m/68kNcbanAgAJ>`__.
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
282
534
8e27dbf6f39e BasicAuthLevel put in more visible way
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 530
diff changeset
283
530
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
284
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
285 Microsoft Windows Server 2012
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
286 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
287
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
288 1. **Install Desktop Experience**: Server manager > Add Features >
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
289 User Interfaces and Infrastructure > Desktop Experience
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
290
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
291 2. **Start and set to Automatic WebClient Service**: Services >
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
292 WebClient > Properties > Set from Manual to Automatic then start it
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
293
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
294 `Link to the original post <https://groups.google.com/d/msgid/orthanc-users/3b3c3af1-0413-471e-8f31-0a358632fd6an%40googlegroups.com?utm_medium=email&utm_source=footer>`__
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
295
63d59fab98e2 webdav on windows server 2012
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 529
diff changeset
296
526
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
297
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
298 Debugging WebDAV
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
299 ----------------
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
300
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
301 As of release 1.8.0, the WebDAV server of Orthanc has been tested
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
302 against the following WebDAV clients: Nautilus, `davfs2
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
303 <https://en.wikipedia.org/wiki/Davfs2>`__, Microsoft Windows XP,
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
304 Microsoft Windows 7, and Microsoft Windows 10.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
305
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
306 It is obviously impossible for us to test against all the possible
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
307 platforms. If you encounter an issue using your WebDAV client, you
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
308 should send us a trace generated by the `wsgidav reference server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
309 <https://github.com/mar10/wsgidav/>`__ so that we can identify what is
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
310 the non-respect of Orthanc wrt. the WebDAV standard.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
311
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
312 .. highlight:: bash
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
313
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
314 On Ubuntu, here are the commands to generate a useful log::
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
315
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
316 $ sudo pip install wsgidav cheroot
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
317 $ mkdir -p /tmp/webdav/hello
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
318 $ echo "foo" > /tmp/webdav/hello/world
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
319 $ wsgidav -v -v --auth anonymous --host=0.0.0.0 --port=8042 --root=/tmp/webdav/ | tee /tmp/wsgidav.log
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
320
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
321 Connect your WebDAV client to ``http://localhost:8042/``, and do some
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
322 basic operations (access ``/hello/world``, create a file, create a
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
323 folder, and delete a file). Then, stop the ``wsgidav`` server and
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
324 publish the content of the ``/tmp/wsgidav.log`` logfile on the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
325 `Orthanc Users discussion group
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
326 <https://groups.google.com/g/orthanc-users>`__.