ウェブデザインとプログラムのナインマイルズ

s9yドキュメント

マイクロソフトIISのセットアップ

  1. このセクションのオリジナルドキュメント
  2. ..(テクニカルドキュメント)
  3. 実行権限の不許可
  4. 使い方

実行権限の不許可

この情報はSerendipityのフォーラムにおけるlyew氏の丁重な投稿から引用しています。

次のような環境にSerendipityをインストールしているユーザーが対象となります:

PHP5.1.6をISAPIモードで動かしている。

Microsoft Windows 2003/IIS6

Microsoft .NETフレームワーク (asp.net 2.0) が有効になっている。

問題

SerendipityのディレクトリからPHPファイルにアクセスしようとすると、Microsoft IISが以下のような内容のhttp 403.1エラーを返してくる:

Forbidden: Execute Access Forbidden; This error can be caused if you try to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.

私の環境においては、Serendipityのディレクトリからindex.phpを動かしても問題は無く、初めて起動したら、次の説明にあるようにserendipity-admin.phpの画面にリダイレクトされました : 新規インストール

「簡単なインストール作業を行う」または「上級者のインストール作業を行う」をクリックすることで設定ページに移動するはずですが、「上級者のインストール作業を行う」をクリックすると上述の http 403.1エラーが出てきました。

解決策

IISのMMCを開きSerendipityをインストールしたウェブサイトまで下ります。
右クリックでプロパティを開きます。
ホームディレクトリタブで「実行権限」が「スクリプト」または「スクリプトと実行ファイル」にセットされていることを確認します。

同じくホームディレクトリタブで「設定」をクリックし、「アプリケーションの拡張子」一覧の中から .php拡張子を見つけ出します。
この拡張子の「verbs」カラムが「全て」にセットされているかどうかチェックします。
もしなっていなければ、.php拡張子を選択してから編集ボタンを押して「All verbs」のラジオボタンをクリックします。

最後に「OK」をクリックしてIISマネージャーを終了します。

私の環境の場合、これでディレクトリのパーミッションやIISの実行権限が全て正常になったことがわかりました。 標準でのPHP用の「verbs」の設定は「GET、POST、HEAD」にセットされているということに辿りつきましたが、おそらくSerendipityの動作のためには「ALL」にセットする必要があるように思われます。

Image Magicの使い方

フォーラムでのPaulF氏に感謝します。 これで Image MagicにはPHPの設定変更の他、Serendipityのサブディレクトリ内にImage MagicのDLLが必要だということがわかりました。

Serendipity