![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Linuxサーバー初心者です。
http://fedorasrv.com/apache-userdir.shtml
上記サイトを参考に、apachiの設定を変更したのですが、
CGIだけうまく動作しません。
「403 Forbidden」
と表示されます。
ちなみにSSIやPHPは正常に表示されます。
なにかいい解決策はないでしょうか? よろしくお願いします。
No.7ベストアンサー
- 回答日時:
> which perlの結果ですが、参考サイトと同じ結果でした。
そうなんですか?
参考サイトのCGI(Perlスクリプト)は、下記のようですから使用しているperlコマンドは、1行目の記述(#!/usr/local/bin/perl)から /usr/local/bin/perl だから、参考サイトと同じならご使用の環境でも perlコマンドは /usr/local/bin/perl という事ですよね。
> #!/usr/local/bin/perl
> print "Content-type: text/html\n\n";
> print "<html>\n";
> print "<head>\n";
> print "<title>CGI test</title>\n";
> print "</head>\n";
> print "<body>\n";
> print "CGI test\n";
> print "</body>\n";
> print "</html>\n";
で、使用されているLinuxディストリビューションは
> LinuxはFedora8を使用。
とあるから、Fedora 8のようですが、パッケージからインストールされたperlコマンドは/usr/local/binディレクトリ配下にインストールされないのですが、別途ご自分でperlコマンドをtarballからインストール等でもされたのでしょうか?
[lean@thrud ~]$ cat /etc/redhat-release
Fedora release 8 (Werewolf)
[lean@thrud ~]$ which perl
/usr/bin/perl
[lean@thrud ~]$ rpm -ql perl-5.8.8-30.fc8
:
/usr/bin/perl
:
CGI(Perlスクリプト)に記述されているperlコマンドが、実際に存在するのは /usr/bin/perl なのに間違って /usr/local/bin/perl とすると
> [Mon Sep 29 17:17:58 2008] [error] [client 127.*.*.*] Premature end of script headers: index.cgi
になります。
この回答への補足
なるほど……
rpm -qf で/usr/local/bin/perlと/usr/bin/perlを使ってみたのですが、前者の方は「そのようなファイルやディレクトリはありません」とでていたので、見間違いだったのかもしれません。
エラーログをみたところ
[Tue Sep 30 16:06:34 2008] [error] [client 127.*.*.*] Premature end of script headers: index.cgi
だったので、パスを直してみます
No.5
- 回答日時:
No.3です。
which perl を実行してperlがどこにあるか確認してください。
例)
%which perl
/usr/bin/perl
参考にされたサイトだとCGIのPerlコマンドは
> #!/usr/local/bin/perl
と /usr/local/bin/perl のようですが、これが which perl の結果と同じですか?
異なるならwhich perlの結果に変更してください。
例)
%which perl
/usr/bin/perl
%vi index.cgi
#!/usr/local/bin/perl
↓
#!/usr/bin/perl
No.4
- 回答日時:
SSIが動作してCGIが動作しないならCGI内部の問題です。
エラーメッセージから、正当なHTTPヘッダを出力していないようなので、エラーメッセージか何か出しているんじゃないでしょうか。
リモートで操作可能でPOSTパラメータが無いなら直に実行してみるとかしてみてはどうでしょうか。
もし不可能なら、CGIの最初の方の処理に
print "Content-type: text/plain\n\n";
等を入れてブラウザに何が表示されるのか確認をしてみてください。
この回答への補足
回答ありがとうございます。
ブラウザには以下の文が表示されました。
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, host@****.co.jp and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
No.2
- 回答日時:
権限の確認または httpd.conf でperl動作可能なdirectiveが書かれているか確認しようね
http://httpd.apache.org/docs/2.2/ja/
この回答への補足
回答ありがとうございます。
perl動作可能なdirectiveが書いてある箇所を確認してみます。
参考サイトありがとうございます
No.1
- 回答日時:
設定の見直しが必要では?
「403 Forbidden」というエラーが表示される。
http://www.cdwavmp3.com/dl/qa/download_403error. …
どの設定を具体的に直すかについてはご自身でね。
だってLinuxのどのディスビのバージョンかも分からない。
CGIの言語だって不明なんだからね。
かと言ってそれを明記すれば一発解決できる程甘くはないし・・・
まぁここを参考にしてください。
パソコンおやじ
http://www.aconus.com/~oyaji/
この回答への補足
回答ありがとうございます。
参考サイトのURLありがとうございます。
申し訳ないのですが、パソコンおやじの方は何処を参照したらいいのでしょうか。
参考までに↓
LinuxはFedora8を使用。
CGIについては、私はよくしらないのですが先ほどのURL通りにやっているのでPerlではないかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- 画像編集・動画編集・音楽編集 AfterEffectでのシャターの挙動がおかしい 1 2023/05/07 00:38
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- ネットワーク 自作のサーバーPCが自宅内のネットワークに接続できない 3 2023/01/24 16:58
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bashでシングルクォート内の変...
-
スクリプトのエラー「unexpecte...
-
/usr/local/bin/rubyを実行する...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
apachectl start command not f...
-
Linuxでシェルスクリプトがフル...
-
Dirコマンドでフォルダ内ファイ...
-
父子家庭、 子供の進学費用を全...
-
エクセルの表にヘンな枠が・・・
-
SONYの音楽ソフト「x-アプリ」...
-
至急です、Ubuntuに詳しい方助...
-
Linux(Fedora)で外付けHDDが...
-
TOPコマンドで表示するCPU使用...
-
ファイル名についている「-」と...
-
batである文字列内に特定の文字...
-
UNIX コマンドにおける # や円...
-
pingは正常なのにtracerouteで...
-
シェルスクリプトでエラーが出ます
-
tar.bz2ファイルのインストール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
ロケールをutf8からsjisにする...
-
crontabでsql/plusの起動
-
自動パスワード入力でscpするス...
-
apachectl start command not f...
-
Linuxでシェルスクリプトがフル...
-
cron(javaプログラム)からroot...
-
シェルスクリプトで$RANDOMの値...
-
Linuxで自作バッチファイルの置...
-
cronの@rebootでのdateコマンド...
-
ログイン時にエラーメッセージ...
-
bad interpreterで、シェルが使...
-
Cronジョブの終了時刻を簡単に...
-
mekeコマンド
-
sudoでNOPASSWDとしてもパスワ...
-
Bシェルで文字列が日付として正...
-
/usr/local/bin/rubyを実行する...
おすすめ情報