カテゴリー
Microsoft

【Windows10】【IIS】【ASP.NET】ローカル IIS に同じ PC の Visual Studio で作ったウェブアプリをデプロイする方法

ASP.NET ウェブアプリを開発 PC に立てたローカル IIS へデプロイし、スマホや他の PC からアクセスしたいですの!

上記の投稿で、ローカル IIS とデータベースの準備はできました。

早速確かめてまいりたいのですけれども、試す前に少し調べて予想した公開方法は、次の2つですの♪

  • ローカル IIS のドキュメントルートを Visual Studio プロジェクトのフォルダに設定するイメージ → [仮想ディレクトリ] を設定
  • Visual Studio プロジェクトの必要物を IIS へアップロードするイメージ → [公開] 作業でデプロイ

ひょっとしたら両方ともうまくいくかもしれませんし、ひとつも成功しないかもしれません。記録を、残してまいりますわ!

環境や前提など

結論・ポイント

いきなりですけれども、結論を申し上げますわ!

  • ローカル IIS のドキュメントルートを Visual Studio プロジェクトのフォルダに設定するイメージ → [仮想ディレクトリ] を設定、は成功!
  • Visual Studio プロジェクトの必要物を IIS へアップロードするイメージ → [公開] 作業でデプロイ、は失敗><
  • クライアント OS の IIS ではアプリケーションのデプロイの受け入れ先としての機能を追加できないため、失敗、不可能だった。

では具体的にどのように設定し、どのように成功し、そしてどのように失敗したか、残していきますわ♪

ローカル IIS のドキュメントルートを Visual Studio プロジェクトのフォルダに設定するイメージ → [仮想ディレクトリ] を設定

手順

  1. Visual Studio を [管理者として実行] で起動
  2. Visual Studio 2015 のプロジェクトで右クリック > [プロパティ] > [Web]
  3. [サーバー] の、[すべてのユーザーにサーバー設定を適用 (プロジェクト ファイルに格納)] にチェック
    [ローカル IIS] を選択
    [プロジェクトの URL] が次のように変わった
    IIS Express: http://localhost:51377/

    ローカル IIS: http://localhost/Sample
  4. 表示されるウインドウで [はい] を選択。自動で仮想ディレクトリを生成する。
    Web プロジェクト Sample に対して指定されているローカル IIS の URL http://localhost/Sample が構成されていません。これらの設定を保持するには、仮想ディレクトリを構成する必要があります。今すぐ仮想ディレクトリを作成しますか?

    Web プロジェクト Sample に対して指定されているローカル IIS の URL http://localhost/Sample が構成されていません。これらの設定を保持するには、仮想ディレクトリを構成する必要があります。今すぐ仮想ディレクトリを作成しますか?

  5. 表示されるウインドウで [はい] を選択。SQL Server Express を使用するようにうロジェクトの接続文字列を変更する。

    このプロジェクトでは SQL Server Express LocalDB が使用されています。SQL Server Express は、IIS と組み合わせて使用することをお勧めします。

    SQL Server Express の最新バージョンがインストールされていない場合は、Microsoft ダウンロードセンターからインストールできます。

    SQL Server Express を使用するようにロプジェクトの接続文字列を変更するには、[はい] をクリックします。; 変更しない場合は、[いいえ] をクリックします。

補足

  • プロジェクトのプロパティ編集時、Visual Studio を [管理者として実行] していない場合、保存しようとすると、次のエラー

    IIS メタベースにアクセスできません。コンピューター上の IIS Web サイトにアクセスするための十分な権限がありません。

  • 自動的に作成された仮想ディレクトリを確認。自分の手で作成したわけではないので、どの項目が必要な設定なのかがわからない。。。
    1. [コントロール パネル] > [システムとセキュリティ] > [管理ツール] > [インターネット インフォメーション サービス (IIS) マネージャー]
    2. [Default Web Site] を開くと、[Sample] が作られている。[物理パス] を確認すると、Visual Studio プロジェクトの場所が設定されていた。
  • IIS の Sample の関係ありそうな他の設定画面
    IIS に自動的に追加されたアプリケーション (仮想ディレクトリ)

    アプリケーションの編集画面。エイリアスと物理パスが特徴

    IIS に追加されたアプリケーション (仮想ディレクトリ) には接続文字列、つまりデータベースとの連携の設定も行われていた。
  • SQL Server Express を使用するようにロプジェクトの接続文字列を変更した結果、接続文字列は、次のようになった。
    <connectionStrings>
      <add name="SampleContext" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|SampleContext-20151218232254.mdf;Initial Catalog=SampleContext-20151218232254;Integrated Security=True;MultipleActiveResultSets=True;User Instance=True"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
  • SSMS から確認すると、SQL Server Express にはデーターベースが表示されていない。LocalDB が使用されたままのように思えるので、手動で SQL Server Express にデータベースを作成して Web.config に設定したほうがよさそう。

結果

外部 PC、スマホ、タブレットから、Sample ウェブアプリにアクセスすることができました♪やったぜ!

なお、この設定を続けていくためには、次の注意点がございます。

  • 今後、このプロジェクトで開発を続けていくためには、Visual Studio 2015 を毎回管理者として実行して起動しなければならない。面倒。

Visual Studio プロジェクトの必要物を IIS へアップロードするイメージ → [公開] 作業でデプロイ

IIS にデプロイ先を作成

  1. [コントロール パネル] > [システムとセキュリティ] > [管理ツール] > [インターネット インフォメーション サービス (IIS) マネージャー]
  2. [Default Web Site] を右クリック > [アプリケーションの追加]
  3. 次を入力し、[OK]
    エイリアス: Sample2
    物理パス: C:\inetpub\wwwroot\sample2 ← ローカル IIS のルートフォルダにプロジェクト名のフォルダを作成して指定

次のページが参考になりました♪

SQL Server 2014 Express にデータベースを作成

  1. Microsoft SQL Server Management Studio 起動
  2. [データベース] を右クリック > [新しいデータベース]
  3. [新しいデータベース] ウインドウ。次を入力して、[OK]
    • データベース名: Sample2Db

Windows10 のローカル IIS にデプロイできるように設定を追加する。

結論から申しますとここでつまづいたために、ローカル IIS へのデプロイは Windows 10 では断念いたしました><

参考ページを頼りに試してみたのですけれども、そもそも参考ページにクライアント OS 付属の IIS には WebMatrix からデプロイ不可能、とありました。

サーバーとなるマシンの OS が問題となるため、Visual Studil からのデプロイも同等なようです。IIS の設定追加を進められませんでした><。

初めに残念なお知らせをしておきますと、WebMatrix からのデプロイ ( [ Web 配置 ] ) を受け入れ可能なのは、Windows Server 2008 などのサーバー OS 付属の IIS であり、Windows 7 などのクライアント OS 付属の IIS にはデプロイ先として構成することはできません。

他の参考ページですの。

IIS へ必要モジュールのインストール

  1. Download the Microsoft Web Platform http://www.microsoft.com/web/downloads/platform.aspx の [Free Download]
  2. ダウンロードした wpilauncher.exe を実行
  3. [製品] > [サーバー] > と進んで [IIS: 管理サービス] を探したが、、、見つからなかった。[Web 配置ツール 2.1] はあったが、Web Deploy 3.6 という名前ちバージョンですでにインストールされているので [追加] というインストール可能な状態ではあったがインストールしなかった。

Web Deployment Agent Service インストール

この作業を行う前に、すでに失敗は確定しております><。ですけれども、いつか Windows Server OS で作業するときの助けになればと思い、手順を残しておきますわ。

  1. [コントロール パネル] > [プログラム] > [プログラムと機能] > [Microsoft Web Deploy] を右クリックし [変更]
  2. [Next]
  3. [Change]
  4. [Remote Agent Service] および [IIS Manager UI Module] の [Will be installed on local hard drive] を選択し、[Next]
  5. [Change]
  6. [Finish]

この操作は無意味に終わりましたので、[Microsoft Web Deploy] の右クリックし [変更] から Custom Setup した 2 つを Unavailable にしました。

おわりに

Windows10 Pro 64bit のローカル IIS に Visual Studio 2015 からデプロイすることはできませんでした><。参考ページにあったとおり、仕様なのだと思うのですけれども、読み違えている可能性もございます。。。

いつか明らかになったら嬉しいですわ♪

また調べていますと、日本語のページは結構ヒットしたのですけれども、基礎的で理解がなかなか追いつかないページが多かったように思います。

検索ワードとしては、「asp.net サーバー ローカルIIS」「iis デプロイ」「asp.net 仮想ディレクトリの作成」「Web配置ツール ローカルiis」でしたの。

以上です。

コメントを残すコメントをキャンセル

モバイルバージョンを終了