【02: CGI利用の準備

SVシリーズでは、デフォルト設定としてCGI専用ディレクトリである /www/cgi-bin ディレクトリが用意されており、その他のディレクトリではCGIの実行はできなくなっています。
初期状態のRV3シリーズでは、/www/cgi-bin ディレクトリへCGIを設置するだけで、すぐにCGIを動作させることができますが、 /www/cgi-bin ディレクトリ以外のwebコンテンツ内で、CGIの設置が行いたい場合は、「.htaccess ファイルでの設定」もしくは「httpd.conf ファイルでの設定」のいずれかの編集により、CGI実行許可の設定が可能となります。
サブホストドメインの場合のCGI専用ディレクトリは /home/サブホスト管理者ユーザID/www/cgi-bin になります。
例えばサブホスト管理者ユーザIDが「subhost」である場合は、/home/subhost/www/cgi-bin となります。

■.htaccess ファイルでの設定
以下の内容が記述された .htaccess (先頭のドットに注意してください) というファイルを作成し、ドキュメントルート(/www/htdocs)へASCIIモードでアップロードします。
この作業を行うことで、ドキュメントルート(/www/htdocs)以下のどのディレクトリでもCGIを実行することができます。
なお、サブホストドメインで同様にどのディレクトリでもCGIを実行できるようにするためには、メインドメインの場合と同様に以下の内容の .htaccess ファイルを作成し、サブホストドメインのドキュメントルート(/home/サブホスト管理者ユーザID/www/サブホストドメイン)へASCIIモードでアップロードしてください
httpd.conf ファイル編集

Options +ExecCGI
AddHandler cgi-script cgi
AddType text/html cgi

05.SSI の設定
も同時に行う場合は、以下の .htaccess ファイルを作成してください。

Options +Includes +ExecCGI
AddType text/html .shtml
AddType text/html cgi
AddHandler server-parsed .shtml
AddHandler cgi-script cgi
 
■httpd.conf ファイルでの設定

Webサーバの設定ファイルである httpd.confファイル(/www/conf/httpd.conf) に以下の設定を行うことで、ドキュメントルートディレクトリ(/www/htdocs) 以下のどのディレクトリでもCGIを実行することができます。

1) httpd.conf ファイルの権限設定
httpd.conf ファイルをFTPで編集できるようにするために、以下のコマンドを実行します。

% chmod g+w /www/conf/httpd.conf
2) httpd.conf ファイルの修正
httpd.conf ファイルの以下の3個所を修正します。

317行目付近
[修正前]


Options Indexes FollowSymLinks MultiViews

[修正後]


Options Indexes FollowSymLinks MultiViews ExecCGI
 
05.SSI の設定 も同時に行う場合は、以下のように修正してください。

[修正後]

Options Indexes FollowSymLinks MultiViews ExecCGI Includes
 

365行目付近
[修正前]

<Directory /home/*/www>
AllowOverride All
Options Indexes MultiViews SymLinksIfOwnerMatch IncludesNoExec
</Directory>


[修正後]

<Directory /home/*/www>
AllowOverride All
Options Indexes MultiViews SymLinksIfOwnerMatch ExecCGI
</Directory>
 
05.SSI の設定 も同時に行う場合は、以下のように修正してください。

<Directory /home/*/www>
AllowOverride All
Options Indexes MultiViews SymLinksIfOwnerMatch ExecCGI Includes
</Directory>
 

799行目付近
[修正前]


#AddHandler cgi-script .cgi

[修正後]

AddHandler cgi-script .cgi
 
Apache (Web サーバ) の再起動
以下のコマンドを実行し、 01:サーバの再起動を行います。

% restart_apache
 
この再起動を行う事で、編集したhttpd.confファイルがサーバに反映され、webディレクトリ内でのCGI実行が可能になります。