ASP.NET > WindowsServer > Web Deployの設定


WindowsServerへWebDeployを行う。


## 参考サイト
[Web Deploy で IIS に発行するための Windows Server の設定 - KatsuYuzuのブログ](http://katsuyuzu.hatenablog.jp/entry/2016/01/26/001735)
[Windows Server/IIS/Web Deployインストール - yanor.net/wiki](http://yanor.net/wiki/?Windows%20Server%2FIIS%2FWeb%20Deploy%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
[プログラム備忘録 Web Deployのリモート配置って便利ね・・・](http://hssamurai.blog62.fc2.com/blog-entry-73.html)

# サーバー側設定

## サーバー設定
サーバーマネージャーから
サーバーの役割＞Webサーバー＞管理ツール＞管理サービス
をインストールする。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/631e8c51-0f7d-de4c-065b-042430a1c819.png" width="300px" />


## 管理サービス
IISマネージャー　＞　サーバーを選択
機能ビューにて管理サービスを起動する。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/712580a2-6ed1-5892-9924-c729135dfb7d.png" width=300px />

もろもろの設定がグレーアウトしている。右側が開始になっていれば起動している。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/e4b5fda9-7b82-ccfc-152e-9fdfcffcb3af.png" />

Webdeploy用のポートがデフォルトの8172になっているのでセキュリティ等気になるようであれば変更する。
変更する際には右側ペインから停止をクリックする事で変更する事が可能。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/96b12065-51a1-8ee3-a40e-6d4ba6cf85ad.png" width=300px />

## ファイアウォール
上記で設定したポートについて、外部からアクセス可能なようにファイアウォールの設定を行う。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/55038b24-4b51-62a9-8627-63755237a7b7.png" width=300px />


## IISマネージャーユーザー
IISマネージャーに戻り、管理＞IISマネージャーユーザーを選択

<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/b2e79837-27a7-67b3-0d8e-fb2d295994dc.png" width=300px />

### ユーザーの追加を行う。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/4b4e2374-47e3-ba37-5097-8918b17edd11.png" width=300px />

以下、webdeployユーザーを登録する。（webdeployはADになくてもOK）
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/861778f8-3753-d9ba-3233-177bf87a9ee3.png" width=300px />


## 管理サービスの委任
管理サービスの委任を選択
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/37759364-c0f3-8dc0-3f23-cb125c4981f4.png" width=300px />

<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/f61df391-1574-ea2a-0e52-0f9f315e4cdf.png" width=300px />

## Web 配置による発行の有効化
サイトを右クリックしてWeb 配置による発行の有効化を行う

<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/b0f35383-7405-a154-57c4-f02f34cdec21.png" width=300px />


有効化設定の画面が表示されます。
ユーザー選択の右側の四角ボタンを押してユーザー選択ダイアログを表示します。

<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/a2940540-c1d7-d3a4-4fc5-f032c7ddec9b.png" width=300px />

IISマネージャーを選び、選択ボタンを押すとユーザー一覧が表示されるので選択する。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/7255a9bd-fa21-2604-45e5-86bac9d4dccb.png" width=300px /><img src="https://qiita-image-store.s3.amazonaws.com/0/49910/adb5e842-30bf-dbfd-c124-855fd435150b.png" width=300px />

Web配置による発行の有効化画面にて、
設定ボタンを付与するユーザーが選択したユーザー（webdeploy）である事を確認する。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/30c760b5-613a-c9f1-1a9a-ed052b3bdca9.png" width=300px />

画面下側の設定ボタンを押す。設定が始まるのでしばらく待つ。
結果欄に以下のように表示されれば設定完了。

```
'webdeploy' に対する発行が有効になりました
'webdeploy' に 'C:\inetpub\wwwroot' に対するフル コントロールを付与しました
設定ファイル 'C:\Users\Desktop\webdeploy_Default Web Site.PublishSettings' が作成されました
```

最終的には以下のような画面になっているはず。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/de6220cc-2ce6-ee2c-97d6-9f12dc0811e2.png" width=400px />

※同じ画面を再度開いた際に選んだユーザーとは違うユーザーがデフォルトで表示されているかもしれないが、設定は正しく行えているので、この処理を繰り返す必用は無い。（設定ミスったと思い込まなくて良い）


## サーバー設定完了
ここまででサーバー側の設定は完了。
あとは開発用環境からデプロイする。

# 開発用PC側からデプロイ

ここから開発用、もしくはデプロイ用PCからデプロイする方法

## Visual StudioからWeb発行を行う

### プロファイルの作成

発行画面から、新しいプロファイルの作成を選ぶ。
IIS、FTP、その他を選択する。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/680b78c5-ebc5-7944-c2c5-231bdc80c7ba.png" width=300px />
発行の設定画面から以下のように設定します。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/a6bee84d-aa6e-041e-7be1-26792cc6e285.png" width=500px />

接続の検証ボタンを押して緑のチェックマークが付けばOK。
エラーがでればエラーメッセージに添って設定する。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/9f6a956a-1036-c824-0280-929d17b9cf8c.png" />

## 発行

作成したプロファイルを選んで発行ボタンを押せば発行が始まる。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/36850f73-1aac-7f48-6f9a-ef75a49cd027.png" />


これで完了。


# 付録
## WebDeploy3.xのインストール

[Installing and Configuring Web Deploy on IIS 8\.0 or Later \| Microsoft Docs](https://docs.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later)

ファイル
[Download Web Deploy v3.6 from Official Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=43717)

##  Recommended Server Configuration for Web Hosting Providers

## WebDeploy3.6

<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/e4e39d28-622d-ff12-cd3d-b524c88b9676.png" width=300px />

## 
カスタムを選択します。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/1b13c51a-a3c4-838a-ce40-df67893bd6ca.png" width=300px />

全部インストールします。
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/a1ae141f-174f-c910-77a5-602ffdff864c.png" width=300px />

サーバーの設定によってはこの画面が出る
<img src="https://qiita-image-store.s3.amazonaws.com/0/49910/f7989058-fd84-83f4-c5e1-3cbe782b01f6.png" width=300px />