nobu blog

プログラミングやゲーム、ゲーム音楽コンサート周りの話をつらつらと。

*



ASP.NET MVCで作成したサイトをExpressWebにデプロイする

      2015/04/13

概要

将来的にLinuxやMac上でも動くことがアナウンスされているASP.NETですが、現状はWindowsサーバ上で動かす必要があります。(現状でもMono上で動くようですが未検証)
Linuxのレンタルサーバと比べるとWindowsサーバのホスティング等は高いイメージがありますが、ExpressWebを使えば月額300円(税抜き、年契約のみ)でレンタル可能です。
個人的に作ったウェブアプリを試すのにはお手軽でおすすめです。
そこで、Visual Studio 2013上からこのExpressWeb上にデプロイするまでの手法を簡単にですが紹介しようと思います。

最初に

まずは、ExpressWebに申し込みを行って、ドメインや公開するサイトのURL等が決まっている前提で説明します。
下図のような申し込みが終わると下図のようなサービスメニューに入れるようになります。
host1

DBの設定

まずは、アプリで使うDB作成を行います。今回はSQL Serverを使用することを前提とします。上記メニューのデータベースの項目を選択し、SQL Serverを選択します。
host2

まずデータベース下記のボタンを押下して、データベース本体を作成します。
データベース名を入力し保存ボタンを押下してください。データベース名はローカルの開発環境のデータベース名と同じにしておくのが設定等でも楽だと思います。
host3
host4

次に上記DBの設定を行うためのユーザを作成します。
下図のようにユーザの作成ボタンを押下します。
host5

任意のユーザ名とパスワードを設定し、デフォルトデータベースに先ほど作成したDBを指定します。
host6

次に作成したデータベースに実際にテーブルのスキーマやデータを入れる必要があります。
大容量の場合にはCSVでのインポートやアタッチ等も利用できると思いますが、
今回はお手軽にSQL Server ManagementStudioでスクリプトの作成で一気に各テーブルのスキーマとデータをSQLファイルとして作成し、そのSQLを実行してデータを作成します。

DBに対してSQL文を実行するために以下のように作成したDB名の右側に参照するためのリンクをクリックします。
host7

リンクをクリックすると、SQL Server ManagementStudioライクなユーティリティが開きますので、ツール→新しいクエリを選択し、スキーマやデータを作成するためのSQL文を実行します。

host8

これで無事クエリが実行され、テーブルが作成されていれば成功です。データベースの項目から各テーブルの情報を確認可能ですので、作成したテーブルが存在するか確認してみてください。

アップロード用設定の作成

DBの設定が終わったら、実際にVisualStudioからアプリをデプロイするための設定を行います。
まずは、サーバにアプリをデプロイするための設定ファイルを作成します。

管理画面のトップページからWeb、Webサイトを選択します。
host9

その後、今回設定を行うWebサイトを選択すると下記のような設定画面になるので管理タブを選択します。
host10

選択するとユーザ名とパスワードの設定を求められるので、任意の値を設定します。
設定を行うと同じ画面で下図のような設定ファイルのDLリンクが出現するので、クリックしてこのデータを保存します。
host11

これでサーバ側でのアップロードの設定は完了です。

Visual Studioでのアップロード設定

次にVS2013上でのアップロード設定を行います。
デプロイしたいASP.NET MVCアプリを立ち上げて、ソリューションエクスプローラでASP.NETプロジェクトを選択して右クリック→発行を選択します。

host12

ウィザードが起動しますので、インポートを選択し、先ほどDLした設定ファイルを選択します。
host13

インポートが完了すると、下図のようなユーザ名とパスワード名以外が入力されたDLGが表示されます。
このユーザ名とパスワードはアップロード用設定の作成の項目で、このファイルを作成するために入力したものを設定してください。
host14

設定が完了したら、接続の確認ボタンを押下して接続できるかを確認してください。

次にボタンを押下して、接続文字列の設定を行います。
host15

以下は一例です。

Data Source=(サーバー名);Initial Catalog=(DB名。今回のサンプルだとabcdb);Persist Security Info=True;User ID=DBユーザのID;Password=DBユーザのパスワード

ちなみにDBのサーバー名は作成したDBのプロパティから確認できます。

host17host16

これで発行の設定も終わりです。最後に発行ボタンを押下して、アプリがデプロイできれば成功です。

フォルダの権限設定

デプロイは完了しましたが、ファイルのアップロードや変更を伴う機能を行う場合にはフォルダの権限を変更する必要があります。
管理画面からファイルマネージャを選択します。
host18

アプリのルートフォルダまで移動し、ファイルの変更が伴うフォルダの右のアイコンボタンをクリックします。

host19

下図のように変更が可能な権限をチェックします。

host20

これで権限が付与され、ファイルの変更などが可能になります。

最後に

駆け足ですがサーバの設定とデプロイまでの説明を行いました。
これで次からはVS上でお手軽に発行が可能になります。

 - ASP.NET MVC, C#