プロが教える店舗&オフィスのセキュリティ対策術

RedHatLinux8をインストールして、
Webサーバーを立てよう~と思い立ててみました。
Apache2.0.40です。
一応htmlファイルはのぞけるようになったんですが、
CGIがちょっとおかしくて・・・
#!/usr/bin/perl
print "Content-type: text/html\r\n\r\n";
print "Hello, World.";
↑を書いたtest.plはHello, Worldとちゃんと表示されました。
しかし、掲示板・カウンターを開くと・・・
「ログファイルを開くことができません」
という主旨のメッセージが表示され、正しく実行できません。
./log.txt とちゃんと指定しているんですが・・・
そのログファイルを開くとサーバーがCGIをして認識しているらしく、
「InternetServerError」が出て開けない・・・。
CGIの属性は755 ログも緩くして755に設定しました。
それでも状況は変わりません。

A 回答 (7件)

私も最新版を試してみましたが,以下の手順で動きました.(RedHat-8.0)



・アーカイブを /var/www/cgi-bin で展開
# cd /var/www/cgi-bin
# lha -x /tmp/mkakikomitai.lzh
・mkakikomitai.cgi の perl のパスを修正
・スクリプトの改行コードを変換
# dos2unix mkakikomitai.cgi
・cgi の実行許可
# chmod 755 mkakikomitai.cgi

これで cgi は動くようになったので,あとはエラーを見ながら(いい加減ですが…)以下を実行

# mkdir old
# chmod 666 mkakikomitai.cnt
# chmod 666 mkakikomitai_cnt.txt
# chmod 666 mkakikomitai.txt

これでもうまくいかないようなら,cgi を設置した場所や,apacheの設定で変更した箇所など,詳しい情報を補足してください.
    • good
    • 0

自信はないのですが、おいらが似たような状態になったときはディレクトリのパーミッションがだめでした。


ディレクトリも書き込み可かどうか確認してみはどうでしょうか?
    • good
    • 0
この回答へのお礼

ここでまとめてお礼させて頂きます。
なんとか自己解決しました(^^;)
原因はperl.confの設定ミスで、
本の通りにやってしまったのが原因と思われます。
余分な行をコメントアウトしながら試行錯誤を重ね、
見事に動きました~。
しかし文字化けが酷く日本語表示は不可能・・・
これは自分で調べたいと思います。
今まで回答して下さった皆さん、どうもありがとうございました。
いろいろと勉強になったのでとても良かったと思っています。

お礼日時:2003/05/07 23:26

試しにVer0.871をダウンロードしてみました。



mkakikomitai.cgiの先頭に「設置方法構成」が記載されているので、
それにしたがって権限設定・配置したら問題なく動きましたけど。

perlのパスが/usr/local/bin/perlになってたので、変更した程度ですね。

文字化けが激しいので、少し修正が必要かも。

とりあえず、動作確認報告でした。


>./log.txt とちゃんと指定しているんですが・・・

ところでlog.txtの説明などどこにも見当たらないのですが?

この回答への補足

画面が真っ白になったのは、文字コードの変換ミスで
中がめちゃめちゃになったからだと思われます。
ちゃんとしたCGIをもってきて設置してもやはり・・・
「ログファイル(./mkakikomitai.txt)のオープンに失敗しました 」
と出ます。自分なりに考えたんですが・・・

http://サーバーマシンアドレス/cgi/main/mkakikomitai.txt

cgi ←CGI設置フォルダ main←掲示板CGI設置フォルダmkakikomitai.txt←ログ
↑のアドレスを指定すると・・・ InternetServerError
と出ます。多分サーバー側がログをCGIとして認識しているのが原因かと(w)
設定ミスでしょうか?

補足日時:2003/05/06 17:56
    • good
    • 0

ログファイルを置くためのディレクトリを作成し、その


ディレクトリの属性を777にして、ログファイル自体を
666にしてみたら、どうですか?。

これでできないなら、cgiのソース等みないとわからないですね。

この回答への補足

logフォルダを作って、所有者apacheグループapache
にして、中のログファイルも上と同様に設定しました。
(このような設定でいいんでんしょうか?)
一応エラーメッセージは消えましたが・・・
今度は真っ白画面になってしまいました(w
こんなときエラーの原因を突き止める方法というのは
無いのでしょうか?
CGIは配布されているもっと書き込み隊を使用しています。
http://tackysroom.com/cgi_mkakikomitai.htm
本体は設定項目以外は弄っていません。

補足日時:2003/05/05 23:01
    • good
    • 0

こんにちは。



ログのパーミッションを777や766、666にしてみたらどうでしょうか?
どういうスクリプトをお書きなのか分かりませんが、
掲示板やカウンターでログ・ファイルのパーミッションが755では訪問者が書き込めなくなってしまうような気がします。

この回答への補足

666,766,777等にしてみましたがどれも結果は同じでした。
どうしてなんでしょう・・・・

補足日時:2003/05/05 18:46
    • good
    • 0

ログのパーミッションを0666(rw-rw-rw-)にしてみては。

この回答への補足

やってみます。

補足日時:2003/05/05 18:37
    • good
    • 0

cgiファイルのオーナーは、apacheのユーザーですか?


そうでなければ、属性は666だと思います。

あと、「ログファイルを開くことができません」のメッセージ
は、apacheが生成しているのですか?。それともCGIの
中のロジックが生成しているのですか?。

この回答への補足

CGIが生成しています。
ログが開けなかったらエラーが出てくるみたいです。

補足日時:2003/05/05 18:36
    • good
    • 0

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