• 締切済み
  • 困ってます

C言語のapacheの設定

apacheを使うとC言語で作ったプログラムもCGIで動かせると聞きました httpd.confをいじるとC言語でも表示されるらしいのですがいじり方が分かりませんでした。 どのようにいじればC言語を動かせますか? apacheのバージョンはapache_1_3_12_win32です。 普通の(perlでの製作)cgiの拡張子のは動かせます。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数368
  • ありがとう数0

みんなの回答

  • 回答No.2
  • Wr5
  • ベストアンサー率53% (2177/4070)

><<「ダウンロードさせるファイル」として認識させてはマズい。ということになりますね。 >それはなぜなのでしょうか? CGIとして「サーバ側で実行」する必要があるファイルをユーザがDL実行したところでブラウザに結果は出ません。

共感・感謝の気持ちを伝えよう!

質問者からの補足

なるほどです 教えていただいたURLのとおりにアパッチの設定を行ったらエラーがでました また.exeをアパッチで読み取ろうとしたらダウンロードが始まりました そのためまだCで作ったプログラムをCGIにできてません

関連するQ&A

  • Apacheの設定でHTML文が表示される

    VistaにApache2.2とPerl5をインストールしてCGIを使いたいのですが、CGIが起動しません。 「IT Works!」は表示されたのでインストールはうまくいったと思います。 おそらくhttpd.confの設定だと思うのですが、手元にある本がApacheのバージョンも前のものですしXP対応なのではっきりとはわかりません。 HTML文がそのまま表示される事の注意点やhttpd.confの書き換え方がわかるかたどうか教えてください!!! ----------------------------------- c:\Apache2.2\htdocs\tendays(1-1.cgi)←今回表示されないファイルです c:\perl

    • 締切済み
    • CGI
  • Apacheの設定 <Filesについて

    Apache 2.0.49(Win32)と 1.3.27-0vl9(Linux)を使っています。 httpd.confの設定で とりあえず全てのファイル(拡張子)をアクセス不可にして、 特定の拡張子のみを許可する設定にしたいのですが、記述方法がわかりません。 <Files "*"> order allow,deny deny from all </Files> <Files "\.cgi$"> order allow,deny allow from all </Files> とすると、全て拒否されて、cgiが動きません。 上の状態では当たり前かもしれませんが、 全て拒否して、特定のファイル(拡張子)のみアクセスを許す設定 にしたいのですが、よい方法はありますか?

  • CGIを使用するためのApacheの設定

    今HPを作っています。 そこでカウンターを作ろうと思ってPerlを勉強したのですが、 Apacheでファイルを送り、 CGIを実行しようとすると、 「ファイルのダウンロード」 とでて「実行」を押すとメモ帳でそのCGIファイルが開かれてしまいます。 これはApacheの設定(httpd.conf)が関係してるんじゃないかと思うんですが、 設定の仕方がよくわかりません。 教えてください。 OSはWinXPでバージョンは2.0.55.0です。

  • 回答No.1
  • Wr5
  • ベストアンサー率53% (2177/4070)

う~ん…… 普通にやるだけ…のような気もしますが……。 「apache CGI C言語」で検索したりしてみましたか? 当たり前ですがコンパイラなどは別に必要です。 apacheがC言語ソースを理解して実行してくれるワケではありませんので。 >apacheのバージョンはapache_1_3_12_win32です。 Windows…ということになると、C言語で書いたcgiの実行ファイルはexeになるでしょうから… 「ダウンロードさせるファイル」として認識させてはマズい。ということになりますね。 # そのヘンがhttpd.confをいじる…ということでしょうかね? http://gogodiet.net/z/tips/1.htm ……exeでなくてもよろしくやってくれる…らしい。

共感・感謝の気持ちを伝えよう!

質問者からの補足

「apache CGI C言語」等で検索して http://www.kinet.or.jp/hiromin/cgi_introduction/appendix/setup_apache.html こちらのサイトを参考に設定しなおしましたが全くダメでした そういえばコンパイルすると.exeになるんでしたね .cや.cppで試してはいましたが.exeではまだ試してませんでした うっかりしてました <<「ダウンロードさせるファイル」として認識させてはマズい。ということになりますね。 それはなぜなのでしょうか? 教えていただいたサイトはヴァージョンが違いますが試してみますね

関連するQ&A

  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • ApacheでCGIが正常に動作しません。

    httpd.confの設定でPerl.exeの場所の指定は必要なのでしょうか? 以下の場所に設定を行うのかと思ったのですが、設定するとApache起動時にprogram filesがエラーになってしまいます。 ServerSignature On !g:/program files/apache group/apache/perl/bin/" 設定が必要であれば設定方法をお願いします。 httpd.confの設定に <Directory "G:/Program Files/Apache Group/Apache/cgi-bin"> AllowOverride None # Options None Options ExecCGI Order allow,deny Allow from all </Directory> は追加してあります。 現在、CGIの結果として #!/perl/bin/Perl.exe print "Content-type: text/html\n\n"; print "\n"; print " Hello! WORLD \n"; print "\n"; exit; のように表示されない命令も全て表示されます。 本当はHello!WORLDだけを表示したいのですが。

  • apacheの設定

    apacheの設定で ScriptAlias /cgi-bin /usr/local/apache/www/cgi-bin の箇所でCGI以外も利用するにはどのように記述すればよいでしょうか?HTMLの拡張子も利用したいのでお願いします。

  • apacheでcgiがうまく動かない。cgiが認識されていない?

    すいません、多分基本的な所なのですが、 どうしても分からないので質問させてください。 ■環境------------------------------ ・windowsXP sp2 ・apache1.3.33 C:\Program Files\Apache Group\Apache  現在の状態:html表示可能。httpd.confを変更 ・perl5.6.1 c:\perl  現在の状態:PPMにてimagemagick,DBI,DBD-MySql(だっけ)をインストールしている ・php5.0.4 c:\php ・mysql4.02 C:\mysql ■httpd.confの変更箇所-------------------------------- 337 Options Indexes FollowSymLinks MultiViews ↓ Options Indexes FollowSymLinks ExecCGI MultiViews 538 #!c:/program files/perl/perl ↓ #!C:/Perl/bin/perl 720以降に追加 AddType application/x-httpd-cgi .cgi AddType application/x-httpd-cgi .pl 825以降に追加 AddHandler cgi-script .cgi AddHandler cgi-script .pl ■printenv.plの内容-------------------------------- #!C:/Perl/bin/perl ## ## printenv -- demo CGI program which just prints its environment ## print "Content-type: text/plain\n\n"; foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; print "${var}=\"${val}\"\n"; } -------------------------------------------------- 上記のような環境で、いまPERLの動作確認を行っています。 http://localhost/cgi-bin/printenv.pl http://localhost/cgi-bin/printenv.pl PLファイルを指定しても実行されず、ダウンロードされてしまいます。 cgiに拡張子を変えても同じでした。 エラーというわけでもない為、エラーログにも何もかかれません。 何が問題なのでしょうか?

    • ベストアンサー
    • CGI
  • redhat 7.0 でApacheでCGI

    今、ApacheでWEBサーバーつくったのはいいでんすが、なぜかどのCGIも動きません。Internal Server Eroor がでます。 おそらくhttpd.confの設定だろうと思うのですが、どうやってもうまくいきません。 ちなみにCGIの中身はちゃんとチェック済みです(フリーのCGIスクリプトを3っつくらいためしました)あと、パーミッション設定もチェック済みで、テキストをただ表示させるだけのCGIすら動きません。 よければどなたかhttpd.confの中身のせときます。 どなたかアドバイスと、くわしくhttpd.confの設定がのってるサイトを教えていただけないでしょうか? あと、できればWebminでの設定方法を知っている方おしえていただけないでしょうか? http://ks-pro.dns2go.com/httpd.conf.txt

  • apacheの設定について

    初めて投稿します。 私は、ある企業でSEをしており、まだどの分野においても初心者なのですが、この企業の情報システムの管理者の立場です。 ある部署が作成したホームページを確認用サーバにアップロードする作業をしていた際、このホームページ作成者から、 「『cgi-binディレクトリ中のみでCGIを実行する設定』以外に、さらに加えられた限定・制限などの有無を教えて欲しい (例えば、拡張子による実行制限など)」との質問を受けましたが、「cgi」や「apache」の知識が全くないもので、 どう回答したらよいかが全く分からず困っております。 検索して調べたり、本を購入し読んでみて、httpd.confファイルの設定を確認したり、変更してみて動作確認してみるという ところまでは分かりましたが、httpd.confファイルのどの部分を確認したら良いのか分かりません。 どう設定するかというのは、当社の運用方針によるものだと思いますが、どの部分をどのように確認すれば 良いのかを、どなたかご教授頂けたらと思います。宜しくお願い致します。

  • apacheの設定について

    先日red hat linux8(雑誌の付録)を購入し、apacheを試しているのですが。 http://localhost/やhttpd://localhost/~ユーザー名/にはアクセスできるのですが。 http://localhost/manual/index.htmlやhttpd://localhost/cgi-bin/にアクセスしようとすると「302 found」と出てしまいます。 ちゃんとmanualやcgi-binのフォルダはあるのに... どなたか、教えてください。 apacheのバージョンは2.0.4です。 お願いします。

  • Apacheについて

    apacheのhttpd.confについてお聞きしたいことあります. httpd.confは具体的にどのような時に使用するものなのでしょうか? モジュールを追加する際に記述する必要なソースなのでしょうか? そうであれば, 拡張モジュールを追加する具体的な記述方法がよく分かっていないので,何か参考になるページがあれば教えていただきたいのですが. よろしくお願いします.

    • 締切済み
    • PHP
  • 以前書きこんだ者です。Apacheを自宅サーバーとして動かしています。

    以前書きこんだ者です。Apacheを自宅サーバーとして動かしています。Perlを含むCGIとSSI、それにHtmlをApacheで稼働させたいと思っているのですが、cgi-bin 以下のディレクトリでPerlとCGIを 動かすことはできたのですが、Htmlが動きません。ここに投稿させていただいたところ、CGI専用 ディレクトリでHtmlを動かそうとしているとご指摘されたので、cgi-binのひとつ上のディレクトリ でHtmlを動かそうと、httpd.confの中のServerRoot "C:/Program Files/Apache Software Foundation/Apache2.2"にしました。そしてエクスプローラで”localhost/htmlのファイル”を実行したところ、”Webページが見つかりません”とでてしまいました。何度いろいろなファイルで やっても同じエラーが出てしまいます。どうやらApache2.2のHtmlファイルを認識してくれない ようなのですが原因がわかりません。わかる方どうか教えてください。よろしくお願いします。

  • Apache/2.2.13 WebサーバーでCGIが動きません

    ご迷惑をおかけして、すいません。 何方か助けてください。お願いいたします。 OS Redhat Linux Fedora 11 バージョン 1.430 Webサーバー Apache バージョン 2.2.13 perl perl 5.10.0-73.fc11 httpd.confの記述 ------------------------- AddHandler cgi-script .cgi .pl ScriptAlias /cgi-bin/ "/home/www/cgi-bin/" <Directory /home/www/cgi-bin> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> ------------------------ デレクトリー /home/www/cgi-bin 属性(775 rwxrwxr-x) CGIファイル 属性(775 rwxrwxr-x) http://eiwa-up.com/cgi-bin/index.pl http://eiwa-up.com/cgi-bin/index.cgi 同じファイルで拡張子が.plは正常に動作します。 拡張子が.cgiだと動かない状態です。 お忙しい中申し訳ありませんが、何方か助けてください。 お願いいたします。 趣味で無料レンタルCGIをボランティアで提供していたのですが、 先月Linux Laser5が老朽化のためダウンしてしまい、新しくFedora11のwebサーバーを新インストールしているのですが私の知識では解決できそうにありません。無料レンタルCGIで使用していたサーバーのためたくさんの方にご迷惑おかけしている状態です。 なぜ.cgi拡張子だと動作しないのか?解決方法を教えていただけたら憂いしいのですが。よろしくお願いいたします。