プロが教えるわが家の防犯対策術!

ご指導お願いします。
FedoreCore4を使い自宅サーバ開設に挑んでいます。
WEBサーバ、FTPサーバ、メールサーバと設置しました。そして現在CGIを設置しようと検討しています。
FTPサーバを使いクライアントからCGIをアップしパーミッションを解説書通りにしたのですが実行されません。
そこでお聞きしたいのですが、
レンタルサーバのスペースように、フォルダごとアップし各実行権をあわせるのですはダメなのでしょうか?
ちなみに、/cgi-bin に簡単なテストCGIのみをアップした場合には動作しています。
しかし今回のようにフォルダの中にCGI本体、ログ、画像 ...と入ったものは動作しません。
***エラー表示********
500 Server Error
*****************
どうぞ宜しくお願いします。

A 回答 (4件)

まずは原因を探りましょう。


apacheでしたら、エラーログをはき出させてみればいいと思います。それを見て調整すれば解決でしょう。
おそらくは、文字コードの問題か、パーミッションの問題だと思いますが。
    • good
    • 0

FedoraCore4(以下、FC4)をご使用なら、WebサーバーはおそらくApacheでしょう。


また、一般的なCGIを実行するためのPerlインタプリタは、FC4のインストールオプションを
著しくいじってない限り、大抵インストールされています。

まず、CGIスクリプトをテキストエディタ等で開き、一行目のPerlの位置が正しいかを
確認してください。
FC4であれば、おそらくPerlは、/usr/bin/perl辺りにあるはずです。
(正しい位置を調べるには、ターミナルから"which perl"とコマンドを打って調べてください。)
CGIに記述されているperlの位置が、FC4側と異なる場合は、CGI側を修正するか、
ターミナルから"ln -s /usr/bin/perl /usr/local/bin/perl"とでもして、
シンボリックリンクでも張ってあげてください。

次に、Webサーバーの設定です。ここではApacheを前提とします。
Apacheの設定ファイルを開き、CGIを実行したいディレクトリを、Directoryディレクティブで
指定します。そのとき、OptionsにExecCGIを指定します。
(これは、CGIの実行を許可するという設定です。このような設定は、セキュリティのことも
関係してくるので、必ずApacheマニュアルを読んでおいてください。)

# /home/hogeディレクトリでCGIを実行する場合。
<Directory /home/hoge>
Options ExecCGI
</Directory>

あと、設定ファイル後半のほうに、"#AddHandler cgi-script .cgi"のような記述があると
思いますので、このコメントを外します。
(拡張子cgiのファイルをCGIスクリプトとして認識する、という設定です。)

これでApacheを再起動すれば、簡単なCGIは実行できるはずです。
ただ、ひとつ忠告させていただきますが、システム、設定を理解せずにCGIを走らせることは
セキュリティ上好ましくありません。頑張って勉強してください。
    • good
    • 0

>しかし今回のようにフォルダの中にCGI本体、ログ、画像 ...と入ったものは動作しません。



そのフォルダに対して、CGI可能なオプションを付けてますか??
Webサーバの設定を見直してみてください。
分からなければ、素直に/cgi-binにプロフラムを置くとか・・・。

この回答への補足

ご指導ありがとうございます。
特別にフォルダに対してもオプションをつけるのですか?
例えば、
/cgi-binに設置するとしまして、
※ダウンロードしたLHZ ・・ここからはクライアント
 ・解凍手段 → 本体 ログ 画像
 ・FTPアップ手段 → 新規フォルダを作成 /cgi-bin
  そのフォルダに解凍したものをアップします
 ・各種実行権等を変更
・・というような手段ではダメなのでしょうか?
いままではレンタルサーバしか利用したことがなかったので、いつもこの方法で設置していました。

※もしかして自分で起てたサーバの場合には、CGIの本体部分と画像やログを別々に設置しなくてはならないのでしょうか??
どうぞ宜しくお願いします。

補足日時:2005/08/19 10:05
    • good
    • 0

ActivePerlなどのCGI起動用のソフトウェアは


インストール・設定されてますでしょうか?

参考URL:http://www.activestate.com/

この回答への補足

ご指導ありがとうございました。
FedoreCore4などのLinuxOSでも"ActivePerl"などの
ソフトウェアって特別に入れるものなのでしょうか?
どうぞ宜しくお願いします。

・・・初心者バレバレ・・ですね(笑

補足日時:2005/08/19 10:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!