- - PR -
RedHat9にperlをインストールしたい
1
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-21 13:07
RedHat9にperlをインストールしたいです。
RedHat社の[ダウンロード]には、perl関連のRPMが多数あって どれを選択したらいいのか分かりません。 他にもhttpd.confやperl.confなどを修正する必要があるので したら教えてください。 ちなみに現在のドキュメントルートは、/var/www/htmlです。 cgi-binの場所は、/var/www/cgi-binです。 Linux初心者です。 一度理解してしまえば笑える話ですが、手元に資料がないので よろしくお願い致します。 | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-21 13:42
MAVERICK と申します。
perl って、スクリプト言語(?)の perl ですよね。 たいていの場合 OS と一緒にインストールされてるかと思いますが・・・ シェル上で
を実行してみて
というように、パスが表示されたらインストールされていると思います。
ということは、”Apache を立てて、CGIで何かする”ということですね。 であれば、 http://www.atmarkit.co.jp/flinux/rensai/apache05/apache05a.html http://www2h.biglobe.ne.jp/~hnakamur/technolab/linux/other/www.htm あたりが参考になるかと思います。 基本的には httpd.conf を修正しなくても動きますが、 httpd.conf の中の
行についている「#」を消してください。 あと、これは CGI スクリプトに付ける拡張子にもよりますが、
の部分を
のように、必要に応じて変更してください。 それから、perl で書かれる CGI スクリプトの先頭に
と書かれた部分があると思うので、そこの部分を
で表示されたパスに書き換えてください。 あと、できあがったスクリプト(例:test.pl)に実行権限を与えないといけないので、
というようにして実行権限を与えてあげてください。 実行権限の確認方法は
で、
というように、アクセス権のところに「x」が表示されていればOKです。 では。 [ メッセージ編集済み 編集者: MAVERICK 編集日時 2004-01-21 14:48 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-21 16:44
MAVERICKさん 回答して頂きありがとうございます。
早速ためしてみました。 コマンドプロンプトより % whereis perl と入力しました。すると... perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz と表示 されました。ですので、perlは既にインストール済である事は分かり ましたが、気になるのは /usr/share/man/man1/perl.1.gz です。 この件について知っておられますか? 未だ解決できていない問題があるのですが、ドキュメントルートに 設置しているindex.htmlは Windows PC の IE で表示できるので すが、cgi ファイルは呼び出す事ができませんでした。 httpd.conf の修正箇所として、AddHandler cgi-script .cgi .pl は、# を外してあります。 <Directory "var/www/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> 上記の構文も#の設定はしていません。 ドキュメントルート: /var/www/html → ここにindex.html設置 cgi-binの場所: /var/www/cgi-bin → 〃 test.cgi設置 Windows PC から呼び出しの例 index.htmlの場合、http://192.168.0.1/index.html → ○ test.cgiの場合、 http://192.168.0.1/cgi-bin/test.cgi → × 以上のような状況です。 どなたか手助けお願い致します。 | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-21 17:19
>この件について知っておられますか?
それ、 man perl と叩いて出るオンライン・マニュアルの内容を gz で固めた ものでしょう。Perl 自身を実行するのに無くてはならないというものでもありませんな。 | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-21 18:05
MAVERICK です。
cgi にアクセスしたときに表示されたメッセージと、 apache のエラーログの該当する部分のメッセージを 掲示して頂けると、的確な回答ができるかも。 ログファイルは、手元に RedHat な環境がないので うろ覚えなのですが、/var/log/httpd/error.log だったかと思います。 あと、たまに、IE のキャッシュに騙されることがあるので、 そのあたりの確認をした方がいいと思います。(経験談 ![]() では。 [ メッセージ編集済み 編集者: MAVERICK 編集日時 2004-01-21 18:19 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-21 19:44
CGI ファイルを EUC で作成していなかった為、HTTPエラーコード
Error 400 が出ていました。 EUC モードでエディタを開きテスト用の CGI を作成すると正常に 動作しました。 皆様( MAVERICKさん )の助言ありがとうござしました。 ただ、通常の CRLF で作成した CGI が Error 400 を吐くのは なぜなんでしょうか? 疑問が残ります。 | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-21 20:29
MAVERICK です。
これは、文字コードというより改行コードが悪さしてますね。 UNIX では、基本的に改行コードは「LF」のみですので、 余計なコードが入っているとエラーになっちゃいます。 だけど、「Error 400」っていうのは、おかしいなぁ。 ふつう、この手のエラーは「Error 500」になるはずだけど・・・ では。 [ メッセージ編集済み 編集者: MAVERICK 編集日時 2004-01-21 20:30 ] | ||||||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2004-01-22 09:05
MS-06R-2です。
HTTPエラーは、400 ではなく 500 (タイプミス)でした。 EUCの件について回答して頂きありがとうございました。 よく理解できました。 では |
1