• ベストアンサー

パールスクリプトを呼び出すときのパスの指定について

danyの回答

  • dany
  • ベストアンサー率35% (27/77)
回答No.3

あぁ~今はそんな講座があるんですね。 個人的にはお金を払って覚えるようなものではないと 思うんですが、まぁそれはどうでもいいことですね。^^; ・URL指定 httpで呼び出す時の場所指定。 ・絶対指定 パスを頭から全部書くもの。 URLなら「oshiete.goo.ne.jp」とサーバー名から、 telnet、ftpとかなら「/」から始まるもの。 ・相対指定 現在いる場所から戻ったり、現在地の中から先の場所。 URLなら「../」とか「cgi-bin/count/」、 telnet、ftoなども同様。 cockyさんが詳しく書いてらっしゃいますが、もちょっと 簡単に言うと 「/usr/home/~」はwebサーバーで公開されているディレクトリ ではないから「/~s100000/~」と書く必要があるということです。 その理由は「一般公開したくない場所まで公開することになる」 というセキュリティ上の問題。もちろん「/usr/home~」から公開 することも可能ですがセキュリティ上好ましくありません。 なんとなくわかっていただけましたか? さらに詳しいことが 知りたい場合はApache関係のサイトを見たりするといいかも。

参考URL:
http://www.apache.or.jp/jdocs/conf/documentroot.html
harisun
質問者

お礼

なるほど、セキュリティー上の問題があるからなんですね。 そう言われると納得できます。 ありがとうございました。

関連するQ&A

  • Perlのパス

    レンタルサーバーのCGIの説明で、「1.perl のパスは、/usr/bin/perl です。2.プログラムの先頭の記述は必ず、#!/usr/bin/perl となります。」って書いてあるんですけど、これを使用する場合、 http://www.kent-web.com/data/cart.html たぶん、admin.cgi , cart.cgi , order.cgi を エディタ で開いて以下の箇所をあたまの部分、#!/usr/bin/perl を変えればいいんですかね?それで1.の/usr/bin/perl は何処に書くのかな?それとも説明 の前置きですかね?「1.perl のパスは、」という意味はリンクがこうなるよ!って意味ですかね? ただま、KENT WEBみながら苦戦してます。 シロウトですいません。

    • ベストアンサー
    • Perl
  • 相対パスについて

    初歩的なことですみません。 相対パスについて教えてください。 <public_html>---<cgi-bin>---<ccc>---<ttt.pl> *************| *************---<eee>---<test.html> こちらの構成で、(***は無視してください。) (public_htmlの下はcgi-binとeeeフォルダです。) test.htmlから見た、ttt.plのパスは ../cgi-bin/ccc/ttt.pl  でよいのでしょうか?? CGIを設置する時、ディレクトリを変えたら、動かなくなってしまったので・・・ 宜しくお願いします。

    • 締切済み
    • CGI
  • カウンターの画像が表示されない

    無料カウンターの画像が「×」になります perlパスはusr/bin/perlです。 indexと同じ階層にdaycounterのフォルダをおきました。パーミッションはサーバーの方が HTML画像ファイル604 CGI実行ファイル700 CGIデータファイル600 .htaccessファイル604 ディレクトリ705 index.html ┃ daycounterフォルダ(755)   ┃   img1フォルダ(701)━gif画像(604)   ┃   img2フォルダ(701)━gif画像(604)   ┃   cgi-lib.pl(600)   ┃   counter.html(604)←使用しないそうです   ┃   daycounter.cgi(700   ┃   daycounter.dat(600)   ┃   gifcat.pl(600) そこのapeboardの設置を参考にしました。 http://www.lolipop.jp/?mode=faq&state=detail&genreid=6&faqid=000120 imgフォルダだけバイナリで転送してあります。 カウンターのソースは <IMG src="http://127.0.0.1/yoshi/public_html/free_cgi/counter/daycounter/daycounter.cgi?mode=total"><P> 本日:<IMG align="absmiddle" src="http://127.0.0.1/yoshi/public_html/free_cgi/counter/daycounter/daycounter.cgi?mode=today">  昨日:<IMG align="absmiddle" src="http://127.0.0.1/yoshi/public_html/free_cgi/counter/daycounter/daycounter.cgi?mode=yesterday"> です。

    • ベストアンサー
    • CGI
  • Postfixでメールを受信したらPerlスクリプトを実行したい

    Solaris10で構築したサーバにて、ユーザー宛のメールを受信したら Perlで記述したスクリプトを実行したい為、下に記載の手順1及び2の 方法で受信メールを渡すパイプを記述したのですがスクリプトが実行されませんでした。 手順1,2共に他のメールアドレスへ転送させた場合、メールの転送は正常に行われました。 メールを受信したらPerlスクリプトを実行するには、どのように設定すればよいのでしょうか? main.cfやmaster.cfに更なる設定の記述が必要なのでしょうか? 主な環境は下記の様になっているのですが不足がありましたら御指摘下さい。 申し訳ありませんがよろしくお願いします。 【手順1】~/.forwardによるスクリプト起動     (1)~/.forwardに、下記の様な記述をしましたがスクリプト起動せず。 (.forwardの記述)        (パターン1) \username,"|/home/username/test.pl"        (パターン2) "|/home/username/test.pl"        (パターン3) |"/home/username/test.pl"        (パターン4) "|/usr/local/bin/perl /home/username/test.pl"        ※下記のような転送は処理されました         \username,username@test.ne.jp 【手順2】main.cf修正によるスクリプト起動     (1)/usr/local/etc/postfix/main.cfに下記行を作成       alias_maps = hash:/usr/local/etc/postfix/aliases,hash:/usr/local/etc/postfix/usr_alias       (usr_aliasの記述) username: :include:/home/username/include       (includeの記述) |"/home/username/test.pl"               他に上記.forwardの記述の4パターンを試しましたが全てスクリプト起動せずでした。 【サーバ環境】 OS:Solaris10(Sparc) MTA:postfix-2.5.3 【test.plの内容】 #!/usr/local/bin/perl open(DATA_FILE, "> test_log.txt"); print DATA_FILE "Test_OK!!!\n"; close(DATA_FILE);     ※備考       ・保存場所:/home/username/test.pl       ・パーミション:test.plと/home/username共に777 (オーナはusername) 【main.cfについて】 念のために allow_mail_to_files = alias,forward,include allow_mail_to_commands = alias,forward,include の記述を追加しています。

  • perlパス

    Windows2000機でWebServerを建てたのですが、CGIが認識しません。 WEBサーバーのクライアントソフトはApacheで 普通にHTMLは見れています。 perlをインストールした場所は C:\usr\local で VerはActivePerl 5.8.8.822 for Windows (x86)です。 場所は↑なのでCGIファイルのperlのパスはそのままいじらず、 perlのパスは#!/usr/local/bin/perl です。 一応#!C:/~以下   もやりましたがだめで、 CGIのテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか

  • CGIのパス /usr/bin/perl--

    こんにちは。CGIの最初のパス名をusr/bin/perl --と「ーー」をつけないと動かないCGIがあります。「ーー」はなんの意味なんなのでしょうか?

    • 締切済み
    • CGI
  • Perlをcshスクリプトに書きなおしたい

    以下のPerlで書かれたCGIをcshスクリプトに書き直したく思っています。 #!/usr/local/bin/perl # load libraries require ("/usr/local/bin/cgi-lib.pl"); # cancel stdout buffering $| = 1; # header response print "Content-type: text/html\n\n"; print STDOUT "<HTML><HEAD></HEAD><BODY>\n"; &ReadParse; open(COMM, "|./message > ./message.out") || die; $in_text = $in{"Name"}; print COMM "Name: $in_text\n"; ... "Name"という変数名で受け取った文字列を$in_textに代入している ようですが、この辺りの処理、cshではどう書けばよいのでしょうか。

    • ベストアンサー
    • CGI
  • biglobeでperl利用

    biglobeのホームページにcgiを置きたいです。 GsMonというフリーのスケジューラーを設置したいのですが、 既にローカルサーバーでのテストはできています。 GsMon http://www17.ocn.ne.jp/~seiko/ Biglobeサポート http://homepage.biglobe.ne.jp/manual/shiyou/index.html より CGIの呼び出し方 http://www**.biglobe.ne.jp/~ホームページアカウント/xxxxx.pl 利用可能なコマンド 実行パス perl /usr/local/bin/perl とありますが インストール、初期設定時の画面で データディレクトリ (/user など) CGIの実行ディレクトリ (/Gsmon や CGIの呼び出し方[.pl]など実行ファイルは設定してない) ドキュメントルートからのパス の書き方がわかりません。 相対パスやHttpを含むパスを入れてみたのですが500エラーが出てしまいます。 biglobe側もCGIはサポート対象外ですし困ってます。

  • CGIスクリプト 保存用ディレクトリ

    ApacheというWWWサーバーでは、srm.confというファイル内に  ScriptAlias /cgi-bin/ /usr/local/www/cgi-bin/と記述し、かつaccess.confというファイル内に、 <Directory /usr/local/www/cgi-bin> </Directory> という記述を行うことで、/usr/local/www/cgi-bin/というディレクトリがそのCGIスクリプトの保存用ディレクトリになります。 と書いているのですが、どういうことかよくわかりません。srm.confというファイルはあらかじめ、パソコンにはいっているのでしょうか? ScriptAlias /cgi-bin/ /usr/local/www/cgi-bin/と記述しと書いているのですが、何で記述したらいいのでしょうか。 すいませんが、教えてください。

  • UTF-8で書いたperlのパスが正しく読まれない

    元々htmlファイルもcgiファイルもShift-JISで書いていました 英語環境に変えようと、UFT-8にすべくEncordingConverterでファイルを変換しました htmlファイルは文字コード指定も当然UFT-8にし、アップして表示させてみたところ問題なく表示されました しかし、cgiファイルの方が正しく表示されず、perlチェックをしてみたところパスが ・ソ#!/usr/bin/perl となっていました これが原因で正しく表示されなかったようです そこでcgiファイルをテキストエディタで開いてみたのですが、そのエディタ上では #!/usr/bin/perl と本来あるべき正しい表示になっています 文字コードもUTF-8形式になっています どうしれやればきちんと読み取ってもらえるのでしょうか? エディタで開いても「・ソ」の部分が表示されないのでなおしようがなく困っています どなたか解決方法お分かりの方ぜひご教授ください よろしくお願いします

    • ベストアンサー
    • CGI