SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘Web サーバー導入キット’ Category

[Web サーバー立ち上げ体験日記]Community Server 2008.5 SP1 のインストール その 2

leave a comment

<[Web サーバー立ち上げ体験日記]Community Server 2008.5 SP1 のインストール その 1

IIS に関しては今までは Default Web Site を使用していたのですが、新しく Community Server 用のサイトと
専用のアプリケーションプール / アプリケーションプール ID を作成してサイトを立ち上げたいと思います。


[アプリケーションプールの作成]

IIS インストール時には DefaultAppPool というアプリケーションプールが作成されており、Default Web Site は
このアプリケーションプールを使用するように設定されています。

今回は Community Server 専用のアプリケーションプールとアプリケーションプール ID を使用したいと思いますので、
これらの設定をします。

まずはアプリケーションプール ID の作成から。

デフォルトで作成されているアプリケーションプールはビルトインアカウントである [NETWORK SERVICE] が
アプリケーションプール ID として設定されています。
今回は権限はできるだけ制限したアカウントを使用したいのでどのグループにも参加していないユーザーを
用意したいと思います。

  1. [サーバー マネージャ] を起動します。
  2. [構成] → [ローカル ユーザーとグループ] → [ユーザー]を右クリック → [新しいユーザー] をクリックします。
    image
  3. ユーザー情報を入力し、[作成] をクリックします。
    image?
  4. 作成したユーザーを [Users] グループから削除します。
    image

これでユーザーの作成は終了しましたので、次はアプリケーションプールを作成します。
アプリケーションプールの作成は IIS マネージャから実行します。

image?

  1. アプリケーションプールを右クリック → [アプリケーション プールの追加] をクリックします。
    image
  2. アプリケーションプール名を入力し、[OK] をクリックします。
    image
  3. 作成したアプリケーションプールを右クリック → [詳細設定]? をクリックします。
    image
  4. デフォルトではアプリケーションプールの ID は [NetworkService] になっていますので作成したユーザーに変更します。
    image image
    image

つぎはこのアプリケーションプールを使用したサイトを作成したいと思います。

[サイトの作成]

Community Server で使用するサイトを作成します。
こちらも引き続き IIS マネージャから作成します。

  1. Community Server のコンテンツを格納するディレクトリを作成します。
    今回は [E:App] を作成しています。
  2. サイトを右クリック → [Web サイトの追加] をクリックします。
    image
  3. [アプリケーション プール] に作成したアプリケーションプールを選択、物理パスに作成したディレクトリを設定し、
    [OK] をクリックします。
    image?

次は SQL Server の設定です。

>[Web サーバー立ち上げ体験日記]Community Server 2008.5 SP1 のインストール その 3

Written by Masayuki.Ozawa

4月 26th, 2009 at 11:24 am

[Web サーバー立ち上げ体験日記]Community Server 2008.5 SP1 のインストール その 1

leave a comment

<[Web サーバー立ち上げ体験日記]固定 IP アドレスと独自ドメイン名でサーバーを公開

最初は Windows Sharepoint Services 3.0 SP1 をインストールしようと考えていたのですが、Community Server 2008.5 SP1 を
使ってみたいな~と思い、まずはこちらをインストールしてみました。
# 設定しているサイト名やユーザー名の情報は今回の投稿用のものです。実環境では別の名前で設定しています。

Community Server はバックエンドのデータベースとして SQL Server Express を使用することが可能です。
これに関しては事前にインストールをしていますのでこれを使用します。

まずはモジュールのダウンロードから

[モジュールのダウンロード]

Community Server は以下の URL から入手することができます。

Community Software by Telligen

今回は無償の Community Server Express Edition を使用します。

ダウンロードするまでの手順は以下の通りです。

  1. [Product] → [Community Server Free Edition] → [Free Download] をクリック
  2. 情報を入力し、[Email Me A Download Link!] をクリック
  3. 入力したメールアドレスにダウンロード先の URL のリンクが記載されたメールが送信されてくるのでリンクをクリック
  4. [Community Server 2008.5] または [Community Server 2008, Web Install] → [Download Now!] をクリック
  5. ユーザー登録をまだしていない場合は、[Click here to Join] をクリックしてユーザー登録を実施
    ユーザー登録時にはパスワードの入力項目はありません。初期パスワードは登録時に入力したメールに送信されてきます。
  6. ユーザー登録がされている場合はユーザー情報を入力し、[Sign in] をクリック
  7. ダウンロード許諾の内容を確認しながらスクロールバーを一番下までスクロール
  8. [I Agree to These Terms And Conditions] を有効にし、[Name] [Email] を入力し、[Submit] をクリック
  9. モジュールをダウンロードします。

これでダウンロードは完了です。

Community Server は MSI 版 と Web Install 版 の 2 種類をダウンロードすることができます。
せっかくの機会ですので両方のインストールを試してみたいと思います。

次は IIS の設定をしたいと思います。

>[Web サーバー立ち上げ体験日記]Community Server 2008.5 SP1 のインストール その 2

Written by Masayuki.Ozawa

4月 26th, 2009 at 10:45 am

[Web サーバー立ち上げ体験日記]固定 IP アドレスと独自ドメイン名でサーバーを公開

leave a comment

<[Web サーバー立ち上げ体験日記]動的 IP アドレスと Dynamic DNS でサーバーを公開

前回投降した内容を固定 IP アドレスと独自ドメイン名で実施するための作業です。

タイトルにもありますようにこちらのパターンでは

  • 固定 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 になっています
image?

設定方法は使用しているルーターによって異なると思いますのでここでは記載しませんが、最初にプロバイダの情報を
登録した際の設定をもう一度別の接続として設定することになると思います。

この設定をすることによりルーターが 2 つの IP を持つことができるようになります。
Web サーバーからインターネットに出る場合は動的 IP ではなく固定 IP を使用して外に出るようにするためには
また別の設定をする必要があります。

こちらもルーターによって設定方法が異なると思いますが、LAN 側の IP アドレスによって使用する接続先を
変更する設定ができると思います。
この設定をするとルーターは下図のような設定になります。

image

どちらの接続を使用しているかはコマンドプロンプトで以下のコマンドを実行してください。

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
サーバー:
Address:? 172.0.0.1

権限のない回答:
名前:??? blu.pod1.services.spaces.live.com.nsatc.net
Address:? 65.55.102.120
Aliases:? engineer-memo.spaces.live.com

?

これで外部公開の準備は完了です。

IIS 7.0 虎の巻にも書かれていますが、Netcraft 社のサイトで接続ができることを確認します。
Netcraft
# 普通にブラウザを開いて URL にアクセスでも確認ができますが、家庭外のネットワークから確認したほうが確実です。

ドメイン名と固定 IP が DNS に登録されていて接続ができないのであればおそらくルーター側の問題かと思います。
ルーターに以下のような設定がされているかを確認してみて下さい。

  • 固定 IP アドレスのポート 80 にアクセスがあった場合は Web サーバーの IP アドレスにフォワードする
  • 固定 IP アドレスのポート 80 に対しての外部アクセスを許可する

サーバー側のファイアウォールでポート 80 が許可されているかも確認してみるとよいかもしれないです。
# IIS をインストールすると自動で許可されているはずですが。

image

設定完了後はネットワークは以下のような構成になっていると思います。

[設定完了後のネットワーク構成]

image?

固定 IP + 独自ドメインで公開する場合は定期的に IP を通知する必要はありませんので DiCE のようなソフトの導入は不要です。

他にも 固定 IP + Dynamic DNS という組み合わせでも公開することが可能です。
# MyDNS を使用して一度試してみました。

公開に関しての投稿はこれぐらいで。
次からはReporting Services の初期設定やコンテンツについてまとめていきたいと思います。

>[Web サーバー立ち上げ体験日記]Community Server 2008.5 SP1 のインストール その 1

Written by Masayuki.Ozawa

4月 22nd, 2009 at 2:54 pm

[Web サーバー立ち上げ体験日記]動的 IP アドレスと Dynamic DNS でサーバーを公開

leave a comment

<[Web サーバー立ち上げ体験日記]SQL Server のデータを Reporting Serivces で表示のイメージ

ぼちぼちサーバーを公開するための投稿をしてみようかと
まずは動的 IP アドレスでと Dynamic DNS でサーバーを公開する方法についてまとめてみたいと思います。

通常の家庭のネットワークは以下のような構成になっていると思います。
# リモートデスクトップの時に使用した図を変更しました。
?
[一般的なネットワーク]
image

インターネットからの接続はプロバイダから割り当てられている [動的 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 は以下の手順で設定することができます。

  1. ダウンロードしたファイルを実行します。
  2. [次へ] をクリックします。
    image
  3. [次へ] をクリックします。
    # 私は 64 ビットの環境を使用しているので [Program Files (x86)] にインストールしています。
    image
  4. [標準] を選択し、[次へ] をクリックします。
    image
  5. [インストール] をクリックしてインストールを開始します。
    image
  6. [完了] をクリックします。
    image

これで DiCE のインストールは完了です。
続いて DiCE を設定します。

  1. DiCE を起動します。
  2. [イベント] → [追加] をクリックします。
    image
  3. 使用している Dynamic DNS の情報を入力し、[保存] をクリックします。
    [サービス] は使用している Dynamic DNS のサービス提供元を選択します。

    [ホスト名] は Dynamic DNS で取得したドメイン名からドメイン部を省いたものを入力します。
    # engineer-memo.spaces.live.com であれば engineer-memo.spaces がホスト名になります。

    [ドメイン名] は取得したドメイン名のドメイン部をを入力します。
    # engineer-memo.spaces.live.com であれば spaces.live.com がドメイン名になります。

    [ユーザー名] [パスワード] はドメイン名を取得した際に作成したユーザー情報になります。

    [IP アドレス] は空白で問題ありません。
    # 動的 IP アドレスのため

    [スケジュール] は [周期的] で [1時間毎] か [IP アドレス変化時] が良いかと思います。
    周期的に更新していれば DiCE を起動していれば設定しているタイミングで情報が更新されますので。
    image

  4. 保存したイベントを右クリック → [今すぐ実行] をクリックして Dynamic DNS に IP アドレスを通知します。
  5. ステータスバーに以下のような表示がされればDNS 名が 動的 IP の内容で更新されています。
    image
  6. DNS の更新には少し時間がかかりますので、しばらく待ってからコマンドプロンプトで以下のコマンドを実行します。

    nslookup <ドメイン名>

    以下のような結果が取得でき、回答のIP アドレスが DiCE に表示された IP アドレスになっていれば正常に
    DNS の更新がされています。
    # DiCE の右上またはステータスバーに IP が表示されています。

    >nslookup engineer-memo.spaces.live.com
    サーバー:
    Address:? 172.0.0.1

    権限のない回答:
    名前:??? blu.pod1.services.spaces.live.com.nsatc.net
    Address:? 65.55.102.120
    Aliases:? engineer-memo.spaces.live.com

これで DNS 名と動的 IP の関連付けは完了です。
無償版の DiCE はサービスとして登録はできないのでサーバーを起動したタイミングで手動で起動しておく必要があります。
スタートメニューのスタートアップに登録するかシステム構成のスタートアップに登録しておくとログイン時に自動的に
起動されるので便利だと思います。

?

[スタートメニューのスタートアップ]
image

  1. [スタート] → [スタートアップ] を右クリック → [エクスプローラ] をクリック
    image
  2. 開いたエクスプローラに [スタート] → [Sarad Software] → [DiCE DynamicDNS Client] をコピーします。
    image
    image
  3. スタートアップに [Dice Dynamic DNS Client] が登録されます。
    image?

これでスタートアップに登録完了です。

[システム構成のスタートアップ]
image

  1. ファイル名を指定して実行から [regedit.exe] を実行します。
  2. [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRum] を開きます。
    image
  3. [新規作成] → [文字列] をクリックします。
    ?image
  4. [新しい値 #1] で [F2] をクリックして、名前を設定します。
    # 名前はスタートアップに表示するための任意のラベルになります。
    image image
  5. 設定した名前をダブルクリックして [値のデータ] に [dice.exe] のフルパスを指定します。
    image

これでシステム構成のスタートアップに登録完了です。

どちらのスタートアップの登録状況もファイル名を指定して実行 → [msconfig] を実行して [スタートアップ] から
確認することができます。
場所が [HKLM] で始まっているものがレジストリに登録したものです。
パス指定になっているのはスタートメニューに登録したものになります。
スタートメニューに登録したものに関しては作業をしたユーザーでログインしないと有効ではありませんが、
レジストリに登録したものは全ユーザーに対して適用されるといった違いがある程度ですのでどちらで登録しても
問題はありません。
image?

これで一度ログオフしてログインすると DiCE が起動してくると思います。
この状態では最大化された状態で DiCE が起動してきますので DiCE の [環境設定] → [オプション] から
[最小化で起動する] を有効にしておいたほうが良いかもしれません。
image?
最小化で起動するにすると通知領域に最小化された状態で起動します。
image

DiCE は常に起動した状態にしておく必要がありますのでサーバーを起動したら一度ログインし、ログインした後は
[ログオフ] はせずに作業を終了する場合は [コンピュータのロック] でログインした状態を維持するのが良いかと思います。
# タスクスケジューラで [コンピュータの起動時] をトリガとして DiCE を起動してもよいかも。

リモートデスクトップについて考える際にも記載しましたがルーター側のファイアウォールの設定があるかと思いますので、
ポート 80 に対してファイアウォールの設定を変更する必要があるかと思います。

[設定完了後のイメージ図]

image

ざっくりとですがこれで動的 IP アドレスでサーバーを公開する手順は完了です。
次は固定 IP と独自 DNS でサーバーを公開する手順をまとめてみたいと思います。

>[Web サーバー立ち上げ体験日記]固定 IP アドレスと独自ドメイン名でサーバーを公開

Written by Masayuki.Ozawa

4月 21st, 2009 at 3:35 pm

[Web サーバー立ち上げ体験日記]SQL Server のデータを Reporting Serivces で表示のイメージ

leave a comment

<[Web サーバー立ち上げ体験日記]IIS のアクセスログを SQL Server に格納

手順は次回まとめようと思っていますが、まずはこんなことを考えていましたという投稿を。

SQL Server 2008 With Advanced Services ではローカルのデータを使用して Reporing Serivces を使用することができます。

また、レポートビルダー 2.0 も無償でダウンロードできますので IIS のアクセスログを SQL Server のテーブルに格納しておけば
以下のようなアクセスログのレポートが簡単に作成できます。

image

ODBC ログで直接 SQL Server に格納するのではなく、テキストのログファイルを LogParser を使用して SQL Server に
格納するようにすれば、安定したデータベースへのログ格納ができるかも。

ログ管理はもう少し考えないと駄目ですね。

スキルチャージプログラムの連絡期限も一カ月を切っていますのでぼちぼちコンテンツのほうも考えていかなくては。

>[Web サーバー立ち上げ体験日記]動的 IP アドレスと Dynamic DNS でサーバーを公開

Written by Masayuki.Ozawa

4月 20th, 2009 at 2:20 pm

[Web サーバー立ち上げ体験日記]IIS のアクセスログを SQL Server に格納

leave a comment

<[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】 そろそろいいことばかりでなく、現実的なことも重要か

手順としては

  1. 役割サービスの追加
  2. SQL Server の設定
  3. ODBC の設定
  4. IIS の設定

になります。

[機能の追加]

ODBC ログを使用するために、IIS に [ODBC ログ] の役割サービスを追加します。

  1. サーバーマネージャ を起動します。
  2. [役割] の [役割サービスの追加] をクリックします。
    image
  3. [状態と診断] の [カスタムログ] [ODBC ログ] を有効にし、[次へ] をクリックします。
    ?image
  4. [インストール] をクリックします。
  5. インストールが完了したら [閉じる] をクリックします。

[ODBC ログ] をインストールすることにより、[C:WindowsSystem32inetsrvlogtemp.sql] が追加され、ODBC ログの
Class ID がレジストリに追加されるようですね。
image?
ODBC ログはカスタム ログとして実装されているのでカスタムログの役割サービスも必要になります。
# カスタムログの一種として実装されているイメージでしょうか。

[SQL Server の設定]

ODBC ログの記録用のデータベースとテーブルを SQL Server 上に作成する必要があります。
また、情報を見たところ SQL Server 認証でないとログを保存できなさそうですので Windows 認証から SQL Server 認証に
変更する必要があります。

  1. SQL Server Enterprise Manager を起動します。
  2. サーバー名を右クリックして [プロパティ] をクリックします。
  3. [セキュリティ] をクリックし、[SQL Server 認証モードと Windows 認証モード] を選択し、[OK] をクリックします。
    image
  4. サーバー名を右クリックして [再起動] をクリックします。
  5. [データベース] を右クリックして [新しいデータベース] をクリックします。
  6. 新しいデータベースを作成します。
    # 今まで気にしていなかったのですが SQL Server 2008 Express の標準 (model データベース) の復旧モデルは [単純] なんですね。
  7. [セキュリティ] を右クリックして [新規作成] → [新しいログイン] をクリックします。
  8. [SQL Server 認証] のログインを作成します。
    image?

    作成するユーザーは [ユーザー マッピング] で作成したデータベースのユーザーとして設定しておきます。
    image

  9. 作成したデータベースにユーザーが追加されていますので右クリックをして [プロパティ] をクリックします。
    image
  10. [データベース ロールのメンバシップ] として [db_datawriter] を設定しておきます。
    image
  11. 作成したデータベースに対して [C:WindowsSystem32inetsrvlogtemp.sql] を実行して ODBC ログ用の
    テーブルを作成します。
    image

[ODBC の設定]

作成したデータベースを使用する ODBC を作成します。

  1. [管理ツール] → [データソース (ODBC)] をクリックします。
  2. [システム DSN] タブの [追加] をクリックします。
  3. ドライバは [SQL Server] を選択し、[完了] をクリックします。
    image
  4. [データソース名]、[サーバー] を入力し、[次へ] をクリックします。
    image?
  5. [ユーザーが入力する SQL Server 用のログイン ID とパスワードを使う] を選択し、作成した SQL Server 認証の
    ユーザ情報を入力し、[次へ] をクリックします。
    image
  6. 既定のデータベースを ODBC ログ記録用のデータベースに設定し、[次へ] をクリックします。
    image
  7. [完了] をクリックします。
  8. [OK] をクリックして ODBC を作成します。

[IIS の設定]

ODBC ログの設定は GUI から行うことはできません。
IIS サービスマネージャでも以下のような画面が表示されます。
image?
[appcmd.exe] を使用するか、[applicationHost.config] を直接修正することによって設定します。
参考にさせていただいた URL の情報にコマンドが載っていますので今回はそれを使って設定してみたいと思います。

  1. コマンドプロンプトで以下のコマンドを実行し、ログの記録方法を [ODBC ログ] に設定します。
    # <サイト名> は ODBC ログを設定するサイト名を入力してください。

    cd %systemroot%system32inetsrv
    appcmd set site /site.name:"<サイト名>" /logFile.customLogPluginClsid:"{FF16065B-DE82-11CF-BC0A-00AA006111E0}"
    appcmd set site /site.name:"<サイト名>" /logFile.logFormat:"Custom"

  2. コマンドプロンプトで以下のコマンドを実行し、ODBC ログに使用する ODBC の情報を設定します。
    # 一部改行されている個所がありますが appcmd は一行で入力してください。また <> の個所は各情報を入力します。

    cd %systemroot%system32inetsrv
    appcmd set config "Default Web Site" /section:odbcLogging /dataSource:"<ODBC 名>" /commit:appHost
    appcmd set config "Default Web Site" /section:odbcLogging /tableName:"<ODBC ログ テーブル名>" /commit:appHost
    appcmd set config "Default Web Site" /section:odbcLogging /userName:"<SQL Server 認証ユーザー名>" /commit:appHost
    appcmd set config "Default Web Site" /section:odbcLogging /password:"<SQL Server 認証ユーザーのパスワード>" /commit:appHost

以上で ODBC ログの設定は完了です。
テーブルを検索したところきちんとレコードが格納されていました。

image

ただし、SQL Server に接続できないと [500] のエラーになってしまうようです…。
image

実運用で使うには少し厳しそうですね。
あと取得項目として [Referer] がないのも気になります。インターネット公開サイトでは欲しいですよねこの項目は。

カスタムログとして自作すると [500] のエラーも回避できるようになるのでしょうか??
# 取得項目は増やせると思いますが。

ODBC ログの設定はできたので、せっかくですから Reporting Service を使ってアクセスログを表示することにチャレンジしたいと思います。
# アクセスログを Reporting Serivce で表示したかったのでSQL Server Express に With Advanced Services を使っています。

>[Web サーバー立ち上げ体験日記]SQL Server のデータを Reporting Serivces で表示のイメージ

Written by Masayuki.Ozawa

4月 19th, 2009 at 3:47 pm

[Web サーバー立ち上げ体験日記]SQL Server 2008 SP1 + CU1 のインストール

leave a comment

<[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 のインストール]

  1. ダウンロードしたセットアップを実行します。
  2. [次へ] をクリックします。
    image
  3. [使用許諾契約書に同意する] を有効にし、[次へ] をクリックします。
    image
  4. すべてのコンポーネントが選択された状態にし、[次へ] をクリックします。
    ?image
  5. 確認が終了したら [次へ] をクリックします。
    image
  6. [更新] をクリックして SP1 を適用します。
    image image
  7. [次へ] をクリックします。
    image
  8. [閉じる]? をクリックしてインストールを完了します。
    ?image

続いて CU1 のインストールです。
# SP1 と手順は同じです。

[Cumulatie Update 1 のインストール]

  1. ダウンロードしたセットアップを実行します。
  2. [次へ] をクリックします。
    image
  3. [使用許諾契約書に同意する] を有効にし、[次へ] をクリックします。
    image
  4. すべてのコンポーネントが選択された状態にし、[次へ] をクリックします。
    image
  5. 確認が終了したら [次へ] をクリックします。
    image
  6. [更新] をクリックして CU1 を適用します。
    image image
  7. [次へ] をクリックします。
    ?image
  8. [閉じる]? をクリックしてインストールを完了します。
    image

これで SQL Server 2008 の最新のアップデートが適用された状態になります。
SQL Server Management Studio で以下のような SQL を実行してバージョンが [10.0.2710.0] となっていれば
アップデート完了です。
image

ついでに SQL Server 2008 の Books Online? (BOL) の最新版をインストールしておくと便利かと思います。
Microsoft SQL Server 2008 オンライン ブック (2009 年 1 月)

SQL Server 2008 Express のインストール直後の状態では、接続方法は [共有メモリ] のみ許可されていますので、
ローカルサーバーでのみ利用するのであれば [TCP/IP] を有効にする必要はないと思います。
# ポート 1433 / 1434 を開く必要もありませんので。
image?
次は勉強を兼ねて、インストールした SQL Server に IIS のログを出力する手順をまとめてみたいと思います。

>[Web サーバー立ち上げ体験日記]IIS のアクセスログを SQL Server に格納

Written by Masayuki.Ozawa

4月 19th, 2009 at 9:14 am

[Web サーバー立ち上げ体験日記]SQL Server 2008 Express のインストール

leave a comment

<[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 との違いは

  • SQL Server 2008 Management Studio Basic。使いやすいグラフィカル管理ツールで、SQL Server 2008 Express を容易に管理できます。
  • SQL Server テーブルのプレーン文字ベースのデータに対するフルテキスト クエリの実行。フルテキスト クエリには、語、句、または複数の形式の語句を含めることができます。
  • ローカル リレーショナル データでの SQL Server Reporting Services レポートの実行。

になります。
Management? Studio / Fulltext Search / Reporting Services のサブセットが入っている感じでしょうか。

インストールすためには

が必要になります。
Windows Power Shell 1.0 はサーバーマネージャの [機能の追加] でインストールすることができますが他のものについては
ダウンロードしてインストールする必要があります。

以降の手順は前提モジュールのインストールが終了した状態からになります。

[SQL Server 2008 Express with Advanced Services のインストール]

  1. 事前に [Users グループ] のローカルアカウントを作成しておきます。
    セットアップでは作成したアカウントをサービスアカウントとして設定します。
  2. ダウンロードしたセットアップを実行します。
  3. [インストール] をクリックします。
    image
  4. [SQL Server の新規スタンドアロン インストールまたは既存のインストールへの機能の追加] をクリックします。
    image
  5. [次へ] をクリックします。
    image
  6. [使用許諾契約書に同意する] を有効にし、[次へ] をクリックします。
    image
  7. [インストール] をクリックします。
    image
  8. Windows ファイアウォールで [警告] が発生しますがこれは無視して [次へ] をクリックします。
    # 今回の SQL Server はローカルでのみアクセスを許可する設定にしますのでファイアウォールで特定のポートの許可もしません。
    image
  9. 必要な機能を選択し、[次へ] をクリックします。
    私は [データベース エンジン サービス] と [Reporting Services] と [管理ツール – 基本] をインストールしています。
    image
  10. インスタンス名を入力し [次へ] をクリックします。
    SQL Server Express の既定のインスタンス名 [SQLEXPRESS] は有名ですので私はインスタンス名を変更しています。
    image
  11. [次へ] をクリックします。
    image
  12. サーバーの構成を入力し、 [次へ] をクリックします。

    サービスのアカウントは作成しておいた [Users グループ] のアカウントを設定しています。
    [SYSTEM] は権限が強すぎるので公開用の SQL Server を構築する場合は控えたほうが良いかと思います。
    また、[SQL Server Browser] は外部に公開しないのであればサービスは起動する必要がありませんので [無効] にしておきます。
    # SQL Server を動的ポート構成にしない限りは [無効] で問題ありません。

    image
    照合順序はお好みで。
    SQL Server 2008 の日本語の最新の照合順序は [Japanese_XJIS_100] です。

    ?image

  13. データベース エンジンの構成を入力し、[次へ] をクリックします。

    [認証 モード] は導入するアプリケーションに依存すると思いますがまずはデフォルトのままで。
    [SQL Server 管理者の設定] については、SQL Server の管理権限 ([sysadmin 権限]) を持つするユーザーを設定します。
    ここで設定したユーザーは SQL Server に対してフルコントロールを持ちます。
    [Administrator] 以外のアカウントも設定できますので、サーバー管理者と SQL Server 管理者を分けたい場合は
    別のユーザーを設定します。
    image?

    デフォルトではすべてのシステムデータベースが [C ドライブ] に作成されます。
    C はシステムドライブのため、データベースは配置したくありません。
    IIS のコンテンツディレクトリ同様、私は別のドライブに全データベースを格納するように設定しています。
    image?

    [FILESTREAM] は使用しませんので無効にしたままにしています。
    image

  14. Reporting Services の構成は後で実施しますのでひとまず [レポート サーバーを構成せずにインストールする] を選択し、
    [次へ] をクリックします。
    image
  15. エラーと使用状況レポートは任意で設定して [次へ] をクリックします。
    # 今回はモニターですのでしたほうがいいのかな~と少し思っていますが…。
    image
  16. [次へ] をクリックします。
    image?
  17. [インストール] をクリックしてインストールを開始します。
    image image
  18. [次へ] をクリックします。
    image
  19. [閉じる] をクリックしてインストールを完了します。
    ?image

これで SQL Server 2008 Express のインストールは終了ですが、現時点の最新バージョンは SP1 + CU1 です。
次は SP1 と CU1 のインストールを行いたいと思います。

>[Web サーバー立ち上げ体験日記]SQL Server 2008 SP1 + CU1 のインストール

Written by Masayuki.Ozawa

4月 19th, 2009 at 8:49 am

[Web サーバー立ち上げ体験日記]IIS のデフォルトサイトの設定変更

leave a comment

<[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] に移動したいと思います。

  1. [サイト] → [Default Web Site] → [Web サイトの管理] → [詳細設定] をクリックします。
    image
  2. [物理パス] を変更し、[OK] をクリックします。
    ? image

以上でコンテンツディレクトリの変更は終了です。
アクセス権の設定は別途まとめたいと思いますので今回は省略で。

[ログディレクトリの変更]
IIS のアクセスログも初期インストール後はシステムドライブ (%SystemDrive%inetpublogsLogFiles) に出力されます。
ログは [E:WebLog] に出力されるように変更したいと思います。

  1. [Default Web Site] を選択します。
  2. [Default Web Site] の [機能ビュー] をクリックします。
    image?
  3. [ログ記録] をダブルクリックします。
    image
  4. ディレクトリを変更し、[適用] をクリックします。
    image?image

以上でログディレクトリの変更は終了です。

[ホストヘッダーの設定]

Windows ServerR 2008 Security Guide を読んでいたところ、[Configure a Unique Binding] についての記載がありました。
セキュリティ上は Web サイトをホストする IP とホスト名 (以前のバージョンのホストヘッダー) は指定したほうがよさそうでした。

以下の手順で設定できます。

  1. [Default Web Site] を右クリックして、[バインドの編集] をクリックします。
    image
  2. デフォルトでは [http] のみ設定されていますので、これを選択して [編集] をクリックします。
    image
  3. IP アドレスが複数ある場合はどの IP を使用するか選択します。
    ホスト名には公開する DNS 名を設定します。
    設定が終了した [OK] をクリックします。
    # 以下の例の場合は http://webkit.local でアクセスすることを想定しています。
    image?
    # デフォルトでは [未使用の IP アドレスすべて] になっていますのでコンピュータ上の全 IP でアクセスできるようになっています。
    image

ホスト名を設定すると IP アドレスでサイトにアクセスしようとしても [404] エラーとなります。
image?
設定変更できる DNS がある場合は DNS の [A レコード] か [CNAME レコード] を設定すればよいのですが、
お手軽にテストをするにはHOSTS ファイルを変更するのが手っ取り早いです。

[C:WindowsSystem32driversetchosts] をメモ帳で開き以下のような設定を追加します。
image?

これでホスト名に設定した URL でアクセスができるようになります。
image

デフォルトサイトを使用する場合はこのあたりの設定は変えたほうがよさそうですね。
# デフォルトサイトをそのまま使用する人は少ないかもしれないですけど。

Web サイト用のソフトを入れる時には大抵データベースが必要になりますので次は SQL Server Express を
インストールしたいと思います。

>[Web サーバー立ち上げ体験日記]SQL Server 2008 Express のインストール

Written by Masayuki.Ozawa

4月 19th, 2009 at 4:01 am

[Web サーバー立ち上げ体験日記]Windows のセキュリティについて考える その 4

leave a comment

<[Web サーバー立ち上げ体験日記]Web Server 2008 にインストールできる無償のウイルス対策ソフトは?

セキュリティでひとつ思い出したことがあったので投稿。
順番がばらばらになり読みづらいかもしれませんがご容赦を。

Windows Server には [セキュリティの構成と分析] という機能があったことをふと思い出しました。
Windows Server 2008 でも MMC のスナップインとして [セキュリティの構成と分析] があります。

image
Windows Server 2003 では [C:WindowsSecurityTemplates] セキュリティのテンプレートが用意されていました。
image?
しかし、Windows Server 2008 ではデフォルトで用意されているテンプレートはありません。

image

TechNet にもこのことは明記されています。
Windows Server 2008 のサーバーのセキュリティ ポリシーの管理

image

そうはいってもテンプレートがないと参考値がわからないですよね…。
試してみたところ Windows Server 2003 の定義済みのセキュリティテンプレートをそのまま利用することができました。
[セキュリティの構成と分析] は以下の操作で実行することができます。
# 事前に Windows Server 2003 の [C:WindowsSecurityTemplates] を Windows Server 2008 にコピーしています。

  1. [mmc.exe] を実行します。
  2. [ファイル]→[スナップインの追加と削除] を実行します。
  3. [セキュリティの構成と分析] を選択し、[追加]をクリックし、[OK] をクリックします。
    image
  4. [セキュリティの構成と分析] を右クリックし、[データベースを開く] を選択します。
    image
  5. [ファイル名] に適当な名称を入力し、[開く] をクリックします。
  6. [テンプレートのインポート] が表示されるので Windows Server 2003 からコピーしたテンプレートを選択します。
    image
  7. [セキュリティの構成と分析] を右クリックし、[コンピュータの分析] を選択します。
    image
  8. [OK] をクリックします。
    image
  9. テンプレートの内容と現状の設定を比較することができます。
    image

これを使用するとセキュリティの考慮事項が見えるかと思います。
# [コンピュータの構成] を選択するとテンプレートの内容を実際に設定してくれます。
??? 確認のメッセージボックスは表示されずにいきなり設定されますのでご注意ください。

Windows Server 2008 のセキュリティテンプレートですが
Get the Windows Server 2008 Security Guide
にサンプルが含まれています。
このガイドには IIS についても記載がありますので、IIS のセキュリティ設定で参考にしたいと思います。

ぼちぼち IIS の設定を少ししてから公開のための作業手順をまとめたいと思います。

>[Web サーバー立ち上げ体験日記]IIS のデフォルトサイトの設定変更

Written by Masayuki.Ozawa

4月 18th, 2009 at 3:00 pm