Server OS Cafe -8ページ目

Server OS Cafe

Server OSの紹介等

Virtual Machine Manager(virt-manager)はGUIでゲストOSをインストールするツールでしたが

virt-installというコマンドラインでゲストOSをインストールするツールも提供されていますので

そちらも試してみることにします。


【準備】

Virtual Machine Managerの時と同じです。

1. xendを起動

2. 今回はapacheでインストーラーを公開するのでhttpdを起動し

/var/www/html(apacheのルートディレクトリ)の下にAsianuxというディレクトリを作成し

この下にAsianuxのインストールCDの中味を全てコピー。

(Asianuxは3枚のインストールCDで構成されていますが一つにまとめておきます)


【インストール手順】

1. virt-installコマンドを実行し今回作成するDomainUの情報を入力します。


  # virt-install

What is the name of your virtual machine? Asianux
How much RAM should be allowcated (in megabytes)? 500
What would you like to use as the disk (path)? /xen/Asianux
How large would you like the disk (/xen/Asianux) to be (in gigabytes)? 8
Would you like to enable graphics support? (yes or no) no
What is the install location? http://192.168.0.173/Asianux


Starting install...


設定内容は上から

仮想マシン名・・・Asianux

DomainUが使用するメモリサイズ(単位:MB)・・・500

ゲストOSのインストール先・・・/xen/Asianux (今回はイメージファイルにインストールします)

ゲストOSのイメージファイルのサイズ(単位:GB)・・・8

 グラフィカルサポートの有効・無効・・・無効

インストールソースの場所・・・http://[Domain0のIPアドレス]/Asianux

(【準備】で/var/www/html/Asianux下にインストールCDをコピーしたので)

 上記は対話型で設定した場合ですが、以下の用にコマンドライン引数で指定することもできます。


# virt-install -n Asianux -r 500 -f /xen/Asianux -s 8 --nographics -l http://192.168.0.173/Asianux


ちなみ--helpで見たところvirt-installの引数には以下のものがありました。

-h,-help:引数の一覧とその説明の表示

-n,--Name:仮想マシン名

-r,--ram:メモリ容量(単位:MB)

-u,--UUID:DomainUのUUID、指定しなかった場合はランダムに割り当てられる

-f,--file:イメージファイルをフルパスで指定

-s,--file-size:イメージファイルのサイズ(単位:GB)

-m,--mac:DomainUの仮想NICのMACアドレス、指定しなかった場合はランダムに割り当てられる

-b,--bridge:DomainUの仮想NICを指定、指定しなかった場合はデフォルト(xenbr0)が使用される

--vnc:グラフィカルインストールでVNCを使用

--vncport:VNCを使用する際のポート番号

--sdl:グラフィカルインストールでSDLを使用

--nographics:グラフィカルインストールを行わない(=テキストインストールを行う)

--noautoconsole:自動的にゲストのコンソールに接続しないようにする

-v,-hvm:完全仮想化の場合に指定

-c,--cdrom:完全仮想化の場合でCD-ROMからインストールを行う場合にインストールメディアのPATHを指定

-p,--paravirt:準仮想化の場合に指定

-l,--location:準仮想化の場合にインストールソースのPATH(nfs or http or ftp)を指定

-x,--extra-args:準仮想化のインストーラーに渡す引数を指定

(キックスタートインストールの時にks.cfgを引数指定したりするのに使うのでしょう)

-d,--debug:デバッグ情報を表示


※引数の説明は--helpで表示された英文を日本語訳したものです。

全ての引数を試してはいないので間違っているものもあるかもしれません


今回は「Would you like to enable graphics support? (yes or no)」で「no」を指定したので

テキストモードでのインストールとなります。


2. コンソール内でテキストモードでインストールが開始されます。


Asianux_Xen_text1


今回は第二ステージもテキストインストールで実施されます。


Asianux_Xen_text2

3. インストール完了後、[再起動]をクリックするとVirtual Machine Managerの場合と同様に

DomainUが終了します。


Asianux_Xen_text3


4. ここで今回作成されたDomainUの設定ファイル/etc/xen/Asianuxをviで開きます。

するとVirtual Machine Managerを使用した時と異なり、vfb(仮想フレームバッファ)の設定が抜けているので

以下の一文を追加します。


vfb = ["type=vnc,vncunused=1"]


5. 以下のコマンドを実行しDomainUを開始します。


  xm create -c /etc/xen/Asianux



なお、virt-installでも対話型の場合に[Would you like to enable graphics support? (yes or no)]でyesを

入力するか、引数指定の場合に--vncか--sdlを指定することでグラフィカルインストールを行うことができます。

その場合はVirutal Machine Managerを使用する場合と同じ手順でゲストOSのGUIインストールが行われます。


【VNCを使用してGUIインストールを行う手順】

1. 以下のコマンドを実行しvncserverを起動


# vncserver

You will require a password to access your desktops.

Password:
Verify:

New 'localhost.localhostdomain:1(root)' desktop is localhost.localdomain:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log


2. virt-installコマンドで[Would you like to enable graphics support? (yes or no)]と聞かれた時にyesを入力。

3. vncviewerが自動的に起動しゲストOSのインストールが始まります。

Virtual Machine Managerの時と同様に第一ステージはテキストインストールで、


Asianux_Xen_vnc1


第二ステージがGUIインストールになります。

  
Asianux_Xen_vnc2


4. インストールが終了したところで[再起動]をクリックするとDomainUは終了しvncviewerも終了します。


Asianux_Xen_vnc3


5. この場合は設定ファイルの変更は必要ありません。

xm create -c [設定ファイル]でDomainUを開始します。


まあGUIインストールを行うのであれば、あえてVirtual Machine Managerではなくvirt-installを使う理由はない

ので、virt-installを使用する場合は普通はテキストモードで行うことになると思います。


関連記事:

[Asianux3RC]Xen:virt-managerを使用してゲストOSをインストール

[Asianux3RC]Xen:virt-managerを使用してゲストOSをインストール 2

[Asianux3RC]Asianux Server 3 RCのインストール


前回のXen:virt-managerを使用してゲストOSをインストール ではパッケージインストールのところで

止まってしまいましたが、その時のapacheのエラーログから考えてインストールディスクは1枚でないと

いけないのではないかと思い、1枚にして再実行してみました。


【手順】

・Asianux Server 3のインストールディスクの1枚目をCD-ROMドライブに挿入し

ディスクの中のファイル/ディレクトリ全てを/var/www/html/Asianuxに

コピーします。


・インストールディスクの2枚目と3枚目のRPMSディレクトリの下にある全てのRPMファイルを

/var/www/html/Asianux/Asianux/RPMSディレクトリにコピーします。


この状態で再度インストールを行います。

インストール手順は前回 の手順7以降と全く同じです。


すると今度はパッケージのインストールを行うことができました。


    Asianux_Xen_17.JPG

では続きをやります。


19. 最後までインストールが完了しました。

再起動をクリックするとDomainUは再起動ではなく終了します。


     Asianux_Xen_18.JPG


20. /etc/xen下を見るとDomainUの設定ファイル(今回は「Asianux」)が以下の内容で作成されていることが

分かります。


# Automatically generated xen config file

name = "Asianux"

memory = "500"

disk = [ 'tap:aio:/xen/Asianux,xvda,w' ]

vif = [ 'mac=00:16:3e:64ed4:53, bridge=xenbr0' , ]

vfb = ["type=vnc,vncunused=1"]

uuid = "daof6002-fb1b-3bda-398b-beadb91f7f44"

bootloader="/usr/bin/pygrub"

vcpus = 1

on_reboot = 'restart'

on_crash = 'restart'


設定ファイルの内容の詳細についてははレッドハットのRHEL5 仮想化ガイド 17.1 XM設定ファイル

参照するのが良いでしょう。


21. 以下のコマンドを実行しDomainUを開始します。


# xm create -c /etc/xen/Asianux


22. コンソール内でGRUBの画面が表示されますのでXen用カーネルを選択します。


     Asianux_Xen_20.JPG


Asianux Server 3では通常のカーネルがデフォルトになっていますが

通常のカーネルを選択するとエラー終了してしまうので注意します。

→後でゲストOSの/boot/grub/grub.confの設定を変更し、Xen用カーネルのみ起動するようにしておきます。


23. Virtual Machine Manager(virt-manager)を起動するとDomainUが既に画面上に表示されていますので

選択してダブルクリックします。


    Asianux_Xen_21.JPG


24 ゲストOSが表示されます。


    Asianux_Xen_19.JPG


Vitual Machine Managerが登場した当初はコンソール内のマウスポインタと実機のマウスポインタが

別々に表示されていて使いにくかったのですが、現在ではVirtual Machine Managerのコンソール内を

クリックするとマウスポインタが1つになり(そしてVitual Machine Managerのコンソール内でのみマウスポインタ

が動くようになり)、Ctrl + AltでVitual Machine Managerのコンソールからマウスポインタが出るというVMWareと

同じ使い勝手に進化しています。


関連記事:

[Asianux3RC]Xen:virt-managerを使用してゲストOSをインストール

[Asianux3RC]Xen:virt-installを使用してゲストOSをインストールする

さてAsianux Server 3の目玉の一つが仮想化ということで、早速Xen を使ってみたいと思います。

今回はVirtual Machine Manager(virt-manager) を使用してDomainUにゲストOSをインストールしてみます。

本当はFull Virtualization(完全仮想化)にしてWindowsを入れたいところなのですが

生憎私の手元にはIntel-VTに対応したCPUを搭載したマシンが無いので

Para Virtualization(準仮想化)でAsianux Server 3をゲストOSとしてインストールしてみます。


【手順】

1. Asianux Server 3をXen用カーネルで起動

GRUBのメニューでXen用カーネルを選択します。


Asianux_Grub_Xenカーネル

2. rootでログイン

3. xendを起動し、またランレベル3もしくは5の時に自動起動するように設定します。


/sbin/service xend start

chkconfig --level 35 xend on


4. apacheのルートディレクトリの下にAsianuxディレクトリを作成します。


mkdir /var/www/html/Asianux


5. Asianux Server 3のインストールCDの1枚目を入れて4で作成したディレクトリにマウントします。


mount /dev/cdrom /var/www/html/Asianux


6. apacheを起動します。


/sbin/service httpd start


7. KDEのKメニューから[バーチャルマシンマネージャ]を選択し、Virtual Machine Manager(vir-manager)を

起動します。最初に接続画面が表示されますのでローカルに接続します。


Asianux_Xen_1


8. 起動した後、「ファイル」から「新規の作成」を選択し、DomainUの作成を開始します。


Asianux_Xen_2 Asianux_Xen_3


9. DomainUの名称を入力します。


Asianux_Xen_4


10. このマシンでは完全仮想化は選択できないので準仮想化を選択します。


Asianux_Xen_5


11. インストールCDのあるURLを指定します。

今回は[ http://自マシンのIPアドレス/Asianux ]とします。(手順4,5で作成した仮想ディレクトリです)


Asianux_Xen_6


12. インストール先の指定。

今回は「シンプルファイル」で作成します。


Asianux_Xen_7


13. DomainUに割り当てるメモリとCPUの数の指定。

メモリはDomain0の半分の500MBとします。

CPUはこのマシンはCPUが1個しかついてないので1個とします。


Asianux_Xen_8

14.以上でDomainUの環境設定は終わりです。[完了]をクリックします。


Asianux_Xen_9


まず仮想ハードディスクの作成が行われ・・・・

Asianux_Xen_10


その後、CPU、メモリの構成が行われます。
  Asianux_Xen_11


15. ここからゲストOSのインストールが始まります。

最初はテキストモードになっています。(第一ステージ)
まず言語設定を行います。


Asianux_Xen_12


16. キーボードの設定を行います。


Asianux_Xen_13

17. ネットワークの設定を行います。

今回はIPv4でDHCPを使用するので[Enable IPv4 support]と[Dynamic IP Configuration(DHCP)]に

チェックを入れます。固定IPアドレスを割り当てる場合は[Manual Configuration]にチェックを入れます。


   Asianux_Xen_14


18. ここからGUIのインストールになります。(第二ステージ)

ここから先は通常のGUIインストール時と手順は同じです。


Asianux_Xen_15


・・・とここまでは順調に来たのですが、パーティションの構成が終わり、パッケージのインストールが開始される

直前の「インストールプロセスを開始します。数分かかることがあります」が表示されたところで止まってしまいま

した。


Asianux_Xen_16


半日粘りましたがここから先へ進みません。

/var/log/xen/xend.logや/var/log/xen/xend-debug.logには何もエラーは記録されていないのですが

/var/log/httpd/error_logを見ると以下のエラーが延々と記録されていました。


[The Aug 28 21:05:15 2007] [error] [client 192.168.0.195] File does not exist: /var/www/html/Asianux/

Asianux/RPMS/heart-beat-1.2.2-8.6AX.i386.rpm


このheart-beatのパッケージはDisc 2に収録されていて、Disc 1には無いものなのでこのエラーが

出ているようなのですが、なぜこのタイミングで出るのか分からないです。

(手順は@IT:Virtual Machine ManagerでゲストOSをインストールするには 等を参考にしたので間違っていないと

思うのですが・・・)

とりあえずこれからXenのサイトとか見て調べてみる必要があるので、今回は残念ながらここで一旦中止と

しました。


関連記事:

[Asianux3RC]Xen:virt-managerを使用してゲストOSをインストール 2

[Asianux3RC]Xen:virt-installを使用してゲストOSをインストールする

[Asianux3RC]Asianux Server 3 RCのインストール


Asianuxのウリと言ってまず思いつくのはサポートですね。

日本人の開発者がサポートをしてくれることによる安心感は大きいです。

ではOS自体のウリは何でしょうか?

ということで今回はAsianux 3のインストール 時に表示されるAsianuxの紹介文を転記してみました。

あくまでAsianux側のPR文であって、客観的なものではないのですが

Asianuxの導入を検討する際にどこに注目したらいいかの参考にはなるかと思います。


■簡単導入

Asianux Server 3は、様々な機能がインストール直後に使えることにこだわります。


導入時にSun Microsystems社のJava SE Development Kit 6.0を

導入・環境変数の自動設定を行ったり、商用フォントであるRicohフォントが

デフォルトで採用されているなど、細かい部分であなたの手を煩わせません。


印刷環境もOpenPrintingに対応していたり、レーザープリンタ用の設定ファイルが

用意されているなど、簡単に使用開始できるように製品がデザイン・開発されております。


■進化したカーネル

Kernel 2.6.18をベースにすることにより、信頼性・可用性・安定性が向上しました。

ロック機能の進歩による大容量メモリのサポート、デュアルコア以上のCPUに

対応するなど、スケールアップやスケールアウトが容易に行えます。


Linux標準のファイルシステムであるext3のパフォーマンスも向上し

従来製品に増してエンタープライズ領域での使用に適した製品になりました。


■信頼性の高い障害解析・収集

Kdumpの採用により、デバイスに依存しないダンプの収集が可能になりました。

障害が発生すると、Kexecを使いダンプ取得専用のカーネルが立ち上がため、

ダンプの精度・信頼性も向上しています。

また、障害情報の収集能力が強化され、詳細なネットワーク情報や

ファイルシステム情報を採取できるようになりました。

的確な情報を得られることにより、障害解析がより深く、確実に行えるようになりました。


Asianux Server 3は、効率的なサポートを提供することを前提として

作り込まれていますので、安心してご利用ください。


■日本人のための文字コード対応

Asianux Server 3はUTF-8ロケールをサポートしています。

古いLinuxやUnixシステムからの移行も思いのままです。

またPHPやPerlといったウェブサービスでは、

これまでのLinuxでは対応不可能であったWindowsクライアント特有の特殊文字も

正確に処理できます。


Asianux Server 3で、文字化けとさよなら。


■充実のウェブソリューション

MySQLは5.0系にメジャーバージョンアップされ、ストアドプロシージャーやビュー、

トリガーの実装によりエンタープライズ領域での要求を満たすことができるようになりました。


Apacheも2.2系になることでロードバランシング機能や動的キャッシュが強化され

応答性がアップしています。Asianux Server 3で信頼性の高いウェブシステムが構築できます。



■Oracleデータベースとの親和性

通常のLinuxにOracleデータベースをインストールするには、専用ユーザを作成したり、

環境変数を設定するなど、事前の準備が必要です。


Asianux Server 3ではOracleデータベースの動作に必要なカーネルパラメータが

調整済みの状態で出荷され、またOranaviというウィザード形式の補助ツールを

使用することでOracleデータベースを簡単に導入することができます。


それ以外にも、php-oci8やocfs2といったオラクル専用モジュールが

最初から同梱されていたり、Asianux Server 3インストーラで

ネットワークのポンディング設定を行うことでOracle RAC構築のステップが

簡略化されるなど、Oracleデータベースを簡単に導入するための工夫が施されています。


■ 大規模ファイルサーバーに強い

SambaとOpenLDAPを組み合わせることにより、

大規模ファイルサーバーという用件にも対応可能。


smbdcsetupによりドメインコントローラを簡単に構築したり

smbldap-toolsを使用してOpenLDAPサーバー上のユーザ情報も管理ができます。


新しいSambaはWindows Vista対応が施されているので

Windowsクライアントとの混在環境にも使用できます。


こうしてみるとベースにしているRed Hat Enterprise Linux5と共通する部分が多いですが

(オープンソースである以上、違いがあまりないのは当然と言えるかもしれませんが・・)

独自色も出していますね。


9/2 追記:

IT Mediaにこんな記事がありましたね。

「キーワードは“Better Than Red Hat”」――Asianux Server 3のみなぎる自信


また9/1よりOracleのUnbreakable Linux が日本においても開始されたようですが、

  (しかし"Oracle Enterprise Linux"って・・・(笑))

ミラクルリナックスがAsianuxとどう折り合いをつけていくのかが気になります。

Asianuxの開発はやめてほしくないですね。


IT Media:Oracle Unbreakable Linuxが国内展開開始、そのときミラクルは……

さてこのBlogはServer OS Cafe・・・ということでそろそろWindows以外のネタも始めようかと思っていたところに

ミラクルリナックス よりAsianux Server 3 のRelease Candidate(RC)のリリースの案内が来ましたので

今回ダウンロードしてインストールしてみることにしました。


■ Asianux Server 3 RCのインストール

インストールCDは全部で3枚ありました。

AsianuxはFedora CoreRed Hat Enterprise Linux (RHEL)と同様にAnacondaを使用していますので

インストール手順はFedoraやRHELとよく似ています。


Asianux_Installe1 Asianux_Installe2

デザインはなかなかきれいですね。


1. 言語の選択

日本語を選択しました。

2. 使用許諾契約書の同意

3. キーボードの選択

日本語106キーボードを選択

4. 新規インストールかブートローダのリストアかの選択
新規インストールを選択

5. パーティション作成

作成方法を以下から選択するようになっています。

・ 選択したドライブ上のすべてのパーティションを削除
  ・ 選択したドライブ上のlinuxパーティションを削除してデフォルトのレイアウトを作成 ※デフォルト
・ 選択したドライブの空き領域を使用して、デフォルトレイアウトを作成
・ カスタムレイアウトを作成

Asianux_Installe3

「カスタムレイアウトを作成」以外を選択した場合は自動的にパーティション作成が行われますが

Fedora、RHEL同様/とswapがLVM上に作成されるようになっています。


Asianux_Installe4


6. ブートローダーのインストール先の指定
以下から選択するようになっています。

・ /dev/hdaマスタレコード(MBR) ※デフォルト
・ /dev/hda1ブートパーティションの最初のセクタ
・ ブートローダはインストールしない
通常はMBRにインストールするように指定します。


  7. ネットワークデバイスの設定
デフォルトはDHCPになっています。
固定のIPアドレスを使用する場合は変更します。


8. ロケールの指定
  「アジア/東京」を選択
またシステムクロックでUTCを使用する・しない(日本時間とする)を選択できるようになっています

(デフォルトは「使用しない」・・・確かRHEL5ではデフォルトは「使用する」だったような・・・

このあたりは日本の会社ならではかな)


9. rootのパスワード入力

10. パッケージの選択
この画面はFedoraやRHELより洗練されているような感じがします。


Asianux_Installe5

インストール方法は最小、すべて、カスタマイズからの選択となっており、カスタマイズを選択すると

以下の画面で一つ一つ選択できます。(ここの画面はFedora/RHELの方が良かったかな(笑))


Asianux_Installe6

また以下のミドルウェアをインストール・しないを個別に選択できるようになっています。

Tomcat

言わずと知れたServletコンテナ

Geronimo

J2EEアプリケーションサーバー

Red HatはJBoss ですが、AsianuxがGeronimoで来るとは思わなかったですね~。

私はGeronimoはまだ名前だけ知っているというレベルで実際に使ったことはないです。

Resin

???、WEBサーバーのようですが、私は今回初めてこの名を聞きました。

あとRHEL5同様、Asianux3でも仮想化が目玉なので仮想化パッケージをインストールする・しないが

指定できるようになっています。


今回は基本パッケージは「すべて」にし、仮想化をONにしました。


11. パッケージインストール開始


Asianux_Installe7 Asianux_Installe8

12. ディスプレイの設定

13. RedCastle Secure OSの有効・無効の設定

AsianuxではSELinuxではなくRedCastle Secure OSを使用するようです。

Red Gate 社が開発したもののようですが、今は(機能の詳細が分かりませんし)無効にしておきます。


Asianux_Installe9

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


■Asianux Server 3の画面

こんな感じです。インストーラー同様、画面デザインはなかなかのものです。


・ブートローダー(GRUB)


GRUB


・ログインマネージャー(KDM)

KDM

・デスクトップ(KDE)

Asianux Server 3ではKDEが使用されます。


KDE


[関連記事]

[Asianux3]Asianux Server 3評価版リリース


さて夏休みも終わったので、久々にWindows2008ネタをやります。

前回 はapplicationHost.configでサーバー全体の設定を行ってみましたが、

各仮想ディレクトリ固有の設定はそのディレクトリ下のWeb.configに記述する事になっていますので

今回はこれを試してみます。

このWeb.configはASP.NETにあるWeb.configと全く同じもので、Web.configの中にASP.NETとIISの設定が

両方入ることになります。

また以前はVisual Studio2005の[ASP.NET 構成]で行っていたASP.NETのメンバーシップやSMTP電子メールの

登録がIISの管理ツールからも行えるようになっています。


■ テスト用WEBアプリ作成

  まずASP.NETで以下のWebアプリを作成します。

1. C:\inetpub\wwwroot下にWebSite1という名称でWebサイトを作成します。

2. default.aspxにはGridViewコントロールを貼り付け、SQL Server 2005上に作成したSALESデータベースの

ItemMasterテーブル(売上管理DBの商品マスターといったところです)よりデータを取得し一覧表示する

   ように設定します。


IIS_defaultaspx


3. Login.aspxを追加しこれにはLoginコントロールを貼り付けます。

これはフォーム認証の認証画面として使用します。

またHyperLinkコントロールも追加し文言を「パスワードを忘れた方はこちら」とし

リンク先を4の画面にします。


IIS_loginaspx

  この時点でWebSite1下のweb.configは以下のようになっています。

<connectionStrings>にある接続文字列"ConnectionString"はdefault.aspxのGridViewコントロールが使用する

接続文字列です。


<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings />
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=WIN2K8;Initial Catalog=SALES;User

ID=sa;Password=Win2k8Test" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="false" />
<authentication mode="Windows">
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>


4. WebSite1の下にPasswordRecoveryというディレクトリを追加しその下にPasswordRecovery.aspxを追加し

それにPasswordRecoveryコントロールを貼り付けます。

これはパスワードを忘れた場合にパスワードの再発行を行う画面として使用します。


IIS_passwordrecoveryaspx

またこの画面には匿名認証で入れるようにする必要がある為、PasswordRecoveryディレクトリ下に

Web.configを追加し匿名認証を許可するように設定します。


PasswordRecovery下のweb.configはこの時点で以下のようになっています。

  <?xml version="1.0" encoding="utf-8"?>
  <configuration>
<appSettings />
<connectionStrings />
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</configuration>


■[インターネットインフォメーションサービス(IIS)マネージャー]での設定

5.[管理ツール]より[インターネットインフォメーションサービス(IIS)マネージャー]を起動して

WebSite1を選択し、[接続文字列]を選択します。


IIS_iismanager

2のGridViewコントロール貼り付け時に作成した接続文字列"ConnectionString"の設定が

ここでも見れます。


IIS_connectionstring

また"LocalSqlServer"という接続文字列も確認できますが、これはWebサイトへのユーザー追加に

使用されるデータプロバイダ"AspNetSqlRoleProvider"が使用する接続文字列で、デフォルトでは

WebSite1下にあるApp_DataフォルダにあるASPNETDB.mdfにアクセスするように設定されています。

で、このASPNETDB.mdfですが、SQL Server 2005 Express Editionがインストールされていれば

Visual Studio2005でWebサイトを作成した時に自動的に作成されるのですが、今回使用している

テスト環境ではSQL Server 2005のDeveloper Editionのみをインストールしている為、このファイルは

存在していません。

そこでSQL Server 2005上にUSERSという名称のデータベースを作成し、aspnet_regsql.exe を使用して

このデータベースをASP.NETメンバーシップの保存先にします。


aspnet_regsql

その上で接続文字列"LocalSqlServer"をUSERSデータベースにアクセスするように設定を変更します。


IIS_localsqlserver2

これによりWebSite1下のWeb.configの<connectionString>の設定が以下のように変わります。


.<connectionStrings>
<remove name="LocalSqlServer" />
<add name="ConnectionString" connectionString="Data Source=WIN2K8;Initial Catalog=SALES;User

ID=sa;Password=Win2k8Test" providerName="System.Data.SqlClient" />
<add connectionString="Data Source=WIN2K8;Initial Catalog=USERS;User

ID=sa;Password=Win2k8Test" name="LocalSqlServer" />
</connectionStrings>


6. 次に[.NETユーザー]を選択しユーザーの追加を行います。

この情報は6で追加したUSERSデータベースに保存されます。

    
   iis_adddotnetuser

7. [認証]を選択し"フォーム認証"を有効にします。


IIS_formauthorization

これによりWebSite1下のWeb.configの<authentication mode="Windows">が

<authentication mode="Forms">に変わります。

あとは手作業でフォームの情報を記述します。

<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="default.aspx"></forms>
</authentication>

8. 今度はWebSite1下のPasswordRecoveryディレクトリを選択して[SMTP電子メール]を選択し

PasswordRecoveryコントロールが使用する電子メールの設定を行います。


iis_addsmtpsetting

これによりPasswordRecoveryディレクトリ下のWeb.configに以下の設定が追加されます。

<system.net>
<mailSettings>
<smtp from="xxxxx@xxxx.co.jp ">
<network defaultCredentials="false" host="xxxx.smtp.xxxxx.co.jp" password="xxxxx"

userName="xxxxxxxxx" />
</smtp>
</mailSettings>
</system.net>

(本当はちゃんとしたメールアドレスやメールサーバー名、ユーザーID/パスワードが入っています)


■動作確認

9. Internet Explorerを使用しWebSite1にアクセスします。

するとフォーム認証にしているのでLogin.aspxが最初に表示されます。


IIS_dousakakunin1

今回はパスワードをど忘れしてしてまったことにして、「パスワードを忘れた方はこちら」をクリックします。


10. PasswordRecovery.aspxでユーザーIDを入力し、その後6のユーザー登録の時に設定した質問と回答を

入力します。


IIS_dousakakunin2

送信ボタンをクリックすると6のユーザー登録時に登録したメールアドレスに対して新しいパスワードが

記載されたメールが送信されます。


IIS_dousakakunin3

11.もう一度、Login.aspxを表示し、今度は10で取得した新パスワードでログインします。


IIS_dousakakunin4

12.ログイン成功です。


  IIS_dousakakunin5

このWeb.configを使用したサイトの設定に関してはマイクロソフトの以下のサイトにあるスクリーンキャストが

お勧めです。

Windows Developer Center:IIS7による機能のモジュール化


さて、この夏休みは旅行ばかりしているのですが今度は島根県の松江市 に行きました。

前回 紹介した岡山 湯原温泉 からは米子自動車道と山陰自動車道を使えば 1時間かからずに行けます。


今回は松江で良かったものを紹介します。


堀川めぐり

松江城の堀を10人乗りぐらいの小型の遊覧船で一周するものです。

松江城の堀って本当に大きいですね。

  船は手漕ぎではなく、モーターなのですがそれでも一周するのに30分ほどかかります。
  horikawa1

  ところどころで亀が甲羅干しをしていたのがほほえましかったです。
  horikawa2


松江フォーゲルパーク

基本的に植物園なのですが、ふくろうショーが目玉になっています。

頭のすぐ上を飛んで行ったりして、結構、楽しかったですよ。
  forgelpark1  forgelpark2


しゃぶしゃぶ ろんぢん

松江名物のしゃぶしゃぶ屋さんです。

美輪明弘 さんみたいな格好をしたおばあさんが「この間桑田佳祐 さんが来た」とか「仲間由紀恵 さんが来た」

とか芸能人自慢をしながら丁寧に食べ方を教えてくれます。

¥6,000、¥7,000、¥8,000の3つのコースがあるのですが、「遠くから来られる方はいつも¥8,000のコースに

されますね~」と一番高いものを勧められます。(商魂たくまし~)

変わった店名ですが、元々は時計屋さんだったらしいです。

  ronjin1  ronjin2


宿泊先は松江市から自動車で20分ほどの距離にある玉造温泉長楽園 という旅館にしました。

驚いたのは部屋の大きさ、8畳の部屋が2つもあった上に洗面所も2箇所ついていました。

でも食事はこの間米屋 の方が良かったかな(笑)


温泉も大きいです。

驚くなかれ120坪の大露天風呂です。
chorakuen1
お湯もいいです。

ほんのりと硫黄の香りがして、肌もツルツルになる(最近、この表現ばっかり使ってるな(笑))いい温泉です。


露天風呂の近くにある日本庭園はこじんまりとしていてガイドブックに書いてあったほど

大げさなものではなかったのですが、落ち着いた雰囲気で良かったと思います。
chorakuen2

岡山県にある湯原温泉 に行ってきました。

岡山県といっても瀬戸内海側ではなく山陰側、鳥取県との県境付近になります。

米子自動車道 湯原ICから自動車で15分程で行くことができます。


今回は米屋 という旅館に泊まりました。
yubarakomeya1  

ここの自慢は美作牛の会席料理で、なかなかの美味でした。
yubarakomeya2

この宿の温泉は露天風呂のある中浴場と大浴場の2つがあって、最初は中浴場が男湯、大浴場が女湯で

20時になるとそれが入れ替わるシステムで両方に入ることができます。

泉質は低調性アルカリ性高温泉とのことですが、入った後に肌がツルツルしていることが実感できる

いい温泉です。

また湯原温泉には湯原ダム付近にある天然の露天風呂である”砂湯”がありますので

宿の温泉だけでなくこちらにも入ってみました。
yubarasunayu

(ちなみに砂の温泉ではありません。お湯が砂を噴き上げながら湧き出るので”砂湯”というそうです。)

湯は少し温度が高めで、湯の質は宿の温泉も砂湯も同じであるように感じました。


単に温泉につかる為だけに岡山県に来たのではもったいないということで

近くにある大山 (鳥取県)や蒜山高原 (岡山県)に足を伸ばしてみました。

なかなか雄大な景色で心が洗われるような感じがしました。
Daizen Hiruzen

食べ物の方は大山、蒜山高原ともそば(大山そば、蒜山そば)と牧場でのバーベキューが名物なので

そちらを味わってきました。

バーベキューの方は米屋の美作牛と異なるワイルドな味でなかなか良かったですよ(笑)
daizenbarbekyu   daizensoba

現在山口県に帰省中・・・ということでWindows2008ネタはしばらくお休みして旅行ネタをやりま~す(笑)。

で本日は温泉のご紹介なのですが、山口県って意外といい温泉が多いんですよ。

中でも本日行ってきた山水園 は硫黄の臭いもプンプンして、ヌルヌルとしたアルカリ性の泉質で

肌がスベスベになった感触が実感できる非常にいい温泉です。

写真の露天風呂は周りを林に囲まれているので森林浴をしている気分になれます。

宿泊施設もありますが、温泉のみの利用も可能になっています。

(温泉のみの利用の場合は¥1,600、タオルは無料で使用できますので持って行かなくてもOKです)

山口県へ旅行で来られた際には一度立ち寄ってみてはいかがでしょう。


sansuien


IIS6.0まではIISの構成情報はメタベースに格納されていたのですが

IIS7.0からはapplicationHost.configというXML形式の構成ファイルに

保存されるようになったようです。

これによりIIS6.0まではGUIを使用せずに設定を変更しようとすると

付属のadsutil.vbsを使用してメタベースを変更する必要があったのですが

IIS7.0からは事前に必要な設定が書かれたapplicationHost.configを用意しておいて

それをただコピーするだけで良くなったようです。


ではまずWindowsエクスプローラでapplicationHost.configがどこにあるか探してみることにします。

どうやらC:\Windows\System32\inetsrv\configにあるようです。


IIS7_config

またC:\inetpub\historyにもありました。

こちらは過去のapplicationHost.configのバックアップのようです。


IIS7_config_history

これを見るとバックアップは過去10世代まで保存されているようですが

バックアップ先や世代数の設定は


C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml


の以下の部分で変更することが可能なようです。


<sectionSchema name="system.applicationHost/configHistory">
<attribute name="enabled" type="bool" defaultValue="true" />
<attribute name="path" type="string" defaultValue="%SYSTEMDRIVE%\inetpub\history" />
<attribute name="maxHistories" type="uint" defaultValue="10" validationType="integerRange" validationParameter="1,4294967295"/>
<attribute name="period" type="timeSpan" defaultValue="00:02:00" validationType="timeSpanRange" validationParameter="10,2147483647,1"/>
</sectionSchema>


さてではapplicationHost.configで簡単にIISの設定を移行できるかどうかを試してみることにします。

今回はWindows Server 2008 Beta 3搭載機を2台用意し、片方で行った設定を

ファイル・ディレクトリのコピーだけでもう一方に移すことができるかを見てみます。


■ 移行元の作業

1. [管理ツール] - [インターネット インフォメーションサービス(IIS)マネージャ]を起動します。

2. 以下のWEBサイトを追加します。

Webサイト名:Web Site2
コンテンツディレクトリ:C:\inetpub\wwwroot2
ポート:8080

3. Web Site2に仮想ディレクトリTestを追加し、そこに画面上に「TEST」と表示するだけの

簡単なHTMLファイルを1つおいておきます。

4. Web Site2にアプリケーションディレクトリApplicationを追加し

   そこに簡単なASP.NET WEBアプリケーションを置いておきます。


IIS7_configtest_aspnet

またアプリケーションディレクトリは認証方法を匿名認証から

Windows認証に変えておきます。


IIS7_config_setting


この状態で一度、移行元のapplicationHost.configの設定を確認してみます。

すると変更前と比べて以下の設定が追加されていることが確認できます。


<configuration>

<system.applicationHost>

--- 省略 ----

<sites>
<site name="Default Web Site" id="1">
----- 省略 -----

</site>
<site name="Web Site2" id="2">
<application path="/" applicationPool="Web Site2">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot2" />
<virtualDirectory path="/Test" physicalPath="C:\inetpub\wwwroot2\test" />
</application>
<application path="/application">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot2\application" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8080:" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" />
<traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />
</siteDefaults>
<applicationDefaults applicationPool="DefaultAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

<webLimits />

</system.applicationHost>

---- 省略 ----

<location path="Web Site2/application">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>

</configuration>


■ 移行先の作業

移行作業として以下の手順を行います。

1. 移行元のapplicationHost.configを移行先のC:\Windows\System32\inetsrv\config下に

上書きコピーします。
  2. 移行元のC:\inetpub\wwwroot2以下を移行先のC*\inetpub下にコピーします。


  移行作業は以上のみです。

移行先のIISの再起動も行いません

この状態で移行先のマシンで仮想ディレクトリTest下のHTMLとアプリケーションディレクトリApplication下の

ASP.NETをIEで呼び出してみて、両方のディレクトリが機能しているかどうかを見てみます。


IIS7_configtest_check1

どうやら機能していますね。
さらに移行先の[管理ツール] - [インターネット インフォメーションサービス(IIS)マネージャ]を起動して

設定を確認してみます。


IIS7_configtest_check2

追加したWEBサイト、仮想ディレクトリ、アプリケーションディレクトリそれから認証の設定も

すべて移行されていることが確認できます。



こんなに簡単に設定を移行できるとは驚きです。