SE の雑記

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

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

[Web サーバー立ち上げ体験日記]SP2 を適用

leave a comment

自宅の他のサーバーには TechNet/MSDN に SP2 が公開されたタイミングでダウンロードして適用していたのですが
Web サーバー導入キットでモニターしているサーバーには適用していないことに週末気づきました…。

ということで土曜日にインストールしてみました。

今のところ問題もなく Web サイトも順調に動作しています。

適用中はルーターの設定を変更して一時的に別サーバーで Web サイトを動作するようにし、404 ページで
メンテナンス中のお知らせを表示するように設定変更しては見たのですが、メンテナンスの運用手順を
自分なりに整理しておく必要があるな~と感じました。

メンテナンス中のお知らせページも IIS 7 の Welcome ページに一文追加した味気ないものを
表示していただけですので、時間がある時に少しメンテナンスしたいです。

Written by masayuki.ozawa

6月 7th, 2009 at 3:23 pm

[Web サーバー立ち上げ体験日記]サーバーがダウンしていました…

leave a comment

正確にはサーバーではなくサーバーと通常使用しているネットワークの間に置いているゲートウェイがダウンしていました…。

サーバーは通常使用している PC とは別のセグメントに置いているのですが間に置いているルーターがダウンして、サーバーにつながらない状態となっていました。

5/11 以降は特にダウンしていなかったので油断していました。
連続稼働時間は 3 週間弱でストップです。

きちんとネットワーク環境を整備する必要があると感じた一日でした。

Written by masayuki.ozawa

5月 28th, 2009 at 1:17 pm

[Web サーバー立ち上げ体験日記]ログ管理 その 2

leave a comment

IIS のログ解析をするのに Log Parser が便利です。

Log Parser 2.2 日本語版

IIS 7.0 のバイナリ形式のログのヘルプにもこのツールが紹介されていますね。

このログ ファイル形式からデータを抽出するには、LogParser 2.2 などのツールを使用する必要があります。

まずはインストールの手順からまとめてみたいと思います。

[インストール手順]

  1. ダウンロードしたモジュールを実行します。
  2. [次へ] をクリックします。
    image
  3. [使用許諾契約書に同意します] を選択し、[次へ] をクリックします。
    image
  4. [完全] をクリックします。
    image
  5. [インストール] をクリックします。
    image image
  6. [完了] をクリックします。
    image

これでインストールは完了です。
スタートメニューに Log Parser が追加されています。
image

 

[Log Parser 2.2] を実行するとプロンプトが立ち上がります。

image

このツールを使用して IIS のアクセスログを解析することができます。
Google Analytics でアクセス解析をしていると自サーバーのログを解析する機会は少ないかもしれませんが、
自分用途に合わせて多角的に解析することができます。

[アクセス元の IP の一覧取得]
LogParser.exe "SELECT [date], [c-ip], COUNT([c-ip]) FROM <ファイル名> GROUP BY [date], [c-ip] ORDER BY [c-ip] ASC" -q:on -o:csv

[アクセス元の URL の一覧取得]
LogParser.exe "SELECT [date], [time],[c-ip],[cs(Referer)],[sc-status] FROM <ファイル名>" -q:on -o:csv

 

CSV 形式に変換して出力もできますので、アクセスログを CSV に出力して SQL Server の [BULK INSERT] や [bcp.exe] を
使用してテーブルに取り込み Reporting Services でレポートを成形すると面白いかな~と考えています。

Written by masayuki.ozawa

5月 17th, 2009 at 2:48 am

[Web サーバー立ち上げ体験日記]少しですがドキュメントを作成してみました

leave a comment

スキルチャージプログラムのサーバー公開まで残り 1 週間を切りました。

私はこれといった目玉コンテンツを載せられていないのですがひとまず公開し、マイクロソフトさんに連絡完了。
ルーターの設定を少し間違えていたため、たまにつながらないことがあったのですがどうにか本日まで稼働しています。
# Google のウェブマスターツールでクロール状況を確認していた時に 404 エラーが出ていることに気付きました。

フォーラムを見ていると公開に苦労されている方もいらっしゃり何かお力になれないかと思って虎の巻と
あまり内容は変わらないのですが公開手順のドキュメントを少し作成し SkyDrive に置いてみました。

スキルチャージプログラム

重要な個所の記述レベルが薄いのであまり参考にはならなさそうですが…。

Written by masayuki.ozawa

5月 9th, 2009 at 2:33 am

[Web サーバー立ち上げ体験日記]ログ管理 その 1

leave a comment

昨日の投稿から Web サーバー導入キットと LiveSpace に同一の内容を投稿するようにしています。
# 単純に両方に投稿しているだけですが。
ブログは LiveSpace を使い続けようと思うのですが勉強を兼ねて Web サーバー導入キットでも立ち上げています。

今朝から URL を公開してサーバーは運用テストを行っているのですが、IIS のアクセスログ管理に関してそろそろ
考えていこうと思います。

IIS のアクセスログはデフォルトでは [%SystemDrive%inetpublogsLogfiles] に保存されるようになっています。
%SystemDrive% は通常 C ドライブになりますので C ドライブ内にどんどんログが蓄積されていきます。

以前も投稿したのですが私は C ドライブにファイルを置くのが嫌なので場所を移動しています。

[ログファイルの移動]

  1. [インターネット インフォメーション サービス (IIS) マネージャ] を実行します。
  2. サイトを選択し、[ログ記録] をダブルクリックします。
    image
  3. ディレクトリ名を変更ます。
    image
  4. 操作ウィンドウの [適用] をクリックします。
    image

これでログファイルの保存場所の変更は終了です。

デフォルトのログファイルの形式は [W3C] になっているはずですが、デフォルトの状態では [参照者(cs(Referer)] が
取得されていません。

この情報が取得されていないとリンクからページのアクセスされた際にどこから来たのかが出力されません。
この項目も取得するように設定したいと思います。

[取得項目の設定]

  1. [インターネット インフォメーション サービス (IIS) マネージャ] を実行します。
  2. サイトを選択し、[ログ記録] をダブルクリックします。
  3. [フィールドの選択] をクリックします。
    image
  4. [参照者 ( cs(Referer) )] を有効にし、[OK] をクリックします。
    image
  5. 操作ウィンドウの [適用] をクリックします。

これでどのページから遷移されてきたのかが取得できます。
今日半日取得したログでは以下のような内容が取得されていました。

http://engineer-memo.spaces.live.com/blog/
http://engineer-memo.spaces.live.com/blog/cns!DEC1C75BCA0DCEB2!1886.entry
http://engineer-memo.spaces.live.com/default.aspx

公開しましたという記事で URL を公開しましたのでそこから遷移してきたということがこれからわかると思います。

 

IIS 7.0 からは [ファイル名およびロールオーバーに地域設定を使用する] という設定が追加されています。
既定ではログファイルのファイル名と次のログファイルに切り替わるタイミングは UTC (協定世界時) が使用されます。
日本は [+ 9:00] ですのでファイル名とファイルが切り替わるタイミングは実際に使用している時間と差が出ます。
# ファイルの切り替えタイミングは [毎時間] [毎日] [毎週] [毎月] から選択できますが地域設定を使用しないと 
  00:00 には切り替わりません。 (デフォルトでは 15:00 に切り替わるかと)
注意点としては、ファイルの切り替えタイミングは地域設定に基づいて行われますがファイル内の時間については
UTC から変更できませんので、こちらに関しては確認するときは 9 時間プラスする必要があります。

[ファイル名およびロールオーバーに地域設定を使用する]

  1. [インターネット インフォメーション サービス (IIS) マネージャ] を実行します。
  2. サイトを選択し、[ログ記録] をダブルクリックします。
  3. [ファイル名およびロールオーバーに地域設定を使用する] を有効にします。
    image
  4. 操作ウィンドウの [適用] をクリックします。

ファイルのロールオーバーはあくまでもファイルの切り替えだけですのでこのままではファイルは蓄積されます。

PowerShell を使うとサクッとできそうですが私はコマンドプロンプトでバッチを作ることが多かったので、
今回はログファイルを圧縮して削除するバッチを作りたいと思います。

[ログファイルの圧縮 / 削除]

ログファイルの圧縮、削除は以下のバッチファイルで実行することができます。

[IISLogClrear.bat]

@ECHO OFF
SETLOCAL
REM 以下のディレクトリはログファイルの保存場所に応じて変更します。
SET LOGDIR=E:LogFilesW3SVC1

REM ファイルを CAB 形式で圧縮します。 /D –1 で 1 日前までのファイルを 1 ファイルずつ圧縮しています。
forfiles /P %LOGDIR% /M *.log /D -1  /C "cmd /C makecab @path @fname.cab"

REM 圧縮した時と同じ指定でコマンドを del に変更し、圧縮対象となったファイルを削除します。
forfiles /P %LOGDIR% /M *.log /D -1  /C "cmd /C del @path"

このバッチを実行すると 前日分までのログファイルを CAB 形式で圧縮して削除できます。

あとはこのバッチをタスクスケジューラに登録すれば定期的にログのクリアが実行できます。

  1. [管理ツール] → [タスク スケジューラ] をクリックします。
    image
  2. 操作ウィンドウの [基本タスクの作成] をクリックします。
    image
  3. [名前] を入力し、[次へ] をクリックします。
    image
  4. 実行タクトを指定して [次へ] をクリックします。
    ログクリアは毎日実行したいので今回は [毎日] に設定しています。
    image
  5. 実行するタイミングを指定します。
    私は夜間バッチとして実行したいので [0:30] にしています。
    image
  6. [プログラムの開始] を選択し、[次へ] をクリックします。
    image
  7. 先ほど作成したバッチを選択し、[次へ] をクリックします。
    image
  8. [完了] をクリックします。
    image

これでタスク スケジューラ ライブラリに登録したタスクが追加されます。
image 
デフォルトの状態では [ユーザーがログオンしているときのみ実行する] 設定になっています。
タスクを右クリックしてプロパティを開いてログオンしてなくても実行されるように設定しておきます。
# タスクは登録を行ったユーザーで実行するように作成されます。変更時には実行ユーザーのパスワード入力のダイアログが表示されます。

image
image

タスクを右クリックし、[実行する] をクリックしてテストで実行したいと思います。

[実行前]
image

[実行後]
 image

ファイルが圧縮されていることが確認できます。
# この投稿は 5/1 に書いていますので 4/30 が圧縮されています。forfiles はファイルの最終更新日時をもとに処理をします。

登録をコマンドで行う場合はコマンドプロンプトで以下を実行します。

schtasks /create /SC DAILY /TN “IIS ログクリア” /TR “E:ToolsLogIISLogCrear.bat” /ST 00:30 /NP

# コピーすると “ が全角になってしまうようですので貼り付けて使用される場合は ” を半角に打ち直してください。

これで自動でログの圧縮 / 削除を行い、ディスク容量を節約することができます。

IIS のログ管理には Log Parser が便利なので次はこちらを導入してみたいと思います。

Written by masayuki.ozawa

5月 1st, 2009 at 1:10 pm

[Web サーバー立ち上げ体験日記]ひとまず仮公開

leave a comment

インターネットに公開して様子を見たいので構築したサーバーを仮公開してみました。
 
SEの雑記
 
頻繁にシャットダウンしていたりしますのでつながらないことが多々あると思います…。
また、本モニターの期限の日に一度きれいな状態にするかもしれないです。

Written by masayuki.ozawa

5月 1st, 2009 at 12:05 am

[Web サーバー立ち上げ体験日記]Community Server をいろいろカスタマイズ

leave a comment

日本語化に続いていろいろとカスタマイズしたいと思います。
まずは覚書として変更点をまとめてみました。

[ID 登録の制限]

ID 登録を自由にできないように制限

  1. [コントロールパネル] → [メンバーの管理]
  2. [Configuration] → [Account Settings] → [Registration Settings]
  3. [Allow New User Registration] を [いいえ] に設定

[登録のリンクを削除]

ID 登録を無効にしたので右上のメニューから削除

image

  1. [使用しているテーマCommonUserWelcome.ascx] を開く
  2. 以下のコントロールを無効化
    <CSControl:SiteUrl runat="server" UrlName="user_Register" Parameter1="" ResourceName="register">

    </CSControl:SiteUrl>

image

[サイイン画面のカスタマイズ]

サイイン画面の [パスワードを忘れた / 登録をしてください] を無効化

image

  1. [使用しているテーマCommonlogin.aspx] を開く
  2. 以下のコントロールを無効化
    <div class="CommonContentBoxFooter">

    </div>

image

[タイトルの変更]

サイトのタイトルを変更

image

  1. [コントロールパネル] → [サイトの管理]
  2. [Setup] → [Basic Site Configuration]
  3. [Site Name] / [Site Description] を変更

image

[ホームのメッセージを変更]

Welcome メッセージを変更

image

  1. [コントロールパネル] → [サイトの管理]
  2. [Site Theme] → [Site Content] → [Site Theme] → [Home Page]

image

[ユーザーの作成]

通常利用のためのユーザーを作成
# 管理者は管理専用に使用してブログの投稿等は作成したユーザーで行うため。

  1. [コントロールパネル] → [メンバーの管理]
  2. [Members and Roles] → [Create New Account]

[ユーザーの名称を変更]

作成したユーザーの表示名をログイン名にしないように名前を設定

  1. 作成したユーザーでログイン
  2. [編集]
  3. [名前] を設定する

[作成したユーザーのブログを作成]

作成したユーザー用のブログを作成

  1. [コントロールパネル] → [ブログ管理]
  2. [Create New Blog]
  3. [Authors] に作成したユーザーを設定してブログを作成

[ブログのテーマを変更]

ブログのテーマを変更

  1. [コントロールパネル] → [作成したブログの管理]
  2. [ブログのデザインを変更する]
  3. [Available themes] を変更

image

[ブログのユーザー登録のリンクを削除]

ID 登録を無効にしたので右上のメニューから削除

image

  1. [UtilityUserControlsUserWelcome.ascx] を開く
  2. 以下のコントロールを無効化
    <CSControl:SiteUrl runat="server" UrlName="user_Register" Parameter1="" ResourceName="register">

    </CSControl:SiteUrl>

image

[ホームの新着情報を削除]

新規ログインの登録もホームの新着情報に表示されるので削除

  1. [使用しているテーマCommonhome.aspx] を開く
  2. 以下のコントロールを無効化
    <CSMessage:ActivityMessageList runat="server" ShowHeaderFooterOnNone="false">

    </CSMessage:ActivityMessageList>

[ブログのメール通知を無効化]

image

  1. [コントロールパネル] → [作成したブログの管理]
  2. [ブログのデザインを変更する]
  3. [Sidebar] → [Syndication] → [Configure] → [Enable Subscription Form] を無効

Written by masayuki.ozawa

4月 29th, 2009 at 3:06 pm

[Web サーバー立ち上げ体験日記]Community Server の日本語化

leave a comment

スキルチャージ プログラムの公開期限まで残り 2 週間程になりましたので公開用に Community Server を
日本語化したいと思います。

[日本語化]

Community Server は英語です。しかし私は英語は苦手です…。
日本語リソースを公開してくださっている方がいらっしゃいますのでそちらを使用させていただこうと思います。
# 日本語リソースは USERS GROUP で公開されているものを使用させていただきました。
  Community Server 2008.5 日本語リソース

  1. ダウンロードしたファイルを [Languages] ディレクトリに保存します。
    image
  2. [languageslanguages.xml] をテキストエディタで開きます。
  3. 以下の内容を追加し [UTF-8] 形式で保存します。

    <language name="Japanese" key="ja-JP" />

    # <language name="U.S. English" key="en-US" />   の下に追加します。
    image

  4. Community Server のインストールディレクトリの [CommunityServer.config] をテキストエディタで開きます。
  5. 以下の変更をし [UTF-8] 形式で保存します。

        <Core
            defaultTheme="hawaii"
            defaultLanguage="en-US"
            disableEmail="false"
            disableIndexing="false"
            disableThreading="false"

        <Core
            defaultTheme="hawaii"
            defaultLanguage="ja-JP"
            disableEmail="false"
            disableIndexing="false"
            disableThreading="false"
    に変更します。

以上で日本語化は終了です。
Community Server のトップページを開くと日本語化されていることが確認できると思います。
image

[タイムゾーンの変更]

初期設定ではタイムゾーンは [(GMT -08:00) Pacific Time (US & Canada)] に設定されていますので
これを日本の設定に変更します。

タイムゾーンの設定はコントロールパネルで行います。
コントロールパネルを使用するにはインストール時に設定したユーザーでログインすると使用できます。

image

  1. [コントロールパネル] → [サイトの管理] をクリックします。
     image
  2. [Setup] をクリックします。
    image
  3. [Basic Site Configuration] の [Time Zone] を変更し [保存] をクリックします。
    image
    image
    [Date Format] と [Time Format] はお好みに合わせて変更します。

[テーマのコピー]

日本語化ではないですが、今後テーマもカスタマイズしようと思っていますので、デフォルトの [hawaii] の
コピーを作成したいと思います。

  1. [インストールディレクトリThemeshawaii] のコピーをディレクトリ内に作成します。
    今回は [Engineer-Memo] としてコピーしました。
     image
  2. コピーしたディレクトリ内の [theme.config] をテキストエディタで開き [hawaii] となっている個所を
    コピーしたディレクトリ名 (今回であれば Engineer-Memo) に置き換えます。
  3. Community Server に管理者でログインしコントロールパネルを開きます。
  4. [システム管理] → [サイトの管理] をクリックします。
  5. [Site Theme] をクリックします。
    image
  6. プルダウンから作成したテーマを選択し [保存] をクリックします。
     image

無理やりな気もしますがひとまずこれでカスタマイズ用のテーマを作成することができました。

後は公開に向けて機能の制限等をしてみたいと思います。

Written by masayuki.ozawa

4月 29th, 2009 at 11:38 am

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

leave a comment

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

最後に Community Server をインストールします。

まずは Web Install 版から実施したいと思います。

[Web Install 版]

  1. ダウンロードしたモジュールの [Web] ディレクトリをサイトに設定したディレクトリに展開します。
    image image
  2. [Installer] ディレクトリの [default.aspx] をテキストエディタで開きます。
  3. 以下の変更を行い保存します。

    InstallerEnabled = false;

    InstallerEnabled = true;
    に変更
  4. ブラウザで [http://localhost/installer/default.aspx] にアクセスします。
  5. [Next >] をクリックします。
    image
  6. [I Agree] を有効にし、[Next >] をクリックします。
     image
  7. SQL Server 名を入力し、[Windows Authentication] を選択し、[Next >] をクリックします。
    # 名前付きインスタンスを使用している場合はサーバー名インスタンス名 (localhostSQLEXPRESS)になります。
     image
  8. データベースを選択し、[Next >] をクリックします。
    データベース作成時に既定のデータベースを設定しているので Community Server 用でデータベースが
    選択されているはずです。
     image
  9. [Script ASP.NET MemberRoles ] [Create Sample Data] を有効にし、[Next] をクリックします。
     image
  10. 管理者ユーザーのユーザー情報を入力し、[Next >] をクリックします。
    メールアドレスは実際に送信できないものでも問題ありません。
    image 
    Community Server 用のデータベースに EXECUTE 権限を設定していないと [Next >] をクリックすると
    以下の画面のエラーが発生します。
    image
  11. テキストエリアに表示されている内容をコピーします。
    image
  12. サイトのディレクトリにある [connectionStrings.xml] をテキストエディタで開きます。
  13. <connectionStrings></connectionStrings> をコピーした内容に置き換え保存します。
     image
  14. [Installer] ディレクトリの [default.aspx] をテキストエディタで開きます。
  15. 以下の変更を行い保存します。

    InstallerEnabled = true;

    InstallerEnabled = false;
    に変更

    # Instller ディレクトリ毎削除しても可です。

  16. [SQL Server Management Studio Express] を起動します。
  17. [新しいクエリ] をクリックし、作成したデータベースを選択した状態にします。
  18. 以下のクエリを実行します。

    USE [データベース名]
    GO
    REVOKE EXECUTE TO [コンピュータ名ユーザー名]
    GO

    [実行例]
    USE [App]
    GO
    REVOKE EXECUTE [TESTSERVERAppPoolUser]
    GO

     

    REVOKE ~ はインストールが完了し、データベースレベルの EXECUTE は不要なため設定を解除しています。

[MSI 版]

手順を一通り作成し終わってから気づいたのですが、 MSI 版でインストールすると事前に作成したデータベースや
アプリケーションプールは使用されません…。
インストーラーの中でデータベースを作成したり、[CommunityServerAppPool] というアプリケーションプールが使用されます。

  1. ダウンロードした [.msi] のモジュールを実行します。
  2. [Next >] をクリックします。
    image
  3. [Next] をクリックします。
    image
  4. [I Agree] を選択し、[Next >] をクリックします。
    image
  5. [Just me] を選択し、[Next] をクリックします。
    image
  6. [Next] をクリックし、モジュールをインストールします。
    image image
  7. ウィザードが起動したら [Next] をクリックします。
    image
  8. [Use existing web site] からインストールするサイトを選択し、[Install to root folder] を選択し [Next >] をクリックします。
    デフォルトは [Install to virtual folder] で [cs] が選択されていますが今回はルートにインストールします。
     image
  9. [はい] をクリックします。
    image
  10. SQL Server の情報を入力し、[Next >] をクリックします。
     image  MSI 版だと新規データベースの作成出ないと駄目なようですね。
    既存のデータベースを設定すると以下のダイアログが表示されます。
    image
  11. データベースを作成できるユーザーを指定し、[Next >] をクリックします。
    image
  12. 管理者ユーザーの情報を入力し、[Next >] をクリックしインストールを開始します。
    image image
  13. [Finish] をクリックします。
    image
  14. [Close] をクリックします。
    image

 

以上でインストールは完了です。

[http://localhost/default.aspx] にブラウザでアクセスすると Community Server が表示されます。

image

これで Community Server のインストールは終了です。

ブログ / Wiki / フォーラムがあるのでこれでいろいろと情報を載せていくことができそうです。

Written by masayuki.ozawa

4月 26th, 2009 at 11:43 am

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

leave a comment

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

SQL Server の設定になります。
SQL Server の設定は [SQL Server Management Studio Express] で実施します。

[データベースの作成]

Community Server 用のデータベースを作成します。

  1. [SQL Server Management Studio Express] を起動します。
  2. SQL Server にログインします。
  3. [データベース] を右クリック → [新しいデータベース] をクリックします。
     image
  4. [データベース名] を入力し、[OK] をクリックし、新規データベースを作成します。
    image 

[ログインの作成]

SQL Server では [Windows 認証] を設定していますので、アプリケーションプールのアカウントで
SQL Server に接続ができるように設定します。

image

  1. [SQL Server Management Studio Express] を起動します。
  2. SQL Server にログインします。
  3. [セキュリティ] → [ログイン] を右クリック → [新しいログイン] をクリックします。
    image
  4. [Windows 認証] を選択し、[検索] をクリックしてアプリケーションプールに使用しているユーザーを設定します。
    既定のデータベースも作成したデータベースに設定しておきます。
     image
  5. [ユーザーマッピング] を選択します。
  6. 作成したデータベースのマップを有効にし、以下のデータベース ロール メンバシップを設定します。
    db_datareader

    db_datawriter

    db_ddladmin

    db_securityadmin

    image

[データベース権限の設定]

インストール時にはストアドプロシージャが実行されます。
実行されるストアドプロシージャはこの段階では作成されていません。
現在の設定ではデータベースのデータの読み込み / 書き込み / オブジェクトの作成 / 権限の設定はできますが
ストアドプロシージャの実行権限はありませんので手動で設定する必要があります。

  1. [SQL Server Management Studio Express] を起動します。
  2. [新しいクエリ] をクリックし、作成したデータベースを選択した状態にします。
    image
  3. 以下のクエリを実行します。
    USE [データベース名]
    GO
    GRANT EXECUTE TO [コンピュータ名ユーザー名]
    GO

    [実行例]
    USE [App]
    GO
    GRANT EXECUTE [TESTSERVERAppPoolUser]
    GO

これで SQL Server の設定は完了です。
最後に Community Server のインストールです。

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

Written by masayuki.ozawa

4月 26th, 2009 at 11:28 am