• ベストアンサー

Mac(snowLeopard)でPerlでウェブアプリケーションを作

Mac(snowLeopard)でPerlでウェブアプリケーションを作成しています。 まずは、web共有サーバーで自分のローカルアドレスを設定し、簡単なcgiスクリプトを書いて(Print関数の記述)、ブラウザでアクセスしたのですが表示されません。 アドレスは以下ですが、この前に何か指定しなければいけないのでしょうか? または階層の表記が間違っていますか? http://XXX.XXX.XX.X/Library/WebServer/CGI-Executables/◯◯◯.cgi

  • Mac
  • 回答数1
  • ありがとう数8

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

  • ベストアンサー
回答No.1

httpd.confを読めば書いてあるはずですが、 ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/" と定義してあるはずなので、http://hostname/cgi-bin/◯◯◯.cgi でアクセスします。

hisashi65
質問者

補足

ご回答ありがとうございます。 ただ、その通りにしてもエラーメッセージが出てしまいます。 SnowLeopardから仕様が変更されているのでしょうか?

関連するQ&A

  • CGI プログラムエラーの解決法を教えてください。

    CGIの勉強をしている初心者です。 CGI プログラムを起動させると、 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.・・・・・ となってしまい、CGIがブラウザに表示されません。 どなたか解決法をご存知の方、教えてください。 (使用PCは、MacOSX(10.6.8)です。) 行った手順 1. Apacheの動作確認 [Machintosh HD]→[アプリケーション]→[システム環境設定] → 共有・アイコン → 「Web 共有」にチェックを入れる。 2. test.cgiを設置 設置場所 [Machintosh HD]→[ライブラリ]→[WebServer] → 「CGI-Executables」にtest.cgiを設置 test.cgiは下記 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>CGI TEST</TITLE></HEAD>\n"; print "<BODY>ちわ!世界。</BODY>\n"; print "</HTML>\n"; __END__ 3.ターミナルでCGIプログラムに実行権をつける chmod 755 /Library/Webserver/CGI-Executables/test.cgi 4.ブラウザに「http://localhost/cgi-bin/test.cgi」を入力 最初に表示した「Internal Server Error」になってしまう。 ちなみに・・・ 1. ファイルに実行権限が付いているか確認したところ、下記のようになりました。 ls -la /Library/WebServer/CGI-Executables/test.cgi -rwxr-xr-x@ 1 taka staff 188 2. Syntaxを確認したところ、下記のようになりました。 perl -c /Library/Webserver/CGI-Executables/test.cgi /Library/Webserver/CGI-Executables/test.cgi syntax OK 3. ターミナルにて、which perlを確認したところ、下記のようにまりました。 /usr/bin/perl 4. tail -f /private/var/log/apache2/error_logにてApacheのエラーログを確認をしたところ、下記のようになりました。 [Thu Sep 22 22:31:17 2011] [error] [client 127.0.0.1] (8)Exec format error: exec of '/Library/WebServer/CGI-Executables/test.cgi' failed [Thu Sep 22 22:31:17 2011] [error] [client 127.0.0.1] Premature end of script headers: test.cgi エラーログの見方、解決法もわからない初心者です。 どなたか解決法をご存知のかた、教えてください。 どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • perlでLocation

    Locationでは#xxxというのは使えないのでしょうか? #!/usr/local/bin/perl print "Location:xxx.cgi#xxx/?userID=$name\n\n"; exit; という風に書いています。 xxx.cgiはローカルにあるcgiでそのcgiの中身は表示できます。 しかしxxx.cgiの中の <xxxx.cgiの中身> print <<"EOM"; <html> . . . <A NAME="xxx>image</A> . . . </HTML> EOM exit; xxxのところでなく一番最初が表示されてしまいます。 どうすればいいのでしょうか?

    • ベストアンサー
    • Perl
  • MacOSXのWeb共有のCGIについて。

    Web共有のCGIの動作について、 /ライブラリ/WebServer/CGI-Executables/ 内のディレクトリの画像ファイル(jegやpng等)がWWWブラウザで表示されません。 「Internal Server Error」となります。 たぶん /etc/httpd/httpd,confで管理されているのかと思いますが、どこをどうしてよいのか分かりません。 どうすれば「CGI-Executables」ディレクトリ以下で画像ファイルが表示できるようになるのでしょう?

    • 締切済み
    • Mac
  • OS X 10.4.7 にアップデートしたらローカルで動作しない

    Mac OS X でローカルでパールが使えるようにしてコードを書いていましたが、OS のアップデートをしたらそれ以前には問題なくブラウザ上で動作していたcgi ファイルが動作しなくなってしまいました。 アップデートする以前に書いたものだけでなく、それ以降に新たに書いたものも同様です。 バージョンはMac OS X 10.4.5 ぐらいから 10.7.7へのアップデートです。 cgiファイルの保存先は、 ライブラリ/WebServer/CGI-Executables と、 ユーザ/(ユーザ名)/サイト/ 内にcgi-bin フォルダを作成して、そこからでもパールが使えるようにした状況で使用していたのですが、その両方共ダメになってしまいました。 ちなみにアップデートした直後は ライブラリ/WebServer/CGI-Executables 内のcgiファイルであれば動作していたのですが、その後再起動(一回目か数回後かはちょっと忘れました・・)したらこちらのディレクトリも動作しなくなったという経緯があります。なにか関係あるでしょうか?

  • CGIを使うにあたって

    CGIを実行させるにあったってどこのサイトでも/Library/WebServer/CGI-Executables/に.cgiファイルを入れると書いてあるのですが自分のライブラリの中にはWebServerというフォルダが見つかりません。これはじぶんでつくらなければいけないものなのでしょうか?

    • ベストアンサー
    • Mac
  • 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のテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか

  • Terminalとmiについての質問

    プログラミング経験ゼロですが、PerlでCGIプログラムを書いてみたいと考えている者です(OS10.4) いまTerminalを使って構文チェックをするところでつまづいています。 ディレクトリを移動するときに、LibraryまではいけるのですがWebServerにはいけません。なぜなんでしょうか? それからエディタはmiを使ってますが、開くと保存でWebServerフォルダがダイアログにあがってきません。 なのでデスクトップに一旦保存してファインダからCGI-Executablesフォルダにドラッグしています。 どちらか一方でもご教授願えると有り難いです。よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • MAC OS Xサーバ10.3.8で外部からCGIファイルをアップしたい場合について

    以前にも似た質問をしたんですが、 OS Xサーバーで掲示板のサイトを開設しようと思っています。 掲示板のはネット上で拾ったプログラムをそのまま流用しようと思ってます(フリーライセンスのものなので) 開設後外部(職場等)からFetchやFFFTP等FTPクライアントで掲示板のアップデートや修正を試みようと思ってるのですが、デフォルトのWEBのディレクトリは /Library/WebServer/DocumentsでCGIプログラムの設置場所は/Library/WebServer/CGI-Executablesになってます。しかしFTPクライアント等から管理者アカウントのユーザーで接続しても、ユーザーホームのディレクトリより上部の上記のディレクトリには入れません。 アカウント毎のホームディレクトリにサイトというフォルダがあるのですが、そこを公開するディレクトリにするというところまではわかるのですが、CGIプログラムを設置するCGI-Executablesにはいずれにせよ入れません。こういう場合はどうしたらよいのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • Mac
  • Mac OSX LionでCGI/Ruby動かず

    Mac OSX Lionを使っています。 CGIでRubyを使いたいと思い、 以下のことを試したのですが、 500 Internal Server Error となってしまいます。 ◆やったこと 以下のファイルを /Library/WebServer/CGI-Executables に置きました。 (改行コードはLFとしました) --test.cgi--- #!/usr/bin/ruby print "Content-Type: text/html¥n¥n" puts "Hello Ruby" ----- そしてchmod 777としてブラウザから http://localhost/cgi-bin/test.cgi にアクセスしたところ、 500 Internal Server Error となってしまいます。 その際の/var/log/apache2/error.logは、 Premature end of script headers: test.cgi とだけ表示されます。 なんだか一番最初の所でつまづいてしまい、 めげそうになっております。 よろしくご教授ください。

    • ベストアンサー
    • CGI
  • Perlのアドレスについて

    はじめまして、 Webサーバー初心者です。 CGIを動かすモジュールを入れて実際自分のサーバーでCGIを動かそうと思ったんですが、CGIのプログラムの頭にある「#!user/local/bin/user」(←例です)などのアドレスの指定がよくわかりません。よく、レンタルサーバーとかであると「うちのPerlのアドレスは#!user/local/bin/user」ですなどと表示されていたりしますが、今回は自分がサーバーなのでほかのユーザーがPerlを使うときにアドレスを指定してあげないといけません。どうしたら自分のサーバーのPerlの場所の指定ができるのでしょうか?(ようは,私の場合どのようなアドレスになるのかが知りたいわけです) ちなみにPerlのインストール先は「C:\Perl」でソフトは「Active Perl」を使用しております。サーバーのOSはWindowsXP(Pro)です。 よろしくお願いします。