LAN内のWebサーバーで血糖値管理アプリを動かす

プログラミング

家庭のLAN内にWebサーバーを構築して、家庭内の各パソコンでWeb版血糖値管理アプリを利用できるようにしました。
.NET Core Razor Pagesで作成した血糖値管理アプリをIISのWebサーバー上で動くようにしました。
家庭内のWindows10パソコン(2台)、Windows11パソコン(1台)、Mac Air(1台)で血糖値管理アプリを利用できるようになりました。

公開用Webサーバーの構築はさまざまな課題があるためにあきらめましたが、LAN内限定であれば課題はほぼありません。
Windows11のパソコンにIIS Webサーバーを構築し、
Web版血糖値管理プログラムを公開・発行して、IIS Webサーバーで起動できるようにしました。

手順は次の通りです。

1.  インターネットインフォメーションサービスを有効化(コントロールパネル)
2. アプリケーションプールを追加(IIS マネージャー)
3. ホスティングバンドルのインストール(ブラウザ)
4. プロジェクトを公開・発行(Visual Studio 2022)
5. アプリケーションの追加(IIS マネージャー)
6. ブラウザでWebアプリのURL入力(ブラウザ)

インターネットインフォメーションサービスを有効化

IIS Webサーバーにするパソコンのインターネットインフォメーションサービスを有効に設定します。
つまり、IIS Webサーバーを使えるようにします。
コントロールパネル ➡ プログラム ➡ Windowsの機能の有効化または無効化
を選択します。

Windowsの機能のダイアログボックスでインターネットインフォメーションサービス、Web管理ツール、World Wide Webサービスにチェックを入れます。

IIS Webサーバーにするパソコンのインターネットインフォメーションサービスを有効に設定します。

コントロールパネル➡プログラム➡Windowsの機能の有効化または無効化を選択します。

Windowsの機能のダイアログボックスでインターネットインフォメーションサービス、Web管理ツール、World Wide Webサービスにチェックを入れます。

アプリケーションプールを追加します

IISのアプリケーションプールとは、IIS上で動作するアプリケーションをグループ化するための仕組みです。 アプリケーションプールは、メモリ空間に名前を付けたもので、この名前を付けたメモリ空間にアプリケーションを割り当てることができます。 アプリケーションプールを使用することで、アプリケーションの実行環境を分離し、アプリケーションの安定性を高めることができます。
[名前]は、今回は「net core pool」としました。(任意の名前)
[.Net CLRバーション]「マネージコードなし」を選択します。

コラム
「CLR」とは、.NET Frameworkのランタイム環境であり、共通言語基盤 (CLI) のマイクロソフト社による実装です。 CLRは、.NET Frameworkアプリケーションを実行するための仮想機械であり、共通中間言語 (CIL) プログラムを解釈し、コンピュータが直接実行可能な機械語に変換して実行するソフトウェアです。 CLRは、例外処理、ガベージコレクション、スレッド管理などの機能を提供し、.NET Frameworkの標準クラスライブラリやアプリケーションフレームワーク(ASP.NETやWPFなど)と同梱されて.NETの実装として提供されます。
「マネージコードなし」とは、.NET Frameworkのアンマネージドコードと呼ばれ、CLRによって管理されないため、CLRのセキュリティ機能やガベージコレクションなどの機能を利用することができません。

ホスティングバンドルのインストール

ホスティングバンドルとは、.NET Core ランタイムおよび ASP.NET Core モジュール用のインストーラーです。
IIS Webサーバー上で.NET Core Razor Pagesのアプリを動作させるために必要です。
バンドルを使用すると、ASP.NET Core アプリを IIS で実行できます。
ホスティングバンドルをインストールすることで、.NET Core ランタイムと ASP.NET Core モジュールがインストールされます。
これにより、IIS で ASP.NET Core アプリを実行することができます。

ホスティング バンドル | Microsoft Learnのサイトからインストールします。 インストーラーをダウンロードします。30分程度かかります。

インストーラーを起動し、インストールします。

下記の画面推移でインストールされます。
IISマネージャーのモジュールで「AspNetCoreModuleV」が入っていればインストール完了です。

プロジェクトを公開・発行します

ソリューションエクスプローラー(Visual Studio 2022)のConnected Services右クリックします。

公開をクリック

フォルダをクリック

フォルダを選択します。
今回は、C:¥BGCフォルダを作成し、それを指定しました。

[閉じる]をクリック

[発行]をクリック

進行状況がコンソールに表示されます。

IIS マネージャーでアプリケーションの追加をします

IISマネージャーを起動し、bgcアイコンを右クリックしてアプリケーションの追加をクリック

エイリアスアプリケーションプール物理パスを指定

ブラウザでURLを入力してWebアプリを起動

ブラウザで下記urlを入力します。

http://192.168.0.**/bgc

192.168.0.**はipconfigコマンドでWebサーバーパソコンのローカルIPアドレスを調べて入力してください。


ジイジはぷろぐらま―からの一言
LAN内限定のWebサーバーですが、Wi-Fiがつながる場所であれば、Webアプリを利用できます。
デスクトップパソコンの大きな画面で操作をしたり、リビングでくつろぎながらMac Airでアプリを操作することができます。
家の中でしか使えませんが、少しは便利になったかなと思います。

タイトルとURLをコピーしました