ASP.NET Web ページの概要 - WebMatrix を使用したサイトの公開
作成者: Tom FitzMacken
このチュートリアルは、ASP.NET Web ページと Microsoft WebMatrix を紹介するチュートリアル セットの最終回です。 他のユーザーがあなたサイトで操作できるように、サイトをインターネットに公開する方法について説明します。 ここでは、「ASP.NET Web ページ サイトでの一貫性のあるレイアウトの作成」までこのシリーズを完了していることを前提としています。
以下を使ってサイトを公開する方法について説明します:
- Microsoft Azure
- Web ホスティング会社
サイトの公開について
ここまでは、ページのテストを含め、すべての作業をローカル コンピューターで行いました。 .cshtml ページの実行には、WebMatrix に組み込まれている Web サーバーを使っています (つまり、IIS Express)。 しかし、もちろん、作成したサイトは、あなた以外は誰も表示できません。 他のユーザーがあなたのサイトで操作できるようにするには、それをインターネットに公開する必要があります。
パブリック Web サーバーに既にアクセスできる場合を除き、公開とは、クラウド プラットフォームかホスティング プロバイダーと、アカウントが必要であることを意味します。 クラウド プラットフォーム (Microsoft Azure など) では、あなたのアプリケーションのためのオンデマンドのインフラストラクチャが提供されます。 ホスティング プロバイダーとは、パブリックにアクセス可能な Web サーバーを所有し、あなたのサイト用のスペースをあなたに貸す会社です。 ホスティング プランは、小規模なサイト向けの月額数ドル (または無料) から高容量の商用 Web サイト向けの月額数百ドルまであります。
Note
自宅のインターネット サービスのために利用しているインターネット サービス プロバイダー (ISP) を介してパブリック Web サーバーにアクセスできる場合があります。 ただし、ご利用のホスティング プロバイダーで ASP.NET Web ページがサポートされている必要があります。 多くの ISP では対応していませんが、いつでも確認する価値はあります。
このチュートリアルでは、公開方法の概要を示します。 そのプロセスはホスティング プロバイダーごとに少し異なるため、すべてを正確に詳しく示すことは現実的ではありません。 しかし、そのプロセスのしくみは十分に把握できるでしょう。
このチュートリアルには、次の 4 つの項があります:
- 既定のページの設定
- 公開 (次のいずれかを選びます)
a. Microsoft Azure へのサイトの公開
b. Web ホスティング会社へのサイトの公開 - ライブ サイトの更新: 再公開
既定のページの設定
ユーザーがあなたの Web サイトのベース アドレスに移動すると、サイトの既定のページがユーザーに表示されます。 たとえば、Default.htm がサイト www.contoso.com
の既定のページとして設定されている場合、www.contoso.com
への移動は、www.contoso.com/Default.htm
に移動したのと同じことになります。
現在、あなたのサイトでは、既定のページとして Default.cshtml が使われています。 このページは既定のページで問題ありませんが、このチュートリアルでは、そのページにコンテンツを追加していないため空白ページが表示されます。 Default.cshtml を開き、その内容を次のコードに置き換えます。
@{
Layout = "~/_Layout.cshtml";
Page.Title = "Welcome to Movie site";
}
<p><a href="~/Movies">Go to movie listing</a></p>
これで、サイトを公開する準備ができました。 まず、サイトを Azure にデプロイする方法を示し、次に、それを Web ホスティング会社にデプロイする方法を示します。 どちらのオプションもあなたの Web サイトで使えますが、どちらかのデプロイ オプションのみに従う必要があります。
Microsoft Azure へのサイトの公開
このチュートリアルでは、まず、サイトを Microsoft Azure にデプロイする方法を示します。 Microsoft アカウントでサインインすると、Azure 上に 10 個まで無料サイトを作成できます。 これらの無料サイトは、サイトをテストするのに便利です。 後でいつでもこのサンプル サイトを削除し、あなたの無料サイトすべてを使えなくすることができます。 数分で無料試用版のアカウントを作成することができます。 詳細については、「Azure の無料試用版サイト」を参照してください。
WebMatrix リボンで、[公開] ボタンをクリックします。
[サイトの公開] ダイアログ ボックスが表示されます。 Microsoft アカウントにサインインしていない場合は、ダイアログ ボックスに [Azure を使用して作業を開始する] リンクが表示されます。 このリンクをクリックします。
Microsoft アカウントにサインインしていない場合は、もう一度サインインする機会が与えられます。 Azure にサイトを公開するには、Microsoft アカウントにサインインする必要があります。
Microsoft アカウントにサインインすると、ダイアログ ボックスに、Azure で新しいサイトを作成するためのリンクか、Azure 上の既存のサイトのいずれかに接続するためのリンクが表示されます。
[新しいサイトを作成する] を選択します。
あなたのプロジェクトに WebPagesMovies という名前を付けた場合、サイトの既定の名前は webpagesmovies.azurewebsites.net になります。 赤い感嘆符で示されていることから、この既定の名前は使えない可能性があります。
サイト名を使用可能な名前に変更し、ご自分の場所に近い場所を選択します。
OK をクリックします。
WebMatrix で、サーバーにあなたのサイトとの互換性があるかどうかを確認するために、テストが実行されます。
続行を選択します。
互換性テストの結果が表示されます。
続行を選択します。
WebMatrix で、そのサイトに公開されるファイルとデータベースが表示されます。 そのサイトを初めて公開しているため、すべてのファイルが一覧表示されます。 公開する準備ができていないファイルの選択は解除できます。 以降の公開では、変更があったファイルのみが表示されます。 「ライブ サイトの更新: 再公開」をご覧ください。
続行を選択します。
サイトが Azure にデプロイされると、デプロイが完了したことを示すメッセージが表示されます。
あなたのサイトとデータベースが Azure に公開され、パブリックに使えるようになりました。 公開が完了したことを示すメッセージ内のリンクをクリックすると、デプロイされたサイトが表示されます。 インターネットにアクセスできるユーザーは誰でも、そのデータベースでレコードを追加または変更できます。
Web ホスティング会社へのサイトの公開
Azure に公開しない場合は、代わりに Web ホスティング会社にサイトを公開できます。
[Web ホスティングの検索] リンクを クリックします。
ASP.NET をサポートしているホスティング プロバイダーが一覧表示される、Microsoft サイト内のページに移動します。
この時点で、あなたが長期にわたり必要とするホスティング機能を正確に把握することは難しいかもしれません。 考慮すべき点をいくつか次に示します:
- WebPagesMovies サイトの目的上、SQL Server 用アドオンを別途用意する必要はありません。多くの場合、これには追加料金がかかります。 あなたのサイトでは、自己完結型の SQL Server Compact Edition を使っています。 ただし、Web サイトに関して将来行う作業では、SQL Server へのアクセスが必要になる場合があります。 その可能性がある場合は、必ず、SQL Server 機能を後で追加できるようにしておいてください。
- ホスティング プロバイダーで Web 配置公開プロトコルがサポートされているかどうかを確認してください。 FTP プロトコルを使って公開できますが、Web 配置を使う方が便利です。
一部のサイトでは無料試用期間が提供されます。 無料試用版は、WebMatrix と ASP.NET Web ページを試しに使っているときに、公開とホスティングを試すのに適しています。
どれか 1 つを選びます。 このチュートリアルでは、DiscountASP.NET を選びました。それは、このチュートリアルの作成中に、その会社に、数か月無料でサイトをホストできるというプロモーションがあったためです。
Note
このチュートリアルで選んだホスティング プロバイダーを、他の会社よりも支持しているというわけではありません。 しかしながら、説明のために 1 つを選ぶ必要がありました。DiscountASP.NET は、ASP.NET Web ページと公開のための Web 配置プロトコルをサポートしている多数の会社のうちの 1 つです。
通常は、ホスティング プロバイダーにサインアップすると、その会社から、ユーザー名とパスワード、Web サーバーの URL などを含むメールが送信されます。 そのホスティング会社は、Web 配置プロトコルをサポートしている場合は、公開設定が含まれているファイルを送信するか、あなたがそれをダウンロードできるようにします。 公開設定ファイルにより、プロセスが簡単になります。
サインアップし公開の準備ができたら、WebMatrix リボンにある [公開] ボタンをクリックします。 [公開の設定] ダイアログ ボックスが表示されます。
ホスティング プロバイダーから公開設定ファイルが送信された場合は、[公開設定のインポート] リンクをクリックしてそのファイルをインポートします。 公開設定ファイルがない場合は、ホスティング会社からメールで送信された値を使って、フィールドに入力します。 完了時の [公開の設定] ダイアログ ボックスは次のようになります:
[接続の検証] をクリックします。 問題がなければ、ダイアログ ボックスで、[接続完了] と表示されます。これは、そのホスティング プロバイダーのサーバーと通信できるということです。
問題がある場合は、WebMatrix で、その問題の内容が示されます:
[Save] をクリックして設定を保存します。 WebMatrix により、ホスティング サイトと正しく通信できることを確認するためにテストを実行するよう提案されます:
[はい] をクリックします。 WebMatrix で、いくつかのサンプル ファイルがホスティング プロバイダーにアップロードされます。 互換性テストが完了すると、WebMatrix でその結果が報告されます:
準備ができたら、[続ける] をクリックして実際の公開プロセスを開始します。 WebMatrix で、どのファイルがあなたのサイト内にあり既にホスト サーバー上にあるかが特定され (現時点では、なし)、公開プロセスのプレビューが提供されます:
公開するファイルの一覧には、Movies.cshtml など、あなたが作成した Web ページが含まれています。 この一覧には、インストールしたヘルパー用のファイル、データベース用の SQL Server Compact Edition を実行するためのファイルも含まれています。 その結果、最初の公開プロセスが大規模になる可能性があります。
[続行] をクリックします。 WebMatrix で、あなたのファイルがホスティング プロバイダーのサーバーにコピーされます。 完了すると、結果がステータス バーに表示されます:
ライブ サイトを表示するには、ステータス バーにあるリンクをクリックします。 URL に Movies を追加します。すると、あなたが作成した Movies.cshtml ファイルが表示されます:
ライブ サイトの更新: 再公開
サイトを公開 (Azure または Web ホスティング会社に) した後は、そのコピーは 2 つあります。あなたのコンピューター上のバージョンと、サービス プロバイダーにあるバージョンです。 このサイトの開発を続けるとします (他に何もない場合は、次のチュートリアル セットの一部として)。 その場合は、あなたのコンピューターからサービス プロバイダーに変更内容をコピーするために、このサイトを再公開する必要があります。 WebMatrix での公開プロセスでは、あなたのサイト内の変更されたファイルを特定し、それらのファイルのみを公開できます。
再公開のしくみを確認するために、Movies.cshtml サイトを開き、少し変更を加えてから、そのファイルを保存します。 たとえば、タイトルを Movies - Updated
に変更します。
リボンにある [公開] ボタンをクリックします。 WebMatrix で、どれが変更されたかが特定され、公開されるファイルのプレビューが表示されます。
重要
既定では、サイトを初めて公開するときのみ、WebMatrix でデータベース (.sdf ファイル) が公開されます。 サイトが公開された後、ユーザーがその Web サイトを操作しているときは、ライブ サイト上のデータベースに、通常はそのサイトの実際のデータが含まれています。 ライブ データベースをあなたのコンピューター上の .sdf ファイル (通常はテスト データのみが含まている) で上書きしないように注意する必要があります。 それが原因で、[公開するとリモート データベースが上書きされます] という警告が表示され、WebPagesMovies.sdf のチェック ボックスが既定でオフになります。
[続行] をクリックします。 WebMatrix で、変更されたファイルが公開され、初めて公開したときと同様に、成功メッセージが表示されます。
ライブ サイトに移動し (成功メッセージがまだ表示されている場合はそのリンクをクリックできる)、変更内容が公開されたことを確認します。
ヒント
リモートでのファイルの編集
サイトに変更を加えてから再公開する代わりに、WebMatrix でリモート ファイルを直接編集できます。 このシナリオでは、サービス プロバイダーにあるファイルを開きます。WebMatrix で、編集できるようにそのコピーがダウンロードされます。 そのファイルを保存するたびに、WebMatrix で、そのサイトに対する変更内容が送信されます。
リモート編集は、ライブ サイトに変更を加えるための簡単な方法です。 ただし、この方法で加えた変更内容は、ローカル サイト内のファイルと同期されません。 ローカル ファイルをリモート サイトと同期するには、リモート ファイルをダウンロードします。 このプロセスは、逆の場合を除き、公開と似ています。
ここでは、WebMatrix のリモート編集機能とリモート ダウンロード機能については詳しく説明しません。 それらは、複数のユーザーが別々のコンピューターで同じサイトに関して作業する必要がある場合に役立ちます。 詳しくは、WebMatrix 2 ベータ版でのリモート サイトの公開と編集に関する記事をご覧ください。
その他のリソース
- ASP.NET WebMatrix ASP.NET Web ページのフォーラムは、質問を投稿して回答を得るのに最適な場所です。