マイクロソフトIISのセットアップ
実行権限の不許可
この情報は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が必要だということがわかりました。