紅孔雀 このページをアンテナに追加 RSSフィード

2007-11-18 Windows Vista の VirtualStore ファイルの罠

[] Windows Vista の VirtualStore ファイルの罠 - 設定ファイルを編集したが反映されない問題

Windows Vista にある VirtualStore ファイルという機能が原因で

  • Windows Vista に Apache をインストールする
  • 設定ファイル(httpd.conf)を編集する
  • Apache を再起動する
  • なぜか変更した設定内容が反映されない

という問題が発生しました。

VirtualStore ファイル機能は「設定ファイルはユーザごとに保存する」という目的で作られた機能のようです。編集しようとした設定ファイルに対する書き込み権限が無い場合に、自動的にそのユーザ用の設定ファイルが作成される、というものです。

今回の場合、

  • Apache を管理者権限でインストール
  • 管理者ではないユーザで設定ファイル(httpd.conf)を編集する
  • 設定ファイルに対する書き込み権限が無いので、VirtualStore ファイルが作成される
  • Apache を再起動する(Apache は管理者権限で実行)
  • Apache が読み込む設定ファイル(httpd.conf)は編集した設定ファイルではない

となっていたため、いくら設定ファイルを変更しても反映されない、という問題になっていました。

エディタで開いたときに特にエラーが発生することも無く普通に保存できてしまうので、なかなか気づきにくい問題でした。

この問題の対応策は「設定ファイルを管理者権限で編集する」ことになります。エクスプローラ上で実行ファイル(エディタ)のアイコンを [Shift] キーを押しながら [右クリック] し、ポップアップメニューの「管理者として実行」を選択すれば、アプリケーションを管理者権限で実行することができます。