ゲーム開発日誌タイトル画像
IT技術部終了のお知らせ
Windows Server 構築

実践!Windows Serverで作成したサイトのWebを発行してみよう



Twitterでシェア
Facebookでシェア
Google+でシェア
はてなブックマークに追加
Pocketで後で読む
投稿日時:2018/04/11 18:30:00
更新日時:2018/04/12 20:34:23

Windows Server VPSを契約して初めにやるべきことから最終的にWeb Deployで作成したサイトを表示できるようにします。ただし、試行錯誤して環境を整えていたので、説明が抜け落ちていたり余計なことをやっている部分があるかもしれません

Windows Server 2016 VPSを契約したら初めにやるべきこと

Windows Server VPSはリモートデスクトップで操作します。なのでお使いのWindows端末はProfessional以上でないといけません。リモートデスクトップでサーバにアクセスしたら、まず初めにWindows Updateを実行しましょう。
Windows Server 2016 Update
Windowsのロゴなど下に表示されているタスクバーの検索アイコンをクリックして、「windows update」と打って更新とセキュリティのウィンドウが立ち上がったら「更新プログラムのチェック」ボタンを押してアップデートを行います。
Windows Server 2016 コピペ
更新が終わったらそれをインストールするために再起動を行います。少し時間がかかり、リモートデスクトップでアクセスできない時間が続くかと思います。

この時間を利用してお名前.comなどで取得したドメインを契約したWindows ServerのIPに向けるDNSゾーンとレコードの登録作業を行ってください。今回は本サイトと管理ページの2つのサイトを構築するので管理ページの方はサブドメインを切ります。ここでは「admin.yigao.jp」としました。管理ページに向けるIPアドレスは本サイトと同様のサーバのIPアドレスを指定してください。

更新が終わったらデータベースが必要なのでローカルでインストールした時にダウンロードした「SQLServer2016-SSEI-Expr.exe」と「SSMS-Setup-JPN.exe」をWindows Serverにコピペします。
Windows Server 2016 Update
リモートデスクトップでは「Ctrl + C」でファイルをコピーしたものが共有されるので、お使いの端末でコピーしたファイルをリモートデスクトップのWindows Serverのデスクトップ画面に「Ctrl + V」で貼り付けできます。

SSMSはファイルサイズが800MBもあるので転送に30分以上かかります。さくらのWindows Server VPSでお試し期間だと通信制限があるので更に遅くなるでしょう。

転送が終わったらデータベースのインストール前にサーバのコンピュータ名を変えます。
Windows Server 2016 Update
サーバーマネージャーを立ち上げてコンピュータ名をクリックし、お好きなコンピュータ名に変えます。
Windows Server 2016 設定


データベースの移行手順

コンピュータ名を変えたらSQL ServerとManagement Studioをインストールします。手順は開発端末と同様の方法に従ってください。インストールが完了したらデータベースを構築しましょう。

SQL Serverではデータベースをまるごとバックアップできるコマンドとそれを復元できるコマンドが用意されていますが、恐らくログデータなどいらないデータも全て復元されてしまうので、今回はスクリプトを使って新しくテーブルやデータを作成する方法を紹介します。

SQL Server スクリプト 設定
まずは開発で使っていたローカル端末でSQL Server Management Studioを立ち上げてオブジェクトエクスプローラーからデータベースを右クリックして「タスク」から「スクリプトの生成」を選択します。

SQL Server スクリプト 設定
立ち上がったウィンドウから「次へ」をクリックして「特定のデータベース オブジェクトを選択」を選択し、全てのテーブルにチェックを入れ、「次へ」を押します。

SQL Server スクリプト 設定
詳細設定をクリックします。

SQL Server スクリプト 設定
「スクリプトを作成するデータの種類」が「スキーマのみ」となっていることを確認します。スキーマとはデータが入っていないテーブルそのもののことです。

このスクリプトを実行することによりテーブルを作成するSQL文を生成してくれます。スクリプトの保存方法はファイルに保存をしても構いませんし、クリップボードに保存しても構いません。次へを押して行ってスクリプトを実行してください。

Windows ServerのSQL Server Management Studioを立ち上げて、空のデータベースを作成します。名前は任意ですが、ここでは開発環境と合わせました。その後にスクリプトにより生成されたSQL文をクエリを使って実行します。データの入っていない空のテーブルができたと思います。今度は必要なデータを入れましょう。

開発端末に戻って先ほどと同様にデータベースを右クリックして「タスク」から「スクリプトの生成」を選択します。今度は「特定のデータベース オブジェクトを選択」する画面でデータを取り出したいテーブルにチェックを入れます。「m_kiji」や「m_comment」などテストデータしか入っていないテーブルのチェックは外し、「c_big_category」や「c_small_category」などのテーブルのデータ取得は必須だと思います。

次へで進んでいき、「詳細設定」で「スクリプトを作成するデータの種類」で「データのみ」を選択してOKボタンを押します。スクリプトで生成されたSQL文をWindows ServerのSSMSで実行し、データの移行は完了です!

Webサイトを表示する準備。Windows Server 2016にIISの機能の追加をする

Windows Server 2016 サーバーマネージャー 設定
まずはサーバーマネージャーを立ち上げて、右上にあるメニューの「管理」から「役割と機能の追加」をクリックします。
Windows Server 2016 サーバーマネージャー 設定
次へを押して、「役割ベースまたは機能ベースのインストール」を選択して次へボタンを押します。対象サーバーの選択は最初に選択されているのもので大丈夫なのでそのまま次へボタンを押します。

Windows Server 2016 サーバーマネージャー 設定
「サーバーの役割」まで次へボタンを押し、下記の項目の機能の追加をします。
・Webサーバー(IIS)
・.NET Framework4.6 の ASP.NET 4.6
・管理ツール の 管理サービス
・Webサーバー の アプリケーション開発 の ASP.NET 4.6

IISをインストールしたら
・Webサーバー の HTTP 共通機能 の WebDAV 発行
にチェックを入れます。 ここまでできたら、契約しているサーバのIPアドレスをブラウザのURLに打ってアクセスしてみると
Windows Server 2016 サーバーマネージャー 設定
ページが表示されていることが確認できると思います!

作成したWebサイトを発行してIISで表示させてみよう

いよいよ大詰めのIISで構築したサイトを表示させる設定を行いましょう。Windows Serverでコントロールパネルから表示方法を小さいアイコンに変えて、「管理ツール」を開き、「インターネット インフォメーション サービス(IIS)マネージャー」を実行します。

Windows Server 2016 IIS 設定
画像のように右クリックで「Webサイトの追加」から下記の設定をしてください。

・サイト名(サイトだと認識できる文字列を入力してください)
・物理パス(サイトを構築するディレクトリのパスです。デフォルトのままで構いません)
・ホスト名(サイトのドメインを入力してください)

Windows Server 2016 サーバーマネージャー 設定
ここまで設定できるとブラウザのURLにIISで作成したドメインを打ち込むと表示できているか確認します。

Windows Server 2016 サーバーマネージャー 設定
表示されていますね!

Webを発行するためにWeb Deploy v3.6を下記のサイトでダウンロードしてWindows Serverにインストールします。
https://www.microsoft.com/ja-jp/download/details.aspx?id=43717
インストールする際は「完全」を選択してください。

Windows Server 2016 サーバーマネージャー 設定
IISの設定をします。画像のように管理サービスを起動してください(ない場合はサーバーマネージャーから機能の追加で管理サービスのインストールを行ってください)。

Windows Server 2016 サーバーマネージャー 設定
リモート接続を有効にするにチェックを入れて右のサイドバーにある「適用」ボタンを押します。

Windows Server 2016 サーバーマネージャー 設定
コントロールパネルから管理ツールのサービスを起動して、「Web Management Service」が起動していない場合は「開始」で起動します。

Windows Server 2016 サーバーマネージャー 設定
IISのトップからサイドバーにあるサーバを選んで、管理から「IIS マネージャー ユーザー」を開きます。右サイドバーにある「ユーザーの追加」からVisual Studio Webから発行に使うアカウントを作成します。

Windows Server 2016 サーバーマネージャー 設定
ユーザー名とパスワードは任意です。

Windows Server 2016 サーバーマネージャー 設定
アカウントの作成が終わりましたらサイドバーにある自分のサイトをクリックして、管理の「IIS マネージャーのアクセス許可」を開きます。

Windows Server 2016 IIS 設定
右サイドバーにある「ユーザーの許可」からIISマネージャーを選択して、先ほど作成したアカウントを選択します。

Windows Server 2016 IIS 設定
IISのサイトを右クリックして「展開」から「Web配置による発行の有効化」を選択してください。

Windows Server 2016 IIS 設定
発行アクセス許可を付与するユーザーに作成したアカウントを選択して設定ボタンを押します。下の項目は特に触らなくてもよいです。

サーバの設定は以上です。Visual Studio Webからサイトの発行を受け取る準備が整いました。
Visual Studio Webを発行 設定
開発環境Visual Studioの方に戻りましょう。メニューにある「表示」から「その他のウィンドウ」の「Web 発行アクティビティ」を選択して表示させます。

Visual Studio Webを発行 設定
更に「表示」から「ツールバー」の「Webの1クリック発行」を選択し、発行ボタンを表示させます。

Visual Studio Webを発行 設定
発行:の「発行設定の作成」から「新しいカスタムプロファイル」を選択して、

Server: (自分のドメイン)
Site name: (サイトを識別できる名前)
User name: (IISで設定した発行に使うアカウント名)
Password: (IISで設定した発行に使うアカウントのパスワード)
Destination URL: (発行に成功したら表示させるURL)

Visual Studio Webを発行 設定
プレビューで発行できるか試すことができます。

ここで注意!mdlConstにあるデータベース接続コードを開発環境のものからWindows Serverで作製したデータベースの接続名に変更しなければなりません。

設定する方法は「ASP.NET MVC5(C#)でSQL Serverにあるデータを取得する方法」にあるようにWindows ServerにあるSQL Server Management Studioを参照してコードを書いてください。既存の開発環境に向けたデータベース接続コードはコメントアウトをしてあとで戻せるようにするとよいです。

発行ボタンを押せば晴れてWebサイトの構築とアップロードの完了です。管理ページも同じようにWindows Serverに戻ってIISから「Webサイトの追加」でホスト名を「admin.ドメイン」などとしてサイトの土台を構築しましょう。Web Deploy(Webを発行)に使うアカウントは本サイトの発行で使うために使ったアカウントをそのまま管理ページも「IIS マネージャーのアクセス許可」で同一のものを指定できます。
ここで注意!そのままの管理ページをWebに上げて使うと第三者に盗聴されている場合、管理ページに入られることが考えられるわ。
盗聴ってなんですか!?
ネットワークを流れるデータを盗み取ることだよ。だから管理ページを作った場合はSSLを使って通信を暗号化させる必要がでてくるんだ。
Visual Studio Webを発行 設定
ブラウザのアドレスバーに緑色の鍵マークが出ていれば安全です。下記ページに記されていた無料のSSLを使って簡単に導入することもできましたので是非、行ってみてください。

Let’s EncryptでIIS上にSSLサイトを導入する方法(無料)
Let's Encrypt の設定(Windows Server)
コメント一覧
お名前:

コメント:
left547892right
 表示されている6桁の数字を入力してください。
 (※スパムコメント対策です。)
00029876