英語版 Qube2700 では Control Panel の Access Rights の Install CGI Scirpt を Restricted ではなく、Open にします。
この設定を行っていないまま、CGI プログラムを起動しようとすると、
CGIWrap Error: User CGIs Prohibitedというメッセージが Web ブラウザに返ってきます。
RaQ2 では、サイトの管理→サイトの設定を選び、「CGIスクリプトを使う」に チェックをします。
これ以上詳しい設定変更を要する人は、/etc/httpd/conf/ を 直接更新するしかないと思いますが、よく判らない人は 触らない方が良いと思います。
例えば、www.foo.co.jp というドメインのマシンの、bar というユーザが CGI プログラムを置く場合なら http://www.foo.co.jp/users/bar/sample.cgi という名前で、通常の HTML ファイルのようにアクセス出来ます。 拡張子は .cgi でないといけません。
ところがトップディレクトリ、つまり /home/httpd/html/groups/home/ 以下に
sample.cgi を置いた場合、http://www.foo.co.jp/sample.cgi
で実行した場合は
CGIWrap Error: User not found
CGIWrap was unable to find the user 'cat.cgi' in the password file on this server.
というエラーになります。
対処法としては、http://www.foo.co.jp/groups/home/sample.cgiで
アクセスするか、sample.cgi を/home/httpd/cgi-bin/ 以下に置いて、
http://www.foo.co.jp/cgi-bin/sample.cgi でアクセスするかどちらかになります。
CGIWrap Error: Execution of this script not permittedというエラーが Web ブラウザに返ってきます。
PERL : /usr/bin/perl awk : /bin/awk nkf : /usr/local/sbin/nkf : 漢字コード変換ツール 日本語版 Cobalt のみ grep : /bin/grep, /bin/egrep : 正規表現による文字列マッチ sed : /bin/sed : ストリームエディタ tr : /usr/bin/tr : 文字変換 sort : /bin/sort : ソート(整列) expand : /usr/bin/expand : TAB を必要数の空白に変える unexpand : /usr/bin/unexpand : 連続する空白を必要な TAB に変える gzip : /bin/gzip, /bin/gunzip, /bin/zcat : GNU gz による圧縮 date : /bin/date : 日付・時刻を得る shell : /bin/sh : シェル (bash) mail : /bin/mail : メイル送信 sendmail : /usr/sbin/sendmail(実体) /usr/lib/sendmail(シンボリックリンク) chmod : /bin/chmod : ファイルのアクセス権限設定
Qube2700 の場合、CGI の場合同様に、コントロールパネル→アクセス権限を選び
「CGIスクリプトのインストール」を「オープン」にしておく必要があります。
(内部的には、この設定で /etc/httpd/conf/ALLOW_USER_CGIS ファイルが空のまま作成されます。)
英語版では Control Panel の Access Rights の Install CGI Scirpt を Restricted ではなく、Open にします。
Cobalt では Web から設定するようなものが用意されていませんので、 これ以降は設定ファイルを直接編集するしか有りません。
/etc/httpd/conf/srm.conf の 146行目近辺を
AddType text/html .shtml AddHandler server-parsed .shtmlというようにします。(元は # 付きでコメントアウトされています。)
また、/etc/httpd/conf/access.conf の 24 行目近辺、
<Directory /home/httpd/html>(RaQの場合は Directory /home/sites/home の部分) の少し下の
Options
行に Includes を追加します。つまり、
Options Indexes SymLinksIfOwnerMatchとなっている行が、以下のようになります。
Options Indexes SymLinksIfOwnerMatch Includesこのようにすれば、拡張子を .shtml としておけば動くと思います。
ちなみに、exec は許可されてしまいます。exec を実行させたくない場合は Includes の代わりに IncludesNOEXEC と書きます。
大事なことですが、コンフィグを書き換えた場合は httpd のリスタートが必要です。 やり方が判らない場合は、Cobalt そのものを再起動するのが安全確実です。
Oct. 1998.
Thanks for Shibuya, Koyama and Yamamoto
Apr. 1999.
Thanks for Aoki.