前回から間が空いてしまいましたが、mvcConf @:Japan の準備などでちょっと忙しかったと言い訳をさせてください。mvcConf @:Japan 自体は既に定員に達してしまったので、後日公開される予定の動画や当日 ust があるかもしれないのでそちらで我慢してください。
では、本編に入りたいと思います。前回でリリース用に Web.config の設定を行いましたので、今回は Web 発行プロファイルの作成を行って実際に発行する手前まで行ってみたいと思います。
サーバ側の設定も必要になるのですが、国内で ASP.NET MVC 3 や Web 発行にしっかりと対応しているのが ExpressWeb である関係上、今回は ExpressWeb を前提で説明していきます。2 つ借りてますが非常にサービスもよく安いのでおすすめしています。
と、宣伝はこのくらいにして、まずは Web 発行を有効にするところから始めます。ExpressWeb ではコントロールパネルから簡単に有効にできるようになっています。 コントロールパネルから Web サイトを選択して、今回 Web 発行を有効にしたいドメインを選択すると以下のような画面が表示されます。
タブが複数ありますが、一番右にある「管理」を選択すると Web 発行のユーザー名とパスワードを入力する画面が表示されるので、適当にユーザー名とパスワードを入力して、「有効」ボタンをクリックしてください。これだけで Web 発行が有効になります。これでサーバ側の設定は終わりです。
それでは Visual Studio に戻ってプロファイルを作成するのですが、その前にデータベースの扱いを決めておきます。
今回のプロジェクトでは SQL Server Compact 4.0 を使っていますが、通常サーバにはフル機能の SQL Server しか入っていません。接続文字列を変更して SQL Server を使うようにしてもいいですが、今回は SQL Server Compact ごとサーバにデプロイすることにします。レンタルサーバーでは SQL Server Compact 自体の配置は許可されていないことがありますが、ExpressWeb では許可されているので安心して使うことが出来ます。
手順は非常に簡単で、ソリューションエクスプローラのプロジェクトを右クリックし、表示されるメニューから「配置可能な依存関係の追加」項目を選択してください。すると以下のようなダイアログが表示されますので、SQL Server Compact にチェックを入れて「OK」をクリックしてください。
自動で必要なライブラリがプロジェクトに追加されて、Web 発行時に bin ディレクトリにコピーされるように設定されます。追加されたファイルは「_bin_deployableAssemblies」という名前のディレクトリに以下のように追加されます。
これで SQL Server Compact の配置用設定も完了しましたので、ようやく Web 発行のプロファイルを作成しましょう。それではソリューションエクスプローラのプロジェクトを右クリックし、表示されるメニューから「発行」を選択してください。
すると以下のようなダイアログが表示されますので、サーバのアドレスや先程登録したユーザー名とパスワードを入力します。サービス URL とサイト/アプリケーションの項目がわかりにくいですが、発行先の Web サイトのアドレスを入力しておけば大丈夫です。*1
注意してもらいたいのが「信頼されていない証明書を許可する」のチェックボックスです。チェックを入れないと SSL で接続しようとするのですが、ExpressWeb では対応していないのでエラーになってしまいます。
これで「発行」ボタンをクリックすると発行が開始されますが、ひとまず右上の「保存」ボタンをクリックして設定を保存してからダイアログを閉じてください。
これで発行の準備がすべて完了しましたので、次回で ASP.NET MVC 3 開発入門の最終回として実際に発行を行って動作確認を行いたいと思います。お疲れ様でした。
*1:http://mvcvideo.hogehoge.net/ なら mvcvideo.hogehoge.net という感じ