ノートでWebアプリ
・Lavie Windows8.1でIIS
IISのインストールは、コントロールパネル>Windows機能の有効化でおこなう。.net3.5と.net4.0にチェックがついていたので、インターネットインフォメーションサービスにチェックをつけ、Web管理ツールとWorldWideWebサービスにチェックを入れる。デフォルトのままで、FTPがはずれているが、そのままOKを押すと、インストールが始まる。
少し時間がかかるが、完了するとIISが使用可能になる。IISマネージャがアプリケーションに追加されているので、それを起動する。
・aspxがいきなりエラー
各種の設定をして、LocalHostでアクセスすると、しばらく時間がたってから、「HTTP エラー 404.3 – Not Found 拡張構成により、要求しているページは使用できません。…」というエラーが出た。
特に設定には問題がなさそうなので、***.htmlのファイルを作り、それを直接指定してみる。今度は問題なくすぐに開いた。.netが機能していないのだ。しかし、アプリケーションプールの設定では.net3と.net4が表示されて選択できている。
.net3.5、.net4.5はインストール済みだが…。
よく分からないのでgoogleでエラーを検索してみる。いくつかの掲示板が「.netがインストールされていない…」と回答している。その中の一つにインターネットインフォメーションサービスのインストールのツリーの内容が英語で表示されていた。どうも、WorldWideWebサービスの下に.netのチェックがあるようだ。
開発ではなく運用なんだけど、と思いながら、チェックを入れる。これで、ようやくIISでasp.netを使用できるようになるようだ。IISの標準ではaspやasp.netは使用できないということらしい。それじゃ、IISマネージャのアプリケーションプールに出てきた.netは何だったのか。
・分かりにくいWindows語
相変わらず釈然としないwindowsのセットアップだ。バージョンが変わると、とたんに手順が変わる、普通の商売ではとても考えられないサービスの悪さだ。
また、最近はこの手の検索をすると、microsoftのサイトばかりが出てくる。ほとんどが英文直訳のページだ。そこには、日本語しかできない自分達にとっては、よく分からない日本語のような説明文が載っているだけで、ほとんど理解できない。windows専用の国語辞典が必要かもしれない。
・ノートでWebアプリ
IISが動けば、asp.netで開発したアプリがノートでも利用できることになる。元々サーバー用のWebアプリだが、ノートでディスクトップアプリとしても動作することになる。
C++等の開発ツールで作成したアプリは、WindowsやMacなどのOSの違いで動作しないが、このWebアプリはブラウザで動くため、その機能の制限を受けるだけで、どのOSからも利用することができる。それには、IISノートのHTTPポートを開けてやるのと、共有フォルダを提供してやることが必要だ。(下記を参照)
また、Windowsのディスクトップアプリに限れば、ドラッグ&ドロップのようなファイル処理も可能になる。ローカルPC上のIISで動くWebアプリは、サーバーにもなるし、クライアントにもなる、新しいアプリといえる。
PC ホームインターネットを作る
・ファイアウォールを開く
作成したWebは自分のPCからは問題なく接続できますが、そのままではネットワーク(ローカルネット)で接続されている他のPCからは接続できません。ファイアウォールのhttp(80)ポートを開く必要があります。Windows Serverの場合は、IISをインストール
すると自動的にhttp(80)ポートが開かれますが、PCの場合はそうならないようです。
ファイアウォール>詳細設定>受信の規則
World Wide Web サービス (HTTP トラフィック)
有効にする
これでhttpが通るようになります。
さらに、アクセスをローカルネットワークのPCだけに制限するのには、
スコープ
リモートIPアドレス
任意のIPアドレス>これらのIPアドレス
192.168.11.0/24
等の設定をする。
これでローカルネットワーク内のPCに限り、このWebサーバーが使用できるようになります。
ファイアウォール
受信の規則に新規追加する
・固定IPアドレス
また、このPCをローカルネットのWebサーバーとして使用する場合は、IPアドレスを固定する必要もあります。
家庭のホームネットワークでは、ネットワークのWiFiの状態、詳細に取得したIPアドレスが表示されています。buffaloのWiFiネットワークの場合、デフォルトゲートウェイが192.168.11.1になっているので、それを参考にして、自動で割り振られないように192.168.11.100以降を使用しています。
社内ネットワークの場合は、DHCPの管理者に相談してIPアドレスを決めてください。
固定IPアドレス
・hostsファイル
以上でリモートのPCからこのWebサーバーにアクセスできるようになります。ただし、IPアドレスでのアクセスに限られます。(http://(IPアドレス)/**)
IISにはバインドによって、一つのIPアドレスで複数のサイトを作成できます。通常のインターネットではDNSサーバーがこの名前解決をしています。社内ネットワークでもDNSサーバーを構築することはできますが、専門知識が必要で敷居が高くなります。
少人数のネットワークやグループでこの名前解決をするのには、hostsファイルを使用する方法がいいと思います。
hostsの場所
C:\Windows\System32\drivers\etc\hosts
hostsファイルの例
------------------------------------------------------------ # Copyright (c) 1993-2009 Microsoft Corp. # # # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost 192.168.11.101 pc01 # hosts test 192.168.11.101 www # hosts test 192.168.11.102 pc02 # hosts test 192.168.11.102 www02 # hosts test ------------------------------------------------------------
こう書いてやると、http://www/***で192.168.11.101の任意のWebサイトにアクセスすることができます。
なお、hostsファイルにはグローバルのサイトも記述できます。
DNSサーバーとは違い、このWebサイトを使用する限定のメンバーだけに、このhostsファイルを配布する方法も考えられます。
関連ページ
PC ローカルネットワークの構築