• ベストアンサー

FreeBSDのperl

自分のPCでCGIが動かずに苦戦しているのですが 環境はpc9821にFTPでインストールしてUSER環境を 選択しています。この環境でperlへのパスをCGIを使うためのファイルを/usr/bin/perlに指定していたとおもうのですがperlはきちんとうごいているのでしょうか? USER環境にはperlははいっていないということはありませんでしょうか?よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 78tch
  • ベストアンサー率31% (50/157)
回答No.1

#which perl かと。 使えないようにすることはないと思いますが、入ってないことはあるかも知れませんね。

naga092
質問者

補足

#which perlを実行すると /usr/bin/perlとでました。 どうやらはいっているようです。 ほかにサーバー機に必要なものは ないのでしょうか? perlでうごかしているCGIのようなのでperl があればいいのかなあとおもっているのですが・

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • root139
  • ベストアンサー率60% (488/809)
回答No.4

#3で確認させて頂きましたが、perlのパスの指定は、ご指摘の通り、「!」が入り「#!usr/bin/perl 」となりますね。失礼しました。 perlは動いているようですので、apacheの設定が怪しいと思います。 手元に2.0が無いので1.3.20の場合の話になりますが、httpd.confを下記のように設定すれば、perlのcgiスクリプトが動作したと記憶しています。 a. CGIを動かすディレクトリに、ExecCGIオプションが設定されており、cgi-script のハンドラが設定されている。 例------------------------------------------------------- <Directory "/usr/hoge/html"> Options FollowSymLinks MultiViews ExecCGI  ・  ・  ・ </Directory> --- 中略 --- AddHandler cgi-script .cgi # (←拡張子をcgiにする場合) --------------------------------------------------------- もしくは、 b. CGIを動かすディレクトリが、スクリプトエリアスに設定されている。 例------------------------------------------------------- ScriptAlias /cgi-bin/ "/usr/hoge/cgi-bin/" <Directory "/usr/hoge/cgi-bin">    ・    ・    ・ </Directory> ---------------------------------------------------------

naga092
質問者

お礼

 perlの件は解決しましたのでいったん終了させていただきます。たいへんありがとうございました。

すると、全ての回答が全文表示されます。
  • root139
  • ベストアンサー率60% (488/809)
回答No.3

whichでPATHが表示されるということは、PATHは通っていると思われますので、 # perl -v としてバージョン情報が表示されれば、perlは使える状態になっていると思います。 また、CGIで動作しないとのことですが、WEBサーバーはapacheでしょうか? perlのパスの指定は、CGIスクリプトの先頭にパス("#/usr/bin/perl"など)を記述しているということでよろしいでしょうか?

naga092
質問者

補足

# perl -vとするとthis is perl. version 5.005_03 built for i386-freebsd とでました。perl は正常に うごいているようです。 Web サーバーは apache 2.0です。もともとはapache1.3.27だったのですが/usr/local/etc/apacheのhttpd.confをさわりすぎておかしくしてしまい。defaultをのこしていなかったのでapacheを入れ直すとき1.3.27をいれなおすとそのままもとのhttpd.confのままだったので2.0にするとhttpd.confを新しくしてくれました。 先頭のパスは#/usr/bin/perlではなく#!/usr/bin/perl となっており!がついています。

すると、全ての回答が全文表示されます。
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

perlがインストールされているかは、pkg_infoコマンドで分かります。 # pkg_info | grep perl <ENTER> perl-5.6.1_11 Practical Extraction and Report Lnaguage どのファイルがどこにインストールされているかは -L オプションで わかります。 # pkg_info -L perl-5.6.1_11 <ENTER> perlの場所が分かったら、PATHが通っているか確認して下さい。

naga092
質問者

補足

which perlとすると/usr/bin/perlとでました。 しかし# pkg_info | grep perl としてもなにもでてきませんでした。 これはなにをいみしているのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A