Windows 2022
Sponsored Link

IIS : WebDAV を設定する2022/01/26

 
WebDAV を設定して HTTP 経由でのファイル共有ができるよう設定します。
[1] PowerShell を管理者権限で起動して設定します。
例として [RX-7.srv.world] サイトの物理パス直下に [webdav] フォルダーを作成して、該当フォルダー配下は WebDAV アクセスできるよう設定します。 また、当例では、[webdav] フォルダーのアクセス権は [DavGroup] というグループを新規作成し、該当グループに [読み取り/書き込み] を許可します。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

# WebDAV 機能をインストール
PS C:\Users\Administrator> Install-WindowsFeature Web-DAV-Publishing 

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        {WebDAV Publishing}

# IIS 再起動
PS C:\Users\Administrator> Restart-Service W3SVC 

# [DavGroup] グループ新規作成
PS C:\Users\Administrator> New-LocalGroup -Name "DavGroup" 

Name     Description
----     -----------
DavGroup

# 任意のローカルユーザーを [DavGroup] グループに追加
# (WebDAV 経由の読み取り書き込みを許可するユーザー)
PS C:\Users\Administrator> Add-LocalGroupMember -Group "DavGroup" -Member "Serverworld" 


PS C:\Users\Administrator> Get-Website 

Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    %SystemDrive%\inetpub\wwwroot  http *:80:
RX-7.srv.world   2    Started    C:\inetpub\newsite             http *:80:rx-7.srv.world
                                                                https *:443:rx-7.srv.world sslFlags=0

# [webdav] フォルダー作成
PS C:\Users\Administrator> mkdir C:\inetpub\webdav 

# [webdav] フォルダーを仮想ディレクトリに設定
PS C:\Users\Administrator> New-WebVirtualDirectory -Site "RX-7.srv.world" -Name "webdav" -PhysicalPath "C:\inetpub\webdav" 

Name   PhysicalPath
----   ------------
webdav C:\inetpub\webdav

# WebDAV 機能を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/webdav/authoring' -Location "RX-7.srv.world" -Name enabled -Value True 

# [webdav] フォルダーでは匿名認証を無効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/anonymousAuthentication' -Location "RX-7.srv.world/webdav" -Name enabled -Value False 

# [webdav] フォルダーでは基本認証を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/security/authentication/basicAuthentication' -Location "RX-7.srv.world/webdav" -Name enabled -Value True 

# [webdav] フォルダーに [DavGroup] グループの Read,Write,Source を許可
PS C:\Users\Administrator> Add-WebConfiguration -Filter "/system.webServer/webdav/authoringRules" -Location "RX-7.srv.world/webdav" -Value @{path="*";roles="DavGroup";access="Read,Write,Source"} 

# [webdav] フォルダーに [DavGroup] グループの NTFS フルコントロールを許可 (継承含む)
PS C:\Users\Administrator> icacls "C:\inetpub\webdav" /grant "DavGroup:(OI)(CI)(F)" 
processed file: C:\inetpub\webdav
Successfully processed 1 files; Failed processing 0 files

# [webdav] フォルダーに [ディレクトリの参照] の設定を有効化
PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/directoryBrowse' -Location "RX-7.srv.world/webdav" -Name enabled -Value True 

# Web サイト再起動
PS C:\Users\Administrator> Restart-WebItem -PSPath 'IIS:\Sites\RX-7.srv.world' 

# HTTP アクセスして動作確認 ⇒ [-u (ユーザー名)]
PS C:\Users\Administrator> curl.exe -u Serverworld https://rx-7.srv.world/webdav/ 
Enter host password for user 'Serverworld':     # ユーザーのパスワード

<html><head><title>rx-7.srv.world - /webdav/</title></head><body><H1>rx-7.srv.world - /webdav/</H1><hr>

<pre><A HREF="/">[To Parent Directory]</A><br><br></pre><hr></body></html>
IIS : WebDAV を設定する (GUI)
 
GUI で設定する場合は以下のように実行します。
[2] 事前に WebDAV アクセスを許可するグループを作成して、任意のローカルユーザーを所属させておきます。 当例では [DavGroup] グループに [Serverworld] ユーザーを追加して WebDAV アクセスできるよう設定します。 ローカルユーザーの作成等はこちらを参照ください
[3] WebDAV 機能をインストールします。
[サーバーマネージャー] - [役割と機能の追加] から [Web サーバー (IIS)] の機能で、以下のように [WebDAV 発行] を選択してチェックを入れます。 インストール後は IIS を再起動しておきます。
[4] WebDAV を設定したいサイト配下に任意の WebDAV 用フォルダーを作成します。
当例では以下のように [webdav] という仮想ディレクトリ (物理パスは [C:\inetpub\webdav]) を作成して進めます。 仮想ディレクトリの設定はこちらを参照ください
[5] 左ペインで WebDAV を設定したいサイトを選択し、中央ペインで [WebDAV オーサリング規則] を開きます。
[6] 右ペインで [WebDAV の有効化] をクリックして有効にします。
[7] 左ペインで WebDAV を設定したいフォルダーを選択し、中央ペインで [WebDAV オーサリング規則] を開きます。
[8] 右ペインで [オーサリング規則の追加] をクリックして開きます。
[9] WebDAV アクセス許可の設定を行います。当例では以下のように [DavGroup] に [読み取り/ソース/書き込み] を許可して進めます。
[10] WebDAV フォルダーには NTFS アクセス許可も必要です。左ペインで WebDAV フォルダーを選択して右クリックメニューから [アクセスの許可] を開き、アクセス許可したいユーザーやグループを追加して、書き込み権限等々を付与しておきます。
[11] 認証の設定を行います。左ペインで WebDAV を設定したいフォルダーを選択し、中央ペインで [認証] を開きます。
[12] 以下のように [匿名認証] を無効にし、[基本認証] を有効にします。
[13] ディレクトリの参照の設定を行います。左ペインで WebDAV を設定したいフォルダーを選択し、中央ペインで [ディレクトリの参照] を開きます。
[14] 右ペインで [有効にする] をクリックすると以下のように有効になります。表示したい情報は任意に選択ください。
[15] 以上で設定完了です。Web ブラウザーで WebDAV フォルダーのパスにアクセスして動作確認します。 ユーザー認証が正常に完了して WebDAV フォルダーの内容が表示されれば OK です。
IIS : WebDAV の設定 : WebDAV クライアントからの利用
 
WebDAV クライアントからの WebDAV フォルダーの利用方法です。Windows 11 を例にします。
WebDAV クライアントには様々なソフトウェアがありますが、当例では Windows の標準機能でアクセスします。
[16] [PC] を開き、上段の [コンピューター] タブに移動して、[ネットワークの場所の追加] をクリックします。
[17] [次へ] をクリックします。
[18] [次へ] をクリックします。
[19] WebDAV フォルダーの URL を入力して [次へ] をクリックします。
[20] アクセス許可を設定したユーザーやグループで認証します。
[21] 正常に認証が完了すると以下の画面になります。PC 上で表示される WebDAV フォルダーを入力します。任意の分かりやすい名前で OK です。
[22] [完了] をクリックします。
[23] WebDAV フォルダーにアクセスできました。ファイルの読み取り/書き込み等が可能か確認しておくとよいでしょう。
関連コンテンツ