ローカルでのCGIの動作させるために

このQ&Aのポイント
  • ローカルでCGIを作動させるためにApacheとActivePerlをインストールしましたが、他の質問でactivePerlは、/usr/local/bin にインストール別途ドライブが用意できるか、パーテショニングツールで独立したドライブが良い--たとえばE:\usr\local\binapacheは、/usr/localにインストール---たとえば、E:\usr\localとあったのですが、このようにしたほうが良いのでしょうか?
  • 現在は、cドライブにインストールしhttp://pckida.hp.infoseek.co.jp/srv/index.htmlを参考にApacheの設定をしてみたのですが、うまくいきませんでした。間違っている箇所や注意しなければならない点などありましたら指摘お願いします。
  • 使用したのはWindows7 UltimateApache HTTP Server 2.2.15ActivePerl-5.10.1.1007です。
回答を見る
  • ベストアンサー

ローカルでのCGIの動作させるために

ローカルでCGIを作動させるためにApacheとActivePerlをインストールしましたが、他の質問で activePerlは、/usr/local/bin にインストール  別途ドライブが用意できるか、パーテショニングツールで独立したドライブが良い--たとえばE:\usr\local\bin apacheは、/usr/localにインストール  ---たとえば、E:\usr\local とあったのですが、このようにしたほうが良いのでしょうか? 現在は、cドライブにインストールし http://pckida.hp.infoseek.co.jp/srv/index.html を参考にApacheの設定をしてみたのですが、うまくいきませんでした。 間違っている箇所や注意しなければならない点などありましたら指摘お願いします。 使用したのは Windows7 Ultimate Apache HTTP Server 2.2.15 ActivePerl-5.10.1.1007 です。 以上よろしくお願いします。

  • CGI
  • 回答数2
  • ありがとう数6

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

>初期設定からルートフォルダやcgiファイルのフォルダは変更したほうが良いのでしょうか?  私は、G:ドライブに、CYGWINとともにインストールしています。hostsは 127.0.0.1 ****.local *****.ne.jp.local *****.com.local local.host  のようにローカル用のバーチャルホストを指定。  apachehttpd.confで <VIRTUALHOST 127.0.0.1> DocumentRoot "/home/" ServerName localhost ServerAdmin webmaster@hoge.com AddHandler server-parsed .shtml Options All +Includes +ExecCGI ErrorLog logs/webtest_error_log CustomLog logs/webtest_access_log common </VIRTUALHOST> など、管理しているいくつかのサーバーのローカル版を設定。  その他、apacheの細かい設定はたくさんあります。参考書をどうぞ 添付は、CygwinのシェルからG:ドライブの ls -l をしたところ。

kk06366
質問者

お礼

回答ありがとうございました。 実際の例を紹介して頂きとてもわかりやすかったです。 ORUKA1951さんの回答や参考書を参考に勉強してみたいと思います。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

 ウェブ開発のため、ローカルにテスト環境を作る目的ならそのほうが便利です。 というのは、今でもウェブサーバーはUNIX系のOSが多いので、Perlからシェルスクリプトを使うことがある(CYGWIN)を使う)し、ディレクトリ構成を同じにできるから。 >うまくいきませんでした。  では何かわかりません。  Perlは、コマンドプロンプトから実行できますか >perl -v とか・・・  apacheは起動できましたか?  サービスで確認する。

kk06366
質問者

補足

ORUKA1951さん回答ありがとうございます。 すいません説明不足でした。 コマンドプロンプトからPerlは実行できました。 apacheについてですが「サービスで確認する」というのがわからなかったんですが、「http://127.0.0.1/」と入力して開くと「It Works」と表示されますので起動はしていると思います。 初期設定からルートフォルダやcgiファイルのフォルダは変更したほうが良いのでしょうか? 再インストール後試してみたところ初期設定、変更後ともにcgiの動作に成功しました。お騒がせしてすみませんでした。

関連するQ&A

  • CGIのパス(Apache winで)

    初歩的な質問ですみません。 環境 windows2000 サーバー Apache/1.3.20 ActivePerl-5.6.1.626 をインストールが完了して、CGIを動作させようとしています。 ApacheでのHTML動作はできています。 CGIプログラムの一行目に #!/usr/local/bin/perl と記載されています。 その文字列を #!c:/bin/perl.exe に変更して現在動作させています。 しかし、ISPのHPスペースのperlへのパスは #!/usr/local/bin/perl なので、転送前に一行目を変更しています。 変更しなくても良いように ApacheでのCGIのパスを #!/usr/local/bin/perl で動作する方法を どなたか教えていただけないでしょうか? ちなみに Perlは[c:\bin]にインストールしてあります。 Apacheは[g:\apache]にインストールしてあります。

  • ローカル環境で CGI を試してみたく、AN HTTP Daemon

    ローカル環境で CGI を試してみたく、AN HTTP Daemon http://www.st.rim.or.jp/~nakata/ をインストールしてみました。以前一度、やっていたことがあるので、だいじょうぶかと思ったのですが、うまくいきません。 質問です。 その1 cgi の最初に書くパスは、#!C:/usr/local/bin/perl でいいのでしょうか? その2 このソフトは、Apache は無くても動くのですよね? よろしくお願いいたします。

  • Windows版ApacheでCGIやSSI

    初めまして、 Windows版Apache HTTP Server2.0を使用しています。 SSIやCGIを使用したいのです。 ActivePerlをC:/usr/localに導入しましたが、 httpd.confをどの様に修正すれば良いでしょうか? ご指導、お願い致しますm(_ _)m

  • apacheのCGI設定

     pc9821にFreeBSD(98)をいれapache1.3を起動させています。cgiはlight.cgiというソフトをつかっています。なかなかcgiがうまくいきません。参考ページには public_html / index.html (トップページ) | +-- bbs / light.cgi [755] | admin.cgi [755] ・・・・(省略) +-- lock [777] / | +-- past [777] / 0001.cgi [666] とかかれていますが、実際に私のサーバーにはpublic_htmlというフォルダは存在していなくて /usr/local/www/cgi-binにbbsというフォルダをつくり あとは上のようにしています。またindex.htmlは/usr/local/www/dataのなかにいれて表示してWebサーバーとしてはたらいています。またapacheの/usr/local/etc/apacheのhttpd.confは 関係ありそうな行だけあげると ServerRoot "/usr/local" DocumentRoot "/usr/local/www/cgi-bin" <Directory "/usr/local/www/cgi-bin/bbs"> Options Indexes FollowSymLinks MultiViews <location "/cgi-bin/"> Options ExecCGI AllowOverride AuthConfig Limit Order allow ,deny Allow from all </Location> <IfModule mod_mime.c> TypesConfig /usr/local/etc/apache/mime.types ADDHandler cgi-script .cgi </IfModule> ScriptAlias /cgi-bin/ "/usr/local/www/cgi-bin/" <Directory "/usr/local/www/cgi-bin/bbs"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi どこがおかしいのかおしえていただけないでしょうか?

    • ベストアンサー
    • 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/と記述しと書いているのですが、何で記述したらいいのでしょうか。 すいませんが、教えてください。

  • ActivePerlでcgiがうごきません

    D:\web\test\aaa\bbb\bbb.cgi 上記にあるcgiを動かしたいのですが、 ActivePerlをインストールしてもエラー500が出ます。 ActivePerlのインストール時に行うディレクトリ指定は、 C:\usr\local\で指定しています。 アパッチやphpはちゃんと動いています。 D:\web\test\ccc\上にあるxoopsは動作しています。 宜しくお願いします。 他に足りない情報がありますでしょうか?

  • Apacheを入れたのにローカルでCGIが動かない

    こんにちは。今CGIの勉強をしています。perlを使っているのですが、サーバーにアップする前にローカルで動作チェックをしようと思い、ApacheとActivePerlをインストールしました。 その後、Apacheを起動して、ローカルのCGIファイルにアクセスしたのですが、ページを表示できませんと出てしまいます。 ping localhostはちゃんと通ります。 環境 OS:WindowsXP HomeEdition SP2 セキュリティーソフト:無し ファイヤーウォール:解除済み Apache設定 Network Domain 127.0.0.1 Server Name   127.0.0.1 Version2.0.58 ブラウザ:IE6.0 プログラム保存先:C:\Program Files\Apache Group\Apache2\htdocs ファイル名:hello.cgi(拡張子表示有にしている。.txtなどは無い) ActivePerl:Version5.6 保存先:C:\Perl\bin(C直下) コード #!C:/Perl/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<h1>Hello World!</h1>\n"; print "</body>\n"; print "</html>\n"; exit; 参考にしたサイト http://perl.misty.ne.jp/01.html 以上よろしくお願いします。

    • ベストアンサー
    • CGI
  • ローカル環境でのCGIエラー

    ActivePerlとAn HTTPdでWindowsXP HomeEditionのPC上でCGIを動かそうと思っています。 どちらも最新版をダウンロードしてインストールしました。 ActivePerlに関してはegフォルダ下のexample.plで動作確認が取れています。 An HTTPdに関してはhttp://127.0.0.1以下のURLを指定してページが表示されています。 ですが、htmlからcgiを呼び出そうとすると「ページを表示できません」「サーバーが見つからないか、DNS エラーです。」のエラーが出てしまいます。 試しにcgiファイルをフルパスで指定したのですが同じでした。 ちなみに、簡単なCGIプログラムtest.cgiを作成、サーバにアップして動作を確認しましたがローカルではエラーになります。 また、ローカルでコマンドプロンプトにて c:\usr\local\bin\perl c:\プログラムのパス\cgi-bin\test.cgi と入力すると内容を表示します。 コマンドプロンプトでCGIプログラムのあるcgi-binディレクトリに移動して perl -v と入力するとperlのバージョン情報を表示するので、パスは通っていると思われます。 Au HTTPdのerrors.logには Thu Aug 16 19:21:18 2007 Warning: CGI TerminateProcess 2500 error 5 とりあえず、自分で原因を絞れるであろうところはあたってみたつもりですが、何か見落としていることがあるでしょうか? もしかしたらAu HTTPdに問題があるでしょうか?

    • 締切済み
    • CGI
  • CGI がローカルで動作しない。

    こんにちわ。つい先日XAMPPをインストールし、いろいろといじっているのですが、つまづいてしまったので質問させて頂きます。 同ソフトにはPerlも同伴されているということで、CGIを用意して動作させたのですが、InternalServerErrorとなってしまいました。 どうやらPerlのパスが違うようです。が、どう設定すれば良いのかわかりません。 (perl.exeは C:\apachefriends\xampp\perl\bin\ にあります。) また、#!/usr/bin/perl としても動作するようにさせるには、どうすればいいでしょうか。 ご教授ください。

    • ベストアンサー
    • Perl
  • AN HTTPとActivePerlでローカルで動作させたい

     perlの勉強をはじめるため、ローカルでperlを使える環境を作ろうとしています。ActivePerl618とAN HTTP Server 1.31を使用しています。  まず、それぞれをインストールしsimple.cgiを作成、それをC:\httpd131/cgi-bin/に保存。IEでhttp://127.0.0.1/cgi-bin/simple.cgiを入力しました。けれどHTTP500内部サーバーエラーと出て表示されません。一体どうしてなのでしょうか?IEの設定か何かを変更するのでしょうか?  もし、これを読んでくださっている方が PCJapan 2000年11月号 をお持ちでしたらわかりやすいと思うのですが・・・。(もしくはこのサイトにまったく同じものがあります。http://www.zdnet.co.jp/magazine/pcjapan/0011/sp3/ )2000年11月号 98ページ 図5写真10 (サイトのページで言うと8/14の図5 写真10の文章です。)に---以下抜粋---エラーが出て表示されない場合は「C」-「Perl」にあるファイルをAN HTTPの「cgi-bin」にコピーしてから試みよう。---以上抜粋---と書いてあるのですが、一体C:\Perlのどのファイルをコピーするのでしょうか?試しにC:\Perl\bin のファイルをコピーしてMS-DOSプロンプトで先ほど作成したsimple.cgiを実行したところちゃんと動きました。けれどIEでやってもまったく動きません。これ以前(97ページ)の動作テスト(cgiが動作するかAN HTTPのテスト)は全てうまくいきました。IEでローカルでcgiを実行するにはどうしたらよいのでしょうか?ちなみにOSはWindows98SE IEのバージョンは5.50.4807.2300 SP2です。どうかお助けください。よろしくお願いします。

    • ベストアンサー
    • Perl