Windows Live のブログでは RSS の購読があると 1 投稿に対して 1 アクセス計上されるので単純なページビューになると
このアクセス数の半分以下ぐらいかな~という気もしますが。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
<[Web サーバー立ち上げ体験日記]動的 IP アドレスと Dynamic DNS でサーバーを公開
前回投降した内容を固定 IP アドレスと独自ドメイン名で実施するための作業です。
タイトルにもありますようにこちらのパターンでは
の 2 つが必要になります。
動的 IP アドレスと固定 IP アドレスの違いは名前そのまま外部からの接続に使用する IP が固定化されるということです。
固定 IP アドレスですので DiCE で定期的に IP アドレスを通知する必要はありません。
そのため安定した接続ができそうですね。
Dynamic DNS と独自ドメイン名では自分が好きなドメイン名が取得できるかどうかという違いがあります。
Dynamic DNS の場合はサービス提供元のドメイン名が固定で設定されますが独自ドメイン名の場合は
.com / .net / .jp といった好きなドメイン名を使用することができます。
固定 IP アドレスと独自ドメイン名の取得例を以下にまとめてみました。
[固定 IP アドレス]
固定 IP アドレスのサービスを提供しているところから割り当ててもらうのが一般的かと思います。
プロバイダによっては固定 IP アドレスのサービスをしているところもあるようですね。
私の場合はインターネットに B フレッツを使用していますので以下のサービスを利用することができます。
| 提供元 | URL | 価格 |
| i-revo ゲーム専用コース | http://access.i-revo.jp/web/isp/campaign/mgo/index.jsp | 月額 525 円 |
| ASAHI ネット 固定 IP アドレスオプション | https://asahi-net.jp/service/fixedip/ | 月額 840 円 |
B フレッツの場合は同時接続セッション数が 2 セッションとなっていますので通常使用しているプロバイダの接続設定とは別に
固定 IP アドレスで使用する接続を設定することが可能です。
Bフレッツファミリー
# 参考として B フレッツファミリーのリンクを記載しておきます。B フレッツの場合ビジネス以外は 2 セッションみたいですね。
ルーター側の設定としては以下のような設定になります。
# 接続設定を 2 つ設定し、同時接続セッション数が 2 になっています
?
設定方法は使用しているルーターによって異なると思いますのでここでは記載しませんが、最初にプロバイダの情報を
登録した際の設定をもう一度別の接続として設定することになると思います。
この設定をすることによりルーターが 2 つの IP を持つことができるようになります。
Web サーバーからインターネットに出る場合は動的 IP ではなく固定 IP を使用して外に出るようにするためには
また別の設定をする必要があります。
こちらもルーターによって設定方法が異なると思いますが、LAN 側の IP アドレスによって使用する接続先を
変更する設定ができると思います。
この設定をするとルーターは下図のような設定になります。
どちらの接続を使用しているかはコマンドプロンプトで以下のコマンドを実行してください。
| tracert microsoft.com |
通常のプロバイダの接続を使用する端末 (クライアント PC) と固定 IP の接続を使用する端末 (Web サーバー) で
コマンドを実行してみて tracert の結果が違っていれば別の接続設定を使用してインターネットに出ていることになります。
続いては独自ドメイン名の取得です。
[独自ドメイン名]
独自ドメイン名を簡単に取得できるサービスとしては以下のものが有名かと思います。
| 提供元 | URL | 価格 |
| お名前.com | http://www.onamae.com/ | 年額 3,440 円 ~ |
| VALUE DOMAIN | https://www.value-domain.com/ | 年額 990 円 ~ |
| ムームードメイン | http://muumuu-domain.com | 年額 950 円 ~ |
ドメイン名の情報は WHOIS 等で調べることができます。以下のようなサイトがあります。
Whois Gateway ドメイン検索
企業のサイトでは上記のようなサービスを使用していることは少ないかと思いますが個人サイトでは使用していることがありますので、
よく参照しているサイトと同じサービス提供元を使用してみようという考えてで良いかもしれません。
独自ドメイン名を取得するとそのドメイン名に IP を関連付ける必要があります。
このような登録を行える組織をレジストラというのですが大抵はサービスを提供しているところがレジストラとしての
機能を持っているはずですので独自ドメイン名を取得したら取得したところでドメイン名と IP アドレスの関連付けができます。動的 IP アドレスの設定と同様に DNS への反映にはしばらく時間がかかりますが、ある程度時間がたったら以下のコマンドで
自分が意図している内容が登録されているか確認します。
|
nslookup <ドメイン名> |
以下のような結果が取得でき、回答のIP アドレスが固定 IP アドレスになっていれば登録完了です。
|
>nslookup engineer-memo.spaces.live.com 権限のない回答: |
?
これで外部公開の準備は完了です。
IIS 7.0 虎の巻にも書かれていますが、Netcraft 社のサイトで接続ができることを確認します。
Netcraft
# 普通にブラウザを開いて URL にアクセスでも確認ができますが、家庭外のネットワークから確認したほうが確実です。
ドメイン名と固定 IP が DNS に登録されていて接続ができないのであればおそらくルーター側の問題かと思います。
ルーターに以下のような設定がされているかを確認してみて下さい。
サーバー側のファイアウォールでポート 80 が許可されているかも確認してみるとよいかもしれないです。
# IIS をインストールすると自動で許可されているはずですが。
設定完了後はネットワークは以下のような構成になっていると思います。
[設定完了後のネットワーク構成]
固定 IP + 独自ドメインで公開する場合は定期的に IP を通知する必要はありませんので DiCE のようなソフトの導入は不要です。
他にも 固定 IP + Dynamic DNS という組み合わせでも公開することが可能です。
# MyDNS を使用して一度試してみました。
公開に関しての投稿はこれぐらいで。
次からはReporting Services の初期設定やコンテンツについてまとめていきたいと思います。
<[Web サーバー立ち上げ体験日記]SQL Server のデータを Reporting Serivces で表示のイメージ
ぼちぼちサーバーを公開するための投稿をしてみようかと
まずは動的 IP アドレスでと Dynamic DNS でサーバーを公開する方法についてまとめてみたいと思います。
通常の家庭のネットワークは以下のような構成になっていると思います。
# リモートデスクトップの時に使用した図を変更しました。
?
[一般的なネットワーク]![]()
インターネットからの接続はプロバイダから割り当てられている [動的 IP] になります。
動的とついているようにこの IP は定期的に変化します。
# プロバイダによって変更されるタイミングは違うようですね。
このような環境でサーバーを公開する際に使用するのが Dynamic DNS になります。
IIS7.0 虎の巻にも書かれている内容ですね。
[Dynamic DNS による DNS 名の取得]
Dynamic DNS を使用するとインターネットからドメイン名 (engineer-memo.spaces.live.com のような名前) を使用して
動的 IP に対して接続できるようになります。
以下のような流れで接続がされます。
インターネット → Dynamic DNS で取得したドメイン名 → プロバイダの動的 IP → Web サーバー
国内では以下のような Dynamic DNS サービスが提供されています。
# 以下のサービスは無償て利用できます。
| サービス提供元 | URL |
| 私的 Dynamic DNS | http://www.mydns.jp/ |
| Dynamic DO!.jp | http://ddo.jp/ |
| ieServer.Net | http://ieserver.net/ |
| CyberGate | http://cybergate.planex.co.jp/ddns/ |
これらのサービスの提供元から DNS 名を取得します。
取得した DNS 名を使用すればインターネットからの接続名を固定することができます。
ただし、接続名を固定できても動的 IP を使用していることは変わりませんので、DNS 名と動的 IP アドレスの
関連付けをする必要があります。
[DNS名と動的 IP の関連付け]
インターネットからの接続口は Dynamic DNS で取得できましたが動的 IP と DNS 名を定期的に関連付けないと
外部からの接続を固定することができません。Dynamic DNS のサービス提供元の URL に定期的にログインすることにより現在の動的 IP と取得した DNS 名を
関連付けることができますが、動的 IP はいつ変更されるかわかりませんし自宅からサービス提供元の URL に
ログインして変更しないといけません。
定期的に変更される動的 IP と DNS 名を関連付ける時に便利なソフトが [DiCE] になります。
DiCE はフリーソフトとして公開されており、以下の URL から入手することができます。
DiCE Dynamic DNS Client
# 64ビットの Windows Web Server 2008 でも正常に動作しています。
このソフトをサーバーで起動しておくと定期的なタイミングでサービス提供元にログインし現在の動的 IP を通知、
動的 IP が変更されたタイミングで IP を通知といった設定をすることができます。
DiCE は以下の手順で設定することができます。
これで DiCE のインストールは完了です。
続いて DiCE を設定します。
[ホスト名] は Dynamic DNS で取得したドメイン名からドメイン部を省いたものを入力します。
# engineer-memo.spaces.live.com であれば engineer-memo.spaces がホスト名になります。
[ドメイン名] は取得したドメイン名のドメイン部をを入力します。
# engineer-memo.spaces.live.com であれば spaces.live.com がドメイン名になります。
[ユーザー名] [パスワード] はドメイン名を取得した際に作成したユーザー情報になります。
[IP アドレス] は空白で問題ありません。
# 動的 IP アドレスのため
[スケジュール] は [周期的] で [1時間毎] か [IP アドレス変化時] が良いかと思います。
周期的に更新していれば DiCE を起動していれば設定しているタイミングで情報が更新されますので。
|
nslookup <ドメイン名> |
以下のような結果が取得でき、回答のIP アドレスが DiCE に表示された IP アドレスになっていれば正常に
DNS の更新がされています。
# DiCE の右上またはステータスバーに IP が表示されています。
|
>nslookup engineer-memo.spaces.live.com 権限のない回答: |
これで DNS 名と動的 IP の関連付けは完了です。
無償版の DiCE はサービスとして登録はできないのでサーバーを起動したタイミングで手動で起動しておく必要があります。
スタートメニューのスタートアップに登録するかシステム構成のスタートアップに登録しておくとログイン時に自動的に
起動されるので便利だと思います。
?
これでスタートアップに登録完了です。
これでシステム構成のスタートアップに登録完了です。
どちらのスタートアップの登録状況もファイル名を指定して実行 → [msconfig] を実行して [スタートアップ] から
確認することができます。
場所が [HKLM] で始まっているものがレジストリに登録したものです。
パス指定になっているのはスタートメニューに登録したものになります。
スタートメニューに登録したものに関しては作業をしたユーザーでログインしないと有効ではありませんが、
レジストリに登録したものは全ユーザーに対して適用されるといった違いがある程度ですのでどちらで登録しても
問題はありません。
?
これで一度ログオフしてログインすると DiCE が起動してくると思います。
この状態では最大化された状態で DiCE が起動してきますので DiCE の [環境設定] → [オプション] から
[最小化で起動する] を有効にしておいたほうが良いかもしれません。
?
最小化で起動するにすると通知領域に最小化された状態で起動します。![]()
DiCE は常に起動した状態にしておく必要がありますのでサーバーを起動したら一度ログインし、ログインした後は
[ログオフ] はせずに作業を終了する場合は [コンピュータのロック] でログインした状態を維持するのが良いかと思います。
# タスクスケジューラで [コンピュータの起動時] をトリガとして DiCE を起動してもよいかも。
リモートデスクトップについて考える際にも記載しましたがルーター側のファイアウォールの設定があるかと思いますので、
ポート 80 に対してファイアウォールの設定を変更する必要があるかと思います。
[設定完了後のイメージ図]
ざっくりとですがこれで動的 IP アドレスでサーバーを公開する手順は完了です。
次は固定 IP と独自 DNS でサーバーを公開する手順をまとめてみたいと思います。
<[Web サーバー立ち上げ体験日記]IIS のアクセスログを SQL Server に格納
手順は次回まとめようと思っていますが、まずはこんなことを考えていましたという投稿を。
SQL Server 2008 With Advanced Services ではローカルのデータを使用して Reporing Serivces を使用することができます。
また、レポートビルダー 2.0 も無償でダウンロードできますので IIS のアクセスログを SQL Server のテーブルに格納しておけば
以下のようなアクセスログのレポートが簡単に作成できます。
ODBC ログで直接 SQL Server に格納するのではなく、テキストのログファイルを LogParser を使用して SQL Server に
格納するようにすれば、安定したデータベースへのログ格納ができるかも。
ログ管理はもう少し考えないと駄目ですね。
スキルチャージプログラムの連絡期限も一カ月を切っていますのでぼちぼちコンテンツのほうも考えていかなくては。
<[Web サーバー立ち上げ体験日記]SQL Server 2008 SP1 + CU1 のインストール
IIS のアクセスログは ODBC ログを使用することによって SQL Server のデータベースに格納することができます。
設定をするにあたり、以下のサイトを参考にさせていただきました。
# 私もこういった情報を提供できるように精進したいと思います。
IIS7 – post #57 – How to setup ODBC Logging in IIS 7.0
How to configure IIS 7.0 for ODBC logging?
【IIS7】 そろそろいいことばかりでなく、現実的なことも重要か
手順としては
になります。
[機能の追加]
ODBC ログを使用するために、IIS に [ODBC ログ] の役割サービスを追加します。
[ODBC ログ] をインストールすることにより、[C:WindowsSystem32inetsrvlogtemp.sql] が追加され、ODBC ログの
Class ID がレジストリに追加されるようですね。
?
ODBC ログはカスタム ログとして実装されているのでカスタムログの役割サービスも必要になります。
# カスタムログの一種として実装されているイメージでしょうか。
[SQL Server の設定]
ODBC ログの記録用のデータベースとテーブルを SQL Server 上に作成する必要があります。
また、情報を見たところ SQL Server 認証でないとログを保存できなさそうですので Windows 認証から SQL Server 認証に
変更する必要があります。
?
[ODBC の設定]
作成したデータベースを使用する ODBC を作成します。
?
[IIS の設定]
ODBC ログの設定は GUI から行うことはできません。
IIS サービスマネージャでも以下のような画面が表示されます。
?
[appcmd.exe] を使用するか、[applicationHost.config] を直接修正することによって設定します。
参考にさせていただいた URL の情報にコマンドが載っていますので今回はそれを使って設定してみたいと思います。
|
cd %systemroot%system32inetsrv |
|
cd %systemroot%system32inetsrv |
以上で ODBC ログの設定は完了です。
テーブルを検索したところきちんとレコードが格納されていました。
ただし、SQL Server に接続できないと [500] のエラーになってしまうようです…。
実運用で使うには少し厳しそうですね。
あと取得項目として [Referer] がないのも気になります。インターネット公開サイトでは欲しいですよねこの項目は。
カスタムログとして自作すると [500] のエラーも回避できるようになるのでしょうか??
# 取得項目は増やせると思いますが。
ODBC ログの設定はできたので、せっかくですから Reporting Service を使ってアクセスログを表示することにチャレンジしたいと思います。
# アクセスログを Reporting Serivce で表示したかったのでSQL Server Express に With Advanced Services を使っています。
>[Web サーバー立ち上げ体験日記]SQL Server のデータを Reporting Serivces で表示のイメージ
<[Web サーバー立ち上げ体験日記]SQL Server 2008 Express のインストール
SQL Server 2008 の最新のバージョンは SP1 + CU1 ですので先ほどインストールした SQL Server 2008 Express を
最新のバージョンにアップデートしたいと思います。
SQL Server 2008 SP1 , CU1 のダウンロードは以下の URL から↓
SQL Server 2008 Service Pack 1
SQL Server 2008 Service Pack 1 の累積的な更新プログラム パッケージ 1
[SQL Server 2008 Service Pack 1 のインストール]
続いて CU1 のインストールです。
# SP1 と手順は同じです。
[Cumulatie Update 1 のインストール]
これで SQL Server 2008 の最新のアップデートが適用された状態になります。
SQL Server Management Studio で以下のような SQL を実行してバージョンが [10.0.2710.0] となっていれば
アップデート完了です。
ついでに SQL Server 2008 の Books Online? (BOL) の最新版をインストールしておくと便利かと思います。
Microsoft SQL Server 2008 オンライン ブック (2009 年 1 月)
SQL Server 2008 Express のインストール直後の状態では、接続方法は [共有メモリ] のみ許可されていますので、
ローカルサーバーでのみ利用するのであれば [TCP/IP] を有効にする必要はないと思います。
# ポート 1433 / 1434 を開く必要もありませんので。
?
次は勉強を兼ねて、インストールした SQL Server に IIS のログを出力する手順をまとめてみたいと思います。
<[Web サーバー立ち上げ体験日記]IIS のデフォルトサイトの設定変更
サイトのバックエンドでは大抵情報を格納するためのデータベースサーバーが必要になります。
私は SQL Server が一番使いやすくので SQL Server 2008 の Express をインストールしておきたいと思います。
# WISP (Windows + IIS + SQL Server +PHP) か WISA (Windows + IIS + SQL Server + ASP.NET) を使う予定ですので。
今回は
MicrosoftR SQL ServerR 2008 Express with Advanced Services
使用したいと思います。
SQL Server 2008 Express との違いは
になります。
Management? Studio / Fulltext Search / Reporting Services のサブセットが入っている感じでしょうか。
インストールすためには
が必要になります。
Windows Power Shell 1.0 はサーバーマネージャの [機能の追加] でインストールすることができますが他のものについては
ダウンロードしてインストールする必要があります。
以降の手順は前提モジュールのインストールが終了した状態からになります。
[SQL Server 2008 Express with Advanced Services のインストール]
サービスのアカウントは作成しておいた [Users グループ] のアカウントを設定しています。
[SYSTEM] は権限が強すぎるので公開用の SQL Server を構築する場合は控えたほうが良いかと思います。
また、[SQL Server Browser] は外部に公開しないのであればサービスは起動する必要がありませんので [無効] にしておきます。
# SQL Server を動的ポート構成にしない限りは [無効] で問題ありません。

照合順序はお好みで。
SQL Server 2008 の日本語の最新の照合順序は [Japanese_XJIS_100] です。
[認証 モード] は導入するアプリケーションに依存すると思いますがまずはデフォルトのままで。
[SQL Server 管理者の設定] については、SQL Server の管理権限 ([sysadmin 権限]) を持つするユーザーを設定します。
ここで設定したユーザーは SQL Server に対してフルコントロールを持ちます。
[Administrator] 以外のアカウントも設定できますので、サーバー管理者と SQL Server 管理者を分けたい場合は
別のユーザーを設定します。
?
デフォルトではすべてのシステムデータベースが [C ドライブ] に作成されます。
C はシステムドライブのため、データベースは配置したくありません。
IIS のコンテンツディレクトリ同様、私は別のドライブに全データベースを格納するように設定しています。
?
?
これで SQL Server 2008 Express のインストールは終了ですが、現時点の最新バージョンは SP1 + CU1 です。
次は SP1 と CU1 のインストールを行いたいと思います。
<[Web サーバー立ち上げ体験日記]Windows のセキュリティについて考える その 4
初期インストール後は [Default Web Site] という Web サイトがポート 80 で作成されています。
デフォルトではシステムドライブにファイルが格納されるようになっていますのでできるだけシステムドライブにファイルは
格納しないように変更したいと思います。
# Windows ServerR 2008 Security Guide にも [Move root directories to a separate data partition] と書かれています。
IIS 系の作業はすべて [インターネット インフォメーション サービス (IIS) マネージャ] で実行します。
[コンテンツディレクトリの変更]
サイトのコンテンツは [%SystemDrive%inetpubwwwroot] に配置されています。
システムドライブにコンテンツを配置したくないので、今回は [E:Web] に移動したいと思います。
以上でコンテンツディレクトリの変更は終了です。
アクセス権の設定は別途まとめたいと思いますので今回は省略で。
[ログディレクトリの変更]
IIS のアクセスログも初期インストール後はシステムドライブ (%SystemDrive%inetpublogsLogFiles) に出力されます。
ログは [E:WebLog] に出力されるように変更したいと思います。
?
?
以上でログディレクトリの変更は終了です。
[ホストヘッダーの設定]
Windows ServerR 2008 Security Guide を読んでいたところ、[Configure a Unique Binding] についての記載がありました。
セキュリティ上は Web サイトをホストする IP とホスト名 (以前のバージョンのホストヘッダー) は指定したほうがよさそうでした。
以下の手順で設定できます。
ホスト名を設定すると IP アドレスでサイトにアクセスしようとしても [404] エラーとなります。
?
設定変更できる DNS がある場合は DNS の [A レコード] か [CNAME レコード] を設定すればよいのですが、
お手軽にテストをするにはHOSTS ファイルを変更するのが手っ取り早いです。
[C:WindowsSystem32driversetchosts] をメモ帳で開き以下のような設定を追加します。
?
これでホスト名に設定した URL でアクセスができるようになります。
デフォルトサイトを使用する場合はこのあたりの設定は変えたほうがよさそうですね。
# デフォルトサイトをそのまま使用する人は少ないかもしれないですけど。
Web サイト用のソフトを入れる時には大抵データベースが必要になりますので次は SQL Server Express を
インストールしたいと思います。
<[Web サーバー立ち上げ体験日記]Web Server 2008 にインストールできる無償のウイルス対策ソフトは?
セキュリティでひとつ思い出したことがあったので投稿。
順番がばらばらになり読みづらいかもしれませんがご容赦を。
Windows Server には [セキュリティの構成と分析] という機能があったことをふと思い出しました。
Windows Server 2008 でも MMC のスナップインとして [セキュリティの構成と分析] があります。
Windows Server 2003 では [C:WindowsSecurityTemplates] セキュリティのテンプレートが用意されていました。
?
しかし、Windows Server 2008 ではデフォルトで用意されているテンプレートはありません。
TechNet にもこのことは明記されています。
Windows Server 2008 のサーバーのセキュリティ ポリシーの管理
そうはいってもテンプレートがないと参考値がわからないですよね…。
試してみたところ Windows Server 2003 の定義済みのセキュリティテンプレートをそのまま利用することができました。
[セキュリティの構成と分析] は以下の操作で実行することができます。
# 事前に Windows Server 2003 の [C:WindowsSecurityTemplates] を Windows Server 2008 にコピーしています。
これを使用するとセキュリティの考慮事項が見えるかと思います。
# [コンピュータの構成] を選択するとテンプレートの内容を実際に設定してくれます。
??? 確認のメッセージボックスは表示されずにいきなり設定されますのでご注意ください。
Windows Server 2008 のセキュリティテンプレートですが
Get the Windows Server 2008 Security Guide
にサンプルが含まれています。
このガイドには IIS についても記載がありますので、IIS のセキュリティ設定で参考にしたいと思います。
ぼちぼち IIS の設定を少ししてから公開のための作業手順をまとめたいと思います。
<[Web サーバー立ち上げ体験日記]Windows のセキュリティについて考える その 3
そろそろ公開に向けての手順を投稿しようと思っていたのですが、ウイルス対策についてまだ投稿をしていないことに気付きました。
そこで Web Server 2008 に無償で入手できるウイルス対策ソフトは何がインストールできるか試してみました。
| 製品名 | URL | インストール |
| avast!4 Home Edition | http://www.avast.com/ | × |
| AVG AntiVirus | http://free.grisoft.com/freeweb.php | × |
| Avira AntiVir PersonalEdition Classic | http://www.free-av.com/en/index.html | × |
| Kingsoft AntiVirus U | http://www.kingsoft.jp/is/index.html | x64:× x86:○ |
| BitDefender Free Edition | http://www.bitdefender.com/ | × |
| ClamWin Free Antivirus | http://www.clamwin.com/ | ○ |
サーバー OS にインストールできるものは少ないですね。
# Kingsoft は x86 のみインストール可能でした。
有名どころの有償クライアント製品も試してみました。
| 製品名 | URL | インストール |
| Live On Care | http://onecare.live.com/standard/ja-jp/default.htm | × |
| ウイルスバスター 2009 | http://jp.trendmicro.com/jp/home/ | × |
| ノートンインターネットセキュリティ 2009 | http://www.symantecstore.jp/ | × |
| カスペルスキーインターネットセキュリティ 2009 | http://www.kaspersky.co.jp/ | × |
各メーカーでサーバー用の製品を出しているぐらいですのでクライアント製品はサーバー OS にインストールできませんでした。
やはりサーバー用の製品を入れないとウイルス対策は難しそうですね~。
他にもインストールできそうなウイルス対策ソフトが見つかったら再度投稿したいと思います。