4
2

Blazor Web App をWindows Server 2022 のIISにデプロイしてみた

Last updated at Posted at 2024-04-24

C#を使って Webアプリをサクッと作る方法を探していたら、Blazor の存在を思い出したので、さっそく試してみました。

Visual Studio 2022 のプロジェクトテンプレートから Blazor Web App を選ぶと、簡単なサンプルページが付いたプロジェクトが生成されます。

これをビルドするとローカルPC上で簡易ブラウザが立ち上がり、デモページが表示されるのですが、これをIISで動かそうと思ったら、思いのほか時間が掛かりました。

手順を分かってしまえば簡単ですので、ここで纏めておきます。

手順0.Blazorアプリの発行

今回のデモページをIISで公開する場合は「発行」を選択します。
image.png

ターゲットは「フォルダ」を指定します。リモートでIISのフォルダに発行することも可能ですが、別途リモートデプロイ用のツールをサーバ側にインストールする必要があるので、今回は素直にフォルダに出力します。
image.png

ビルドファイル(Blazroアプリ)を出力するフォルダを選択して「完了」をクリックすればビルドが始まります。
image.png

手順1.IISをインストールする

サーバマネージャーの「役割と機能の追加」からIISをインストールします。インストールは特に選択すべき項目は無く、「次へ」ボタンをクリックしていくだけです。

1.「サーバーの役割の選択」で、Webサーバ(IIS)にチェックを入れます。

image.png

2.次のダイアログが表示されるので、「機能の追加」をクリックします。
image.png

3.次の画面が表示されるので、「次へ」をクリックします。
image.png

後は「インストール」ボタンが有効になるまで、「次へ」をクリックしていき、最後に「インストールボタン」をクリックします。

するとインストールが始まりますので、しばらく待ちましょう。
IISがインストールできたら、ブラウザからサーバのIPアドレスを叩くと次の画面が表示されます。これでIISのインストールは完了です。
image.png

手順2.Blazor アプリをデプロイする

Visual Studio から発行した Blazor アプリをサーバのフォルダにコピーします。場所はどこでも良いのですが、今回はC:¥inetpub¥wwwroot の配下に、BlazorDemo というフォルダを作成し、そこにコピーしました。
image.png

手順3.IISサービスマネージャーにアプリとして登録する

image.png

コンピュータ名(WIN-O3CQPSRPA7G~)を右クリックし「Webサイトの追加」を選んで、表示されるダイアログにサイト名、物理パス、ポートを入力します。
image.png

手順4.アプリケーションプール名を確認する

手順3で入力したサイト名がアプリケーションプール名になりますが、念のため確認しておきます。
image.png

手順5.フォルダに参照権限を付与する

Blazorアプリをデプロイしたフォルダ(今回はC:¥inetpub¥wwwroot¥BlazorDemo)に対して、アプリケーションプールの参照権限を付与します。

この時のポイントとなるのは、 "IIS AppPool\アプリケーションプール名" を直接入力して「OK」ボタンをクリックする点です。
今回は "IIS App Pool\BlazorDemo" と入力します。
image.png

付与する権限はデフォルトの状態で構いません。フルコントロールや変更は許可しなくても構いません。
image.png

手順5.Windows Server Hosting をインストールする

Blazor アプリをIISで動かすためには、Window Server Hosting をMicrosoftのサイトからダウンロードして、インストールする必要があります。これを忘れると永久にアプリが公開できませんのでご注意ください。

下記がそのリンクです。クリックすると即座にダウンロードされます。
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-8.0.4-windows-hosting-bundle-installer

image.png

ダウンロードしたインストーラを実行すれば作業は完了です。2024年4月現在において、dotnet-hosting-8.0.4-win.exe がダウンロードされます。
image.png

まとめ

IISのインストールは十数年ぶりだったので、色々と調べながらインストールしたので時間が掛かりました。特に Windows Server Hostingのインストールが必要なことと、フォルダにアプリケーションプールの参照権限を付与しなければいけないこと、フォルダ権限付与の際は直接"IIS AppPool\アプリケーションプール名"を指定しないといけないことなど、ちょっと調べるだけでは出てこない情報です。

でも、Bing AI(GPT-4)に色々と教えてもらって、無事公開することができました。

便利になりましたね。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2