• 締切済み

Mac LeopardのWeb共有を使ったcgi

Mac LeopardのWeb共有を使ったcgiを学習しようとしてます。 現在、共有の設定を行い、Apache HTTP Serverが動いています。 私(hiro)のホームのサイトフォルダ(/localhost/Users/hiro/Sites)の中に単純なHTMLドキュメント(hello.html)を入れると、 ブラウザに入れるURLが file:///Users/hiro/Sites/hello.html のときは表示されますが、http:///Users/hiro/Sites/hello.html のときは「サーバが見つかりません」とエラーになります。 なぜApache HTTP Serverはhttpで始まるURLを受け付けないのでしょうか? また上記helloドキュメントをPerlでcgiドキュメントにした簡単なcgiサンプルドキュメントがありますが、これを上記のフォルダに入れただけではcgiは動かないのでしょうか? 教えてください。

みんなの回答

回答No.1

httpd.confをいじってないなら、同じマシンからユーザーの個人サ イトへのアクセスは http://localhost/~hiro/hello.html ですね。 マシン名を省略しちゃダメだし、ルートの位置も違います。 cgiファイルは普通、ドキュメント領域には置きませんね。大抵 は、/cgi-bin/ディレクトリに隔離して安全を図ります。ユーザー ディレクトリ内でのcgiの実行を許可するなら、それなりの手順が必 要です。一度、 http://localhost/manual/ を読んでみて下さい。

693hiro
質問者

お礼

早速に回答をお寄せくださいましてありがとうございました。 教えていただいたURLで開けました!!! これからhttp://localhost/manualを勉強します。 今回のお答えに関してもう一つだけ教えてください。 私は「マシン名を省略しちゃダメ」なことをしたようですが、上記のURLではどこにマシン名が入っている(あるいは隠れている)のでしょうか?

関連するQ&A

  • Mac OSX のWeb共有でサーバを立ち上げたいのだが、立ち上がらない...

    Leopardに組まれているApache2.2でサーバを立ち上げる作業をしています。URLに「127.0.0.1/index.html」を入れると、無事、htmlページが表示されます。現時の設定は次のようになっています。  /etc/apache2/users/USERNAME.conf で(USERNAMEは私の名前を使用)、 ・<Directory "/Users/USERNAME/Sites/">---</Directory> 内に  AddHandler cgi-script .cgi 及び Options Includes ExecCGIを追加 ・/usr/local/bin (を作り)perlのhard linkを作成してあります。 CGIファイル(hello!.cgi)も/usr/local/bin においてあります。hard linkの元は /usr/bin/配下にあります) 他方、/etc/apache2/httpd.conf では次の設定になってます: ・ServerName が 127.0.0.1 ・ServerRootが /usr/ (これが誤り?) ・DocumentRoot が /usr/Apache2.2/htdocs (これも変?) ・User 及び Groupはともに www 先達にお願い! 次のことを教えて下さい。 1.その他、設定事項で欠落している事項があるのか? 2.127.0.0.1/index.fileはどのdirectoryにあるか? 3.Terminalで 「cd ~」と入力すると、/Users/USERNAMEとなって上のDocRootと合わないのはなぜか? 4.hello!.cgiを表示するにはURLをどうすればよいか? 宜しくお願いします。

  • Mac OS X 10.5 LeopardのApache2でCGIを動かせない

    MacPro Mac OS X 10.5にてローカルでCGIの動作確認をしようと試み、Apache2を起動し、http://localhost/~ユーザー名/xxx.cgiで確認しようとしたところ、Internal Service Errorが発生します。定石通り以下を設定したのですが、改善しません。どなたか同じ症状の方で解決された方、もしくは解決法をご存じの方、お知恵を拝借させてください。 Leopardは10.4以前と違い、CGIを動かすのに、httpd.confの設定ではなく、etc/apache2下のユーザー名.confを直すということだったので、以下のようにユーザー名.confを設定しました。改行コードはLFです。 //---------------- <Directory "/Users/ユーザー名/Sites/"> AddHandler cgi-script .cgi AddHandler cgi-script .pl AddType text/html .shtml AddHandler server-parsed .shtml Options Indexes MultiViews ExecCGI Includes AllowOverride None Order allow,deny Allow from all </Directory> ターミナルでapachectl configtestを行い、Syntax OKと出た後、apachectl restartを実行し、apache2を再起動させ、 perlコマンドのパスがターミナルのwhich perlで/usr/bin/perlだったので、!# /usr/bin/perlを指定したcgiファイルをつくり、ユーザーのホームディレクトリ下のサイト下に置き、パーミッションを755に設定。これでブラウザで確認すると、internal server errorが出ます。もちろんlocalhostやlocalhost/~ユーザー名はブラウザ上で表示されます。Error_logを確認しても、Premature end of script headersと出るだけです。 お心当たりのございます方、どうかご教授ください。

    • 締切済み
    • CGI
  • web共有

    os:mac10.5 web共有をチェックするとhttp://localhostでapacheのもしこのページが読めたのであればの画面は表示されるのですが、個人のwebサイト http://localhost/~ユーザー名を実行するとYou don't have permission to access /~ユーザ名/ on this server.と表示されます。 どうすればアクセスする許可を設定できますか。

    • ベストアンサー
    • Mac
  • CGIを開けない。。。

    apacheとphpを設定して動作確認したあとに、cgiも操作したいので、Active Perlというものをインストールしてみました。 phpは、http://localhost/で「C:/Program Files/Apache Software Foundation/Apache2.2/htdocs」のフォルダーを参照できるのですが、cgiを開くときには、どこのフォルダーに格納し、URLをどうすれば宜しいのでしょうか?(因みにcgi-binとhtdocsに格納し、http://localhost/***.cgiで試したのですが駄目でした。) Active Perlインストール後に変更した場所 ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/" <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> AddHandler cgi-script .cgi .pl なお、perlの設定には、こちらhttp://www.jisaba.net/xp/actpeal/04.htmのサイトを参考にしました。 環境はWindowsVistaです。 どなたか宜しくお願い致します。

    • ベストアンサー
    • Perl
  • CGI

    MacOS10.10のApache2でCGIが動きません。 httpd.confの最後にこう記述してます。 <VirtualHost *:80> DocumentRoot "/Users/ユーザー/Sites/www" ServerName ドメイン <Directory /Users/ユーザー/Sites/www> AllowOverride All Options Indexes MultiViews ExecCGI FollowSymLinks AddType application/x-httpd-cgi .cgi .pl AddHandler cgi-script .pl .cgi DirectoryIndex index.html index.htm index.cgi </Directory> </VirtualHost> 記述は合ってると思うんですが……どこが間違ってるのでしょう?

    • ベストアンサー
    • Mac
  • Webサーバーの設定について

    Windows上で、Apacheをインストールしました。 Apache HTTP Serverを起動してプラウザでURL:http://localhost で開くと「作業中」と表示されます。 Start Apache in Console をクリックしApacheが起動しますが、コンソールはすぐ消えます。 Apacheの起動画面が出ない理由は設定が問題でしょうか? 初心者ですので、御教示願います。

  • Leopardのファイル共有がうまくいかない

    Leopardの共有がうまくいきません。 Leopard(OS-X 10.5.6)のMac Book Proの方を共有設定したのですが、Tiger (10.4.11)のG5マシンからアクセスできず困っています。 (逆にTigerのファイル共有はうまくいっていて、LeopardのMac Book Proからはアクセスできます) 何か設定が必要なのでしょうか? いずれも有線LANでつなぎ、間には無線LANルーターがあります。 (無線LANルーターは実際には使用していません。Mac Book Proの無線LANもオフにしています) Leopardのシステム環境設定「共有」では、共有フォルダを作って、ユーザーの設定はMac Book Proの管理者「読み/書き」になっています。 また、新しいユーザーを作って「読み/書き」にしてみましたが、変わりありません。 G5からアクセスすると、Mac Book Pro側のコンピューター名がちゃんと表示されます(変更しても反映されます) が、接続すると、「AFP接続の状況、"xxxx.local"を調査中」と横に細長いウインドウが出ますが、2分ぐらい待たされて、「接続に失敗しました」と出ます。 afp://xxx.xxx.xxx.xxx/という風にIPを指定してもだめでした。 Mac Book Pro側のファイル共有をオフにしていると、すぐさま接続に失敗した旨のメッセージが出ますので、存在の認識は出来ている様子です。 ややこしい話ですが、よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • ローカルパソコンで、CGI(SSI)及びカウンタの動きを確認したいのですが…。

    翔泳社のPerl/CGI辞典を購入し、それを参考にPerlとApacheをインストールし直してみました。 以前から、少しCGIは使っていたため、Perl『ActivePerl-5.6.1.635-MSWin32-x86』とApache『apache_1.3.28-win32-x86-no_src』それにhttp://www.st.rim.or.jp/~nakata/の『AN HTTP Server』バージョン1.42kを入れていました。 それをPerl『ActivePerl-5.8.3.809-MSWin32-x86』にし、Apacheはそのままのバージョンで、『httpd.conf』の設定を行ないました。 Options Indexes FollowSymLinks MultiViews ExecCGI Includes とし、 AddHandler cgi-script .cgi AddType text/html .shtml AddHandler server-parsed .shtml の#もはずしました。 しかし、SSIが動きません。CGIは動くのですが、これは何故なのでしょうか? 画面上にHello!と表示させる簡単なプログラムです。 Apacheを起動させ、実行するのですが、画面上に何も表示されません。 Apacheを終了させ、『AN HTTP Server』で、同じ物を動かせば、ちゃんと動きます。 これらについて詳しい方、ぜひアドバイスをお願い致します。 そして、もう一つ疑問があるのですが、『AN HTTP Server』のほうで、カウンタの動作を確認してみました。 スクリプトは、『http://www2j.biglobe.ne.jp/~apollo/』さんの『お好みカウンタ』を借りて、試してみたのですか、カウンタの数字が『error』表示になったり、00000のまま動かないのです。 また、Apacheのほうでも試してみたところこちらでは、画像(数字)が『×』となってしまいます。 『AN HTTP Server』では動いているようですが、ちゃんとした動作にはなりません。 ローカルパソコンでは、限界があるということなのでしょうか? 長くなってしまい、かつわかりにくい文章だと思いますが、随時補足しますので、上記の2点についてアドバイスをよろしくお願い致します。

  • 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
  • windowsXPとmac OS X Leopardを共有させたい

    windows(XP)と、mac(Mac OS X Leopard)を共有させて、 どちらからもファイルの受け渡しができるようにしたいのですがうまくいきません。 当方初心者のため、言葉の表現などが違っていたらすみません…。 現在の状況/設定については以下になります。 ■mac側設定 システムの環境設定>共有>ファイルの共有  >SUBにチェックをして、下の表の自分のmacのアカウントにもチェック  >パスワードを要求されたのでパスワードを入れて設定 ■win側設定 共有フォルダを作成(フォルダ名:apple) (フォルダはきちんと手のマークがついたアイコンになっています。) としました。 【現状】 ■winからmacの共有を試みる パソコンの検索で、macのIPアドレスを入れた所、macのパブリックフォルダが表示されました。 しかしそのパブリックフォルダを開こうとすると、 このネットワークリソースを使用するアクセス許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。 という表示がでます。 (フォルダ自体は開けませんが、フォルダ上にファイルをドラッグするとmacで受け取れます。) ■macからwinの共有を試みる Finder>サーバーの接続>sub://winのIPアドレス/apple と入力 しかしサーバーが見つかりません という表示がでます。 このような状態なのですが、 1.winからmacのパブリックフォルダを開くにはどうすればいいでしょうか? 2.macからwinを共有するにはどうすればいいでしょうか? 以上、初心者で申し訳有りませんが、ご指南のほど宜しくお願い致します!

    • 締切済み
    • Mac