SSI/CGI の起動
/etc/httpd/conf/httpd.conf を編集する。このうち、Options ディレクティブの
ExecCGI が CGI 起動の許可部分。Include が SSI の許可部分。
# vi /etc/httpd/conf/httpd.confCGIが実行可能な拡張子の設定。コメントをはずし「.pl」も加えておく
以下のコメントをはずす
#<Directory /home/httpd/cgi-bin>
# AllowOverride None
# Options ExecCGI Includes
# Order allow,deny
# Allow from all
#</Directory>
# AddHandler: allows you to map certain file extensions to "handlers",SSI を起動させるには二つの方法がある。一つは拡張子に実行属性を付与する方法。SSI を起動したいファイルの拡張子を .shtml に変更する必要がある。(デフォルト)
AddHandler cgi-script .cgi .pl
AddType text/html .shtmlもう一つが、全ファイルで起動可能に設定し、実際に起動したいコードが埋め込まれたファイルに実行属性を与える方法。ただし、サーバーのオーバーヘッドが大きくなり負荷が増大するので実用的ではない。
AddHandler server-parsed .shtml
XBitHack on
| All | MultiViews以外のすべての指定を有効にする |
| ExecCGI | CGIの実行を許可する |
| FollowSymLinks | シンボリックリンクを許可する |
| SymLinksIfOwnerMatch | ファイルとディレクトリがリンクされている場合、ユーザIDが同一の場合のみシンボリックリンクを許可する |
| Includes | SSI(Server Side Include)を許可する |
| IncludesNOEXEC | SSI自体は許可するが「#exe」(コマンド実行)とCGIスクリプトの「#include」は許可しない |
| Indexes | リクエストされたディレクトリにDirectoryIndex(index.htmlなど)が存在しない場合、ディレクトリ下のファイルを一覧表示する |
| MultiViews | 言語対応機能の許可 |
