vhdmount

コマンド ライン パラメータが無効です。

バーチャル ハード ディスク (VHD) をバーチャル ディスク デバイスとしてマウントするためのコマンド ライン ユーティリティ。

既定では、VHDMount により現在のユーザーの一時フォルダに復元ディスクが作成されます。マウントされたディスクへの変更はすべてこの復元ディスクに書き込まれます。ディスク デバイスを取り外す際に、/c または /d を使用してこれらの変更を適用、または破棄してください。復元ディスクを使用しないで VHD をマウントする場合は、/f オプションをを使用してください。

使用率:
    VHDMOUNT /p [/f] VHDFileName
    VHDMOUNT /m [/f] VHDFileName [DriveLetter]
    VHDMOUNT /u [/c | /d] VHDFileName | All
    VHDMOUNT /q VHDFileName | All

/p
ボリュームをマウントしないで、指定された VHD をバーチャル ハード デバイスとして追加します。

/m
指定された VHD をバーチャル ハード デバイスとして追加し、ボリュームをマウントします。

/f
復元ディスクを作成しないで指定された操作を実行します。このパラメータは、/p および /m に適用できます。マウントされたディスクへの変更はすべて指定された VHD ファイルに直接書き込まれます。

/u
指定された VHDFileName のバーチャル ディスク デバイスを取り外します。

/c
ディスクを取り外す前に、復元ディスクに保存されたすべての変更を適用して元の VHD ファイルを更新し、復元ディスク ファイルを削除します。このパラメータは、/f を使用しないで VHD ファイルをマウントした場合にのみ適用できます。

/d
ディスクを取り外した後に、マウントされたディスクへの変更をすべて破棄し、ディスクの追加を解除します。このパラメータは、/f を使用しないで VHD をマウントした場合にのみ適用できます。

/q
指定された VHDFileName にマウントしたバーチャル ディスク デバイスのディスク名を表示します。

VHDFileName
フル パスを含む VHD 名。

DriveLetter
/m オプションの任意のパラメータ。ドライブ文字が指定されている場合、そのボリュームがマウントされる際、指定されたドライブ文字から始まります。ドライブ文字が指定されていない場合、自動的に割り当てられます。

All
マウントされたすべてのバーチャル ディスク デバイスの操作に適用されます。このパラメータは /u および /q に適用できます。

ubuntu server 8.04.4 LTS の上に VMware Server 2.0.2

vmware server 使いたくて古いPC に ubuntu desktop を入れたのだが、常時 CPU 20% ほど使っているので、desktop ではなくて server でやり直すことにした。

ubuntu server のインストール

 

なにはともあれ

$ sudo -s
# aptitude update
# aptitude install ssh
# aptitude install screen

 

dhcp をやめて固定 ip にする

# vi /etc/network/interfaces
 

コメントアウト
iface eth0 inet dhcp

 

追記
iface eth0 inet static
address 192.168.24.200
netmask 255.255.255.0
network 192.168.24.0
broadcast 192.168.24.255
gateway 192.168.24.1

反映
# /etc/init.d/networking restart

 

VMware インストール時に必要になるので入れる

$ sudo aptitude install make
$ sudo aptitude install gcc
$ uname -r
2.6.24-26-server
$ sudo aptitude install linux-headers-2.6.24-26-server

 

VMware Server のインストール

 

解凍してインストール スクリプトを実行する

$ sudo -s -H
# tar zxpf VMware-server-2.0.2-203138.i386.tar.gz
# cd vmware-server-distrib/
# ./vmware-install.pl

これ以降、すべての質問にデフォルト値で答える (そのまま Enter キーを押す) だけ。シリアルの入力時も何も入れずに Enter を押す。

 

管理コンソールを使う

 

ubuntu の root にパスワードを付ける

$ sudo -s
# passwd

 

ブラウザで http://(ubuntu の ip):8222 を開き root で入る 

シリアル キーを入れる

/var/lib/vmware/Virtual Machines が色々なブツの置き場所らしい

色々な iso を /var/lib/vmware/Virtual Machines にアップロード

仮想マシンの CD ドライブに iso を割り当て

summary

Opera は調子悪い?のでここで IE に変える。

再生ボタンをクリック

クリックしろ、と書いてあるのでクリック

ここでとあるブツ(画像とるの忘れた)インストールさせられる

IE ブラウザの外に別窓が出ました。

windows 2003 も入れてみる

 

Windows 2003 に VMware Tools を入れる

マウスで操作するだけで簡単にインストールできるので、メモしない。

 

FreeBSD 8.0 に VMware Tools を入れる

 

Before running VMware Tools for the first time, you need to configure it by
invoking the following command: "/usr/local/bin/vmware-config-tools.pl". Do you
want this program to invoke the command for you now? [yes]

Use of uninitialized value $version in string at /usr/local/bin/vmware-config-tools.pl line 651.
/libexec/ld-elf.so.1: Shared object "libc.so.6" not found, required by "vmware-checkvm"
/libexec/ld-elf.so.1: Shared object "libc.so.6" not found, required by "vmware-checkvm"
/libexec/ld-elf.so.1: Shared object "libc.so.6" not found, required by "vmware-checkvm"
This configuration program is to be executed in a virtual machine.

Execution aborted.

 

上記のエラーが出て止まるので、

/usr/local/bin/vmware-config-tools.pl
/usr/local/bin/vmware-uninstall-tools.pl
の2ファイルの

} elsif ($system_version =~ /FreeBSD 7/) {
   $version = ‘7.0’;

} elsif ($system_version =~ /FreeBSD 8/) {
   $version = ‘7.0’;

に書き換えて、さらに

s201# cd /usr/ports/misc/compat6x/
s201# make install clean

する。

 

けど、何が変わったのか判らない。

 

CentOS 5.4 に VMware Tools を入れる

 

 

web 2008 導入 (63) BugNET 0.7.942 は部分信頼な環境では動かない

BugNET という名前のバグ管理システムを見つけたのでインストールしてみます。

BugNET  Home

BugNET-0.7.942-Install.zip を手元にダウンロードして解凍。

FTP でアップロード

webapps\BugNET を /BugNET にマッピング

/BugNET を統合プールのアプリに指定

App_Data\Database.mdf を /MsSqlDbFiles/BugNET.mdf としてアップロード。

/webapps/BugNET/App_Data/Database.mdf は不要なので削除。

データベースのアタッチ

BugNET.mdf ファイルを DB_BugNET というデータベース名でアタッチ。

手元の web.config を書き換え。DB 接続文字列を変更します。その後 FTP で web.config をアップロード。

/BugNET/Install/Install.aspx にアクセス。。。エラー発生。

うーん。どうも BugNET は部分信頼だと動かないようですね。

Install.aspx problem on godaddy – Installation problems – BugNET

Reporting Functionality – General development – BugNET

あきらめます。

Microsoft.SqlServer.Management.Smo.Scripter を使って CREATE TABLE 文などを作る

成功するとこんな感じ

やりたかったのはこれ。ファーストサーバ エクスプレス 2 のデータベースから CREATE TABLE 文をぶっこ抜く。しかし失敗。orz

 

(追記)

アセンブリを GAC 登録してくれと頼もうかと思ったけど、部分信頼な環境で試すと、

[SecurityException: アセンブリは部分的に信頼されている呼び出し元を許可しません。]

が出たので、頼むのはやめる。

外国人参政権法案を通してはなりません

web 2008 導入 (62) IIS 7.0 マネージャにバグ?発見

 

ScrewTurn Wiki 3.0.2.500 が出たのでバージョン アップさせた。

やり方は

http://tryiis7.spaces.live.com/blog/cns!A57DF6C28B81A8C1!1140.entry

に書いてあるのと同じ手順で OK。

3.0.0.333 と 3.0.1.400 で発生するバグが治ってるかどうかはまだチェックしてない。

 

それより、IIS 7.0 マネージャにバグ?を発見したのでメモっておく。


(サーバー単位接続でなく) サイト単位接続してる状態で Logging のアイコンをダブルクリック。

 
右側ペインの Disable/Enable を一度クリックすると中央ペインが灰色(編集不可)になってそれ以降二度と中央ペインは編集できない!

ちなみに、サーバー単位接続している場合は Disable/Enable は期待通りに作用します。

この Disable/Enable は
<configuraion>
    <system.webServer>
        <httpLogging dontLog="false" /> ここに作用します。

HTTP Logging httpLogging  Configuration Reference  The Official Microsoft IIS Site

 

過去にメモったかもしれませんが IIS 7.0 マネージャをサイト単位接続で使うと 「Shared Hosting で使う場合、それってどうなのよ」 的な情報漏れにつながる挙動があったりします。(私が IIS のスキーマを間違って編集したわけではありませんよ。デフォルトで変な挙動するのです)

web 2008 導入 (61) AmpliFeeder あきらめた

AmpliFeeder – Open source lifestream platform

をインストールします。

このアプリ、説明動画が一本あるだけで、ドキュメント(インストール手順書の類)は一切無いのです。

でもどうせおそらくいつものパターンでインストール可能だと思うのでインストールしてみます。

 

インストール

AmpliFeeder_v1.1.zip をダウンロードして手元で解凍。

FTP でサーバーに接続し /webapps/amp/ ディレクトリを作成。

ローカルの AmpliFeeder_v1.1\AmpliFeeder\ ディレクトリの中身をサーバーの /webapps/amp/ ディレクトリにアップロード。

webapps\amp を /amp にマッピング。

/amp をクラシック プールで動くアプリに設定。

http://www.test3.useiis7.net/amp/ にアクセスするとエラー(インストール説明?)が出た。

DB 接続エラー

アップデートのための PING?

インストーラを隠す方法

デフォルト管理者のパスワード

データベースが必要っぽいので「新しいデータベース」

DB_amp を作りました。

AmpliFeeder_v1.1.zip を解凍すると、DB スクリプトが二つ (install.sql と AmpliFeederDatabaseScript.sql) 出てくるけどどちらを使えばいいのだ?

AmpliFeederDatabaseScript.sql を使えば良さそうです。install.sql はログインとユーザーの作成までやっちゃうので駄目。

手元の Management Studio を使ってリモートの SQL Server に接続します。このあたりの情報、何を入力するかは tryiis7 のコンパネのアカウント ページに載ってるのでそちらを参照してください。

DB_amp を選択し、AmpliFeederDatabaseScript.sql を Execute

web.config の AmplifeederDBConnectionString と書いてある行を修正。このあたりの情報も tryiis7 コンパネのアカウント ページに載ってます。

変更前

<add name="AmplifeederDBConnectionString" connectionString="Data Source=YOURDATASOURCE;Database=YOURDATABASE;uid=YOURDATABASEUSER;Pwd=YOURDATABASEUSERPASSWORD;" providerName="System.Data.SqlClient"/>

変更後

面倒なので載せません。

 

http://www.test3.useiis7.net/amp/ に再度アクセスすると DB 接続 OK と出ました。

Register With AmpliPinger をクリックすると OK と出た。

もう一回クリックすると登録済みと出た。

web.config の setup と書いてある行を修正。

編集前
<add key="setup" value="true"/>
編集後
<add key="setup" value="false"/>

 

その後 http://www.test3.useiis7.net/amp/Configure.aspx にアクセスすると・・・まだ設定ページが出る!

信用できないアプリだな。

プールをクラシックから統合に変えても、Configure.aspx が出る。

プールを停止して開始しても Configure.aspx が出る。

web サイトを停止して開始しても Configure.aspx が出る。

というか、このコードはダメでしょ。コメント アウトしてあるのが駄目だし、たとえコメントアウトしてなくてもリダイレクトに従わない User-Agent が来たらどうするのか。例外 catch はしないほうがいいと思うけど。

 

その後少し触ってみて

  • プールは統合ではだめでクラシックを選ぶ必要あり。
  • login.aspx から入る管理ページは使えるが、管理ページの外すなわち普通のページは常に真っ白 javascript error

 

最終的に

サーバーに入れたものをごっそり消しました。

終了

apache の KeepAlive

 

  • サーバー側は Linux、apache。
  • クライアント側は Windows、IE8。
  • 実は Hyper-V 使っているので物理的なマシンは一台のみ。

 

  • サイボウズのトップページ表示を試す。
  • KeepAlive On だと、Off に比べ一秒早い。
  • KeepAlive On だと、Off に比べ TCP Connects の数値が低くなる。

 

KeepAlive On

KeepAlive Off

openssl で第四種オレオレ証明書

 

第四種オレオレ証明書 を makecert や selfssl じゃなくて openssl でやってみる。

 

手順の概要はこんな感じ

  • web 鯖の持ち主の立場で、、、身元保証 (?) 要求を作る
  • オレオレ認証局 (?) を作る
  • 認証局職員の立場で、、、身元保証要求にサインする
  • web 鯖の持ち主の立場で、、、証明書を IIS (?) に放り込む
  • web 鯖の持ち主の立場で、、、証明書を web サイトと関連付ける

 

web 鯖の持ち主の立場で、、、身元保証 (?) 要求を作る

身元保証要求を作ります。

 

左側ペインでサーバーを選択。中央のペインで [サーバー証明書] をダブルクリック。

右側ペインで [証明書の要求の作成] をクリック。

それらしく、適当に入力。

変更せずにそのままで進む。

拡張子は何でもいいので適当にファイル名を付けて保存。

生成した身元保証要求 (?) ファイルはこんな感じ。

生成した身元保証 (?) 要求を認証局に提出してください。
(今回は何もしなくていいです)

 

オレオレ認証局 (?) を作る

ベリサイン、サイバートラスト、グローバルサインのような認証局 (?) を自分の PC に作ります。

 

IIS と同じ PC でも別の PC でも構わないので cygwin をインストール。
今回は IIS が動いている PC に cygwin を入れてます。
cygwin の setup.exe は http://www.cygwin.com/ から入手。

cygwin の setup.exe を起動。

インストール時に色々質問されるけど説明は省略。

Net の左側の印をクリックして、Net を広げる。

Net の中に openssl と書いてある行を探し、謎の印をクリックし、Skip と表示されているのをバージョン番号っぽい表示に変えて、左下の Next ボタンをクリック。

cygwin のシェルを起動。

user4@peach ~
$ /usr/ssl/misc/CA.sh -newca
CA certificate filename (or enter to create)
何も入力せず Enter キーをたたく
Making CA certificate …
Generating a 1024 bit RSA private key
………………++++++
…++++++
writing new private key to ‘./demoCA/private/./cakey.pem
Enter PEM pass phrase: それっぽいパスワード (password1) を入力する
Verifying – Enter PEM pass phrase: 同じパスワード (password1) を入れる
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Kanagawa
Locality Name (eg, city) []:Fujisawa
Organization Name (eg, company) [Internet Widgits Pty Ltd]:aiueo
Organizational Unit Name (eg, section) []:operation
Common Name (eg, YOUR name) []:yamada
Email Address []:yamada@example.jp

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: 何も入力せず Enter キーをたたく
An optional company name []: 何も入力せず Enter キーをたたく
Using configuration from /usr/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/./cakey.pem: 先ほど入力したパスワード (password1) を入れる
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 0 (0x0)
        Validity
            Not Before: Dec 22 17:14:12 2009 GMT
            Not After : Dec 21 17:14:12 2012 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Kanagawa
            organizationName          = aiueo
            organizationalUnitName    = operation
            commonName                = yamada
            emailAddress              = yamada@example.jp
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                E1:7A:A3:04:7A:F0:83:09:84:D5:28:FD:88:05:C1:18:12:99:CD:0A
            X509v3 Authority Key Identifier:
                keyid:E1:7A:A3:04:7A:F0:83:09:84:D5:28:FD:88:05:C1:18:12:99:CD:0
A

Certificate is to be certified until Dec 21 17:14:12 2012 GMT (1095 days)

Write out database with 1 new entries
Data Base Updated

 

認証局職員の立場で、、、身元保証要求にサインする

-days 3650 で 10 年先。
-in /cygdrive/e/www.tryiis7.net.csr で身元保証要求ファイルを指定。
身元保証した結果は -out /cygdrive/e/www.tryiis7.net.cer に出来上がります。

user4@peach ~
$ openssl.exe x509 -req -days 3650 -in /cygdrive/e/www.tryiis7.net.csr -CA ./de
moCA/cacert.pem -CAkey ./demoCA/private/cakey.pem -CAcreateserial -out /cygdriv
e/e/www.tryiis7.net.cer

Signature ok
subject=/C=JP/ST=Nara/L=Yamato-Koriyama/O=2nd/OU=Sales/CN=www.tryiis7.net
Getting CA Private Key
Enter pass phrase for ./demoCA/private/cakey.pem: 先ほど入力したパスワード (password1) を入れる

 

身元保証した結果がこれ。

 

web 鯖の持ち主の立場で、、、証明書を IIS (?) に放り込む

 

[証明書の要求の完了] をクリック。

認証局に署名してもらった結果を取り込みます。
[Friendly name] には適当な文字列を入れる。

証明書が増えました。

 

web 鯖の持ち主の立場で、、、証明書を web サイトと関連付ける

 

web サイトを右クリックして、[バインドの編集] をクリック。

[https]、[未使用の IP アドレスすべて]、[443] を選んで、ドロップダウンで証明書を選ぶ。

おめでとうございます。10 年先まで有効なオレオレが web サイトに導入されました。