blog

IIS 7.0からIIS 7.5への移行のためconfigファイルを編集する

2010-01-06 06:46:57 Windows Maniax IIS Comments: 0
スムーズに移行を実施する方法はわからなかった。

appcmdによるバックアップをリストアすると「アクセス権限がありません」と言われる。

IIS の構成のバックアップ - Web/DB プログラミング徹底解説
http://keicode.com/iis/iis-backup-config.php

設定のエクスポートコマンドみたいなのが絶対あると思うんだけど見つからない。
  1. とりあえずwwwrootなどのファイルのコピー。
  2. バックアップにあるapplicationHost.config と、configディレクトリにある同名のファイルを手でマージ。
    1. 新環境に不足している記述を旧環境から持ってくる
    2. PHPのpathを自動的にインストールされた先に修正する
    3. perlとrubyの本体ファイルをディレクトリごと同一の場所にコピー
  3. 旧環境で mysqldump -u root -p -x --all-databases > maniax2.sql
  4. 新環境で mysql -u root -p < maniax2.sql
  5. 今更ながら旧環境と新環境のいずれかでrootを使っている場合は、パスワードを統一したほうが良かった事に気づく。
  6. 残念ながら自動導入したmaniax3環境が動かなくなったのでインストールしなおし。
    • なんとデータベースの接続がうまくいってしまった。
という所まで設定して、やりたいことの8割はたぶん達成したので良しとした。

configファイルはXML形式で編集しやすく、コメントで「互換性が無くなった」と明記してある部分以外はコピペ可能。
テキストベースの設定に慣れた人なら、GUIを見るより設定内容を理解出来ると思う。

IISではphpの設定をレジストリに書かないといけない

2009-08-27 14:59:40 IIS PHP Comments: 0
と、PHPマニュアルに書いてあったのだけど、正気なんだろうか。。
設定値は、レジストリキー HKLM\SOFTWARE\PHP\Per Directory Values に保存され、そのサブキーがパス名となります。例えば、ディレクトリ c:\inetpub\wwwroot に対する設定値は、 キー HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot に保存されます。
いじめみたいな仕様だ。
これだと、Webサーバを止めずに、ユーザ毎やディレクトリ毎に設定を変更する事が難しくなる。

ちなみにApacheだと、.htaccessが使えれば、次のように設定が書ける。
php_value キー 値
php_flag キー boolean値
Windowsのレジストリって、iniファイルよりも気軽に設定できるものではない印象があるのだが、
仮にレンタルサーバやるとして、ユーザは自分のドキュメントルート用のレジストリを編集できるのだろうか?
どうもIISって共有サーバの管理のイメージが沸かなさすぎる。結局WebMinみたいなシステムなんだろうけど。

前は「IISがわざわざApache互換の書式を取る必要は無いでしょ」と言っていたけれど、
考え方が変わって、せめてディレクトリにファイルを設置出来るようにはして欲しいと思った。
いちいちphp.ini編集してサーバ再起動するなんてのも、やりたくないしなあ。

当面の回避策は、スクリプトの先頭でini_setするしか無いのかも。
それでも、変更出来る値と出来ない値があるのだけれど。


Windows Serverのパスワードの有効期限が切れる

2009-07-05 12:57:25 IIS Comments: 0
Windows Web Server 2008のアカウントのパスワードの有効期限のデフォルト値は42日らしい。

OSのセットアップから既に60日以上たっていると思うが、
一ヶ月ぶりくらいにサーバを再起動したところ、「本日でパスワードが切れます」というポップアップが出た。

ローカルアカウントポリシーで有効期限を0日に指定すると無期限になるのだが、
これを設定しないでAdministratorのパスワードの期限が切れたらどうなるんだろうかと思った。
42日に1回以上はサーバをメンテしろということか。

64ビットに対応したCPUかどうかを見分ける

2009-05-21 14:07:41 IIS ハードウェア Comments: 0
IISとは直接関係ないが、64ビット環境を用意するために、対応するCPUを調べてみた。
調べた結果が物凄くややこしかったので、参考のためにまとめてみた。

■ 動機

x86版Windowsは3.2GBのメモリしか認識しないが、PAE対応カーネルを使うと4GBまで使えるようになる。
PAEに対応させると論理アドレス空間へのアクセスのコストが発生し処理速度が落ちる。
よって大容量のメモリが使いたければx64版サーバOSを使うしかないが、CPUが対応する必要がある。

■ 前提知識

Core2DuoとPentium DualCoreとCeleron DualCoreはコアが同じ。
主な違いはL2キャッシュの大きさ。
TDPも同じ65W。発熱量は違うらしいが・・・。

Pentium DとCeleron Dは世代が一緒。
Pentium DualCoreとPentium DCとPentium Eは同じ物を指す。
ただし例外としてTのつくPentium DCもある。

■ 64bit対応状況

○Core2世代のコア
×TのつくPentium DC
○Celeron M 500番台
×それ以外のCeleron MとPentium M
×2ではないCoreDuo、CoreSolo
×Socket 478のCeleron D
○LGA775のCeleron DとPentium D
△Pentium 4(まちまち)
×Atom ZとAtom N
○NやZのつかないAtom
×モバイルSempron
△モバイルじゃないSempron(まちまち)
○それ以降のAMD CPU
×VIA C7,C3
○VIA nano

■ 結論?
  • 店頭で64bitかどうか悩んだら、Core2シリーズかAthlonにしておけば間違いない。
  • 消費電力を節約するなら無印Atom一択。他は効果がない。
  • 入手価格を節約するならLGA775のCeleronでいい。110Geもこれ。

Windows Web Server 2008でホスティングサービスは出来るのか

2009-05-18 08:05:25 IIS Comments: 0
せっかくIISの構築ノウハウも獲得した事だし、これをビジネスに活かす事を検討する。
そこでまずはライセンス的に問題が無いかを調べてみた。

OSのライセンスについては、当然「第三者への再配布を禁止する」とは書かれているが、ホスティングサービスを開始する事をOSそのものが配布される事と混同する事はありえないので、恐らく問題無いと思われる。

Microsoft SQL ServerのExpress版の制限についても、
・データベースは1ファイルにつき4GBまで
・物理CPUは1つまで
・使用可能メモリは1GBまで
という制約はあるものの、Webサーバを通して使う際に制限は無いように見える。

IISに関しても、ホスティングを禁止する規定は見あたらない。

しかし、ホスティング業者用のライセンスが見つかった。
内容をよく読むと、IISに対してでは無く「Microsoft製品を使用して展開するサービス」に対して適用される規定らしい。
たとえIISをApacheに取り替えても、OSを使っている以上契約が必要になる、と書いているように読める。抜け道の無い表現だ。

費用は各パートナーに仕切らせているので書いていない所が相変わらずひどい。
しかも、よく見ると一括価格じゃなくてユーザー数に応じた課金らしい。
これじゃあ手軽に個人用レンタルサーバを提供する事は出来ないだろうな。残念。

蛇足だが、Web Server以外のOSではOSのCAL制限に抵触するため、Windows XP Professionalなら10接続(Homeは5接続)までしかWebサーバへの接続を提供できない。
よってWindows版のApacheを使っていたとしても、OSのライセンスに抵触するためWebサーバを公開する事は出来ない。
(逆にWeb Serverはイントラネットのみへの使用を禁止しているため、小さい社内で使うならXP Proのほうが都合がいいことになる)

個人的にはこのあたりが、IISがシェアを獲得出来ない原因だと思っているのだが、どうだろうか。

まとめ
・Windows Web Server 2008は量販店で買うと9万円する。
・ホスティングするには別途にSPLA契約が必要で、ユーザー単位で費用が発生する。
・Web Server以外のOSでは匿名アクセスすら許されていないのでCALの制限(ex.10台)までしか接続できない。
1 2 3 4 次へ 16 件中 1 ~ 5 件目