Reportシステム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。Errorとなった話サーバ今日はapache設定「ScriptAlias」が理解できていなかったので、エラーになったのでその対処をご報告します。環境は:apache2.2(2.2.22-13)です。メルマガ配信サービスをはじめようとするユーザからサーバ設定依頼です。※もちろんですが、install.cgiはCGI実行を要します。acmailerサイトからinstall.cgiをダウンロードして、ダウンロードサーバの適当なフォルダを作成しパーミッションを777に設定このフォルダに、ダウンロードしたinstall.cgiを配置install.cgiのパーミッションを755に設定これだけです。いやぁ楽勝、と思っていたのですが、都合によりCGIディレクトリは別途用意したい=既存のcgi-binを使いたくない、という事情があります。「ScriptAliasは並べて記述すれば複数設定できますよ。して、この助言をもらいScriptAliasを複数行記述して2つ目のCGIディレクトリを設定することにしました。最初の動作確認と設定確認まず未設定の状態でDocumentRootに配置してアクセスします。server.----------------------------------------------当然エラーがでますので設定が必要ですよ、と。fgrepで設定対象を確認しておきます。/usr/lib/cgi-bin/----------------------------------------------/etc/apache2/sites-available/defaultでScriptAliasを追記すればよさそうですね。一応fgrepでAddHandlerも確認しておきましょう。.pl」とあるので、.cgiファイルはそのまま使えることが分かります。AddHandler設定は作業不要です。all</Directory>----------------------------------------------と表記があるので、続けて以下を追記します。all</Directory>----------------------------------------------注※この↑表記では正常に動作しません。(動作する設定は後述を参照)で再度アクセスしてみました。エラーログを見よ、とありますので見てみましょう。install.cgi----------------------------------------------これではだめらしい。間違いに気づくよくよく本で調べてみると、CGIは実行するための要素なのでプログラムファイルとなる.cgiファイルをダウンロードや表示させないためにDocumentRoot外のディレクトリにCGI専用ディレクトリを用意してCGIへのリクエストを流すためにScriptAliasを使って対応を設定するということです。