• ベストアンサー

Cで作ったexeファイルをCGIとして動かしたい

kokucho81の回答

  • ベストアンサー
  • kokucho81
  • ベストアンサー率61% (157/255)
回答No.3

AnHTTPd って「最新版(1.32fかな?)」ですか? 最新版だったらはじめから、「何も設定せずに」、「バイナリファイル」および「Perlスクリプト」やをCGIとして動かすことが出来るようになっています。 実行ファイルは、拡張子を.cgiと変えて動かします。 (逆に勝手に設定を変えてると、動かなくなっていることがありえます) ひとつだけ気をつけるとすれば、ドキュメントルートの設定は2つありますが、 これは両方とも「自分のローカルのWEBサイト運営ディレクトリ」にせっていしておきましょう。 CGIはそのディレクトリ以下の全てのディレクトリで動きます。 (でもPerlの動作チェックに使っているというわけだから、これはしているはずですね) 私は普段は、AnHTTPdで、C/C++のCGI動かしているので、ルートディレクトリの設定だけで、間違いなく動くことは保証します。 ======================================= 追伸: .exeの拡張子の形式でそのまま動かしたければ、 一般タブの .exe -- self-- のところの 「ex」形式で動かすにチェックを入れます。それだけです。 あと、言うまでもないですが、CGI自体が間違っていたらお手上げです。

leaz024
質問者

お礼

.exeの「EXE形式の実行」にチェックを入れたら、~.exeのまま動くようになりました! もしやと思い、.pl,.cgiの同じところにもチェックを入れたところ、名前を~.cgiにリネームしたものも動くようになりました。 どうもありがとうございました。 (私がダウンロードしたバージョンは1.33dでしたが、デフォルトの設定ではやはり動きませんでした)

関連するQ&A

  • CGI timeoutって? IISでのcgi設定

    すみません質問させてください。 今、XPでIISをインストールしてCGIが動くようにしてるんですが うまくいきません。 http://localhost/hello.cgi というurlで実行できると思うんですが、 いつまでも読み込んでるだけで、実行されない感じです。 CGI timeoutといわれます。 実行するCGIはHELLOと表示する単純なものです。 また、.cgiファイルは実行プログラムをC:\perl\bin\perl.exeに 指定しています。 IISでは、規定のWEBサイトのプロパティ>ホームディレクトリの 「構成」で.cgiの実行ファイルをC:\perl\bin\perl.exeに指定しています。 とりあえずやるだけやったと思ってるんですが、うまくいかないのはどうしてでしょう。 よろしくお願いします。

    • 締切済み
    • CGI
  • IISでCGIの設定がうまくいきません

    すみません質問させてください。 今、XPでIISをインストールしてCGIが動くようにしてるんですが うまくいきません。 http://localhost/hello.cgi というurlで実行できると思うんですが、 いつまでも読み込んでるだけで、実行されない感じです。 実行するCGIはHELLOと表示する単純なものです。 また、.cgiファイルは実行プログラムをC:\perl\bin\perl.exeに 指定しています。 IISでは、規定のWEBサイトのプロパティ>ホームディレクトリの 「構成」で.cgiの実行ファイルをC:\perl\perl.exeに指定しています。 とりあえずやるだけやったと思ってるんですが、うまくいかないのはどうしてでしょう。 よろしくお願いします。

  • APACHEのCGI-BINでC++のEXE実行

    APACHEをインストールしてCGI-BINに以下のプログラム #include <stdio.h> int main(){ printf("test"); return 0; } をコンパイルしたEXEファイルを置いてブラウザで参照したところInternal Server Errorでページが表示できません。testと表示したかったのですが・・・どうすればいいでしょうか?

  • Apacheでphpとcgiを使いたいのですが

    phpは問題なく使えましたが、cgiで問題があります。 今まではサーバーソフトにANHTTPDを使っていたのですが、phpを使う上で問題があったので汎用性のあるApacheに乗り換えました。するとphpはうまく動いた反面、cgiがうまく動作しなくなってしまいました。 ANHTTPDのときは、ローカルホスト以下のフォルダならどこであろうとcgiを含むすべてのファイルが使用できましたが、Apacheでは指定したフォルダ以下にcgiしか置けないみたいでした。そのフォルダ内にhtmlファイルなどを置くとアクセスできません。 この状態で使うとなると、cgiファイルだけその1箇所のフォルダ以下に集め、他のファイルを別のディレクトリに置かなくてはいけませんが、それでは1つのプログラムに必要なファイル類がバラけてしまうのでその方法は使いたくありません。 どうにかして1つのフォルダ以下でcgiとその他のファイルを扱えるように出来ませんでしょうか?また、僕が使っている今の方法では、cgiプログラムの1行目のパスを「C:/Perl/bin/perl」にしなくてはいけませんが、これもWebサーバー上にアップする際に書き換える手間がかかってしまいます。ANHTTPDの時は「/usr/bin/perl」「/usr/local/bin/perl」のような状態でも普通に使えました。この書き換えの手間を省く方法もありましたら情報いただければと思います。 以上です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • サーバーでCGIを動作させるには?

    自宅サーバーでCGIを動作させたいのですが、うまく動作しません。 ○サーバー環境 OS:Windows Server 2003 Web Edition SP1 CPU:Intel Xeon 2.8GHz メモリ:1GB RAM ○現在の状況 htmlは、問題なく動作してます。 cgiを実行すると、エラー404となります。 ○CGI動作にあたって行った作業 (1)ASPの実行を許可しました (2)Perl構成にあたり、ActiveState社のActivePerl-5.8.820-MSWin32-x86-274739.msiをダウンロードし、Dフォルダにインストールしました。 (3)IISマネージャで、「Webサービス拡張」→「Perl CGI Extension」を許可しました。 (4)IISマネージャで、「Webサービス拡張」→「すべての不明なCGI拡張」を許可しました。 (5)実行アクセス権を設定するために、実行するCGIを格納するディレクトリの「実行アクセス許可」を「スクリプトおよび実行可能なファイル」としました。 (6)CGI拡張子と実行可能ファイルを関連付けるために、実行するCGIを格納するディレクトリの「アプリケーションの設定」→「構成」→「アプリケーションの拡張子」→「追加」で、 実行可能ファイル「D\Perl\bin\perl.exe"%s"%s」 拡張子「.cgi」としました。 ○CGIが動作するか確認するために、サンプルCGIを作成し、上記設定を行ったディレクトリ以下に配置しました。 ○結果 クライアントで、http://サーバー名/ディレクトリ名/ファイル名 と入力すると、エラー404 ページが見つかりません。と出ます。 間違った操作や、考えられる間違い箇所がありましたら、指摘ください。

  • CGIが動かないのですが。

    自宅マシンWWWサーバ化計画 http://www.kent-web.com/www/anhttpd/www1.html このサイトを参考にしているのですが、 HTMLファイルは開くのですが、 CGIは開けません。 PerlのインストールはC:\perlで、 ホームページ用のフォルダはC:\WWW\homeです。 この中にindex.htmlとhello.cgiを入れて、 127.0.0.1でhtmlファイルは開きますが、 127.0.0.1/hello.cgiでhello.cgiは開けませんでした。 pathが通ってないのでしょうか? よろしくお願いします。

  • 自前サーバでCGIを~

     まずはLAN内だけで掲示板などのCGIを実行できるようにしてみよう、ということでApacheを使ってCGIの設定をしているんですが、ブラウザからCGIファイルを起動してもInternal Server Errorと出てしまいます。よってそれ以前ということで・・・  コマンドラインから「perl test.cgi」のようにCGIファイルを実行してみるとちゃんと動作するんですが、「type -a perl」で検索したフルパスをそのままCGIファイルに「#!/usr/bin/perl」などのように書いても、ファイルがコマンド化されてくれません。でも、perlの実行ファイルは存在していました。  これは、どうすれば解決できるのでしょうか?

  • C++とWindowsでCGIです。

    http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/showtime.html のサンプルソースをコンパイルしてEXEファイルを作成しました。 VisualStudio.NET 2003 WindowsXP Pro Win32コンソールアプリケーションで拡張子.ccファイルをコンパイルしました。 CGIだとEXEファイルをHTML表示できるらしいのですが、 よくわかりません。 Windows環境・VisualC++で手軽にCGIファイルを実行できる方法を教えてください。 EXEファイルの拡張子をCGIに変えても、できませんでした。 あまりCGIのことはよくわからないのですが、C++でできるならやってみたいと思いました。 よろしくお願いします。

  • exeファイルが開かないのですが

     WINDOWS XPで「フォルダオプション」「ファイルの種類」「新規」でファイルの拡張子「exe」を追加後に削除したところ、すべてのexeファイルが実行できなくなってしまいました。  ファイル名を指定して実行でも、「このファイルを開けません」となります。  対処法がありましたら、ご教授お願いします。

  • C言語で作ったプログラムをCGIで動かすには

    C言語で作ったプログラムをCGIで動かすにはどうすればいいのでしょうか? サーバ側になにをアップし、ブラウザ側で何を呼び出せばいいのかわかりません。 EXEファイルの拡張子をcgiにしても ダウンロードされるだけだったし(当たり前ですか?)。 ちなみにサーバは会社のサーバを使っていて、CGIも使えるはずです。 よろしくお願いします。

    • ベストアンサー
    • CGI