linux apache の設定で聞きたい事があります。


cgiとhtmlファイルを同じディレクトリに置いて表示できるようにしたいのですがhttpd.confのどこをいじればよろしいのでしょうか?

/cgi-bin/ ディレクトリでcgiだけを動かすことは出来ました。

物凄く簡単な事かもしれませんが宜しくお願いします。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2007/06/06 17:03:10
  • 終了:2007/06/07 13:55:18

回答(4件)

id:namiheikun No.1

namiheikun回答回数75ベストアンサー獲得回数62007/06/06 17:24:56

ポイント13pt

http://www.rfs.jp/server/apache/01/02.html

# CGIを実行させたいディレクトリ領域に、オプション「ExecCGI」を追加

<Directory "/home/httpd/cgi-bin">

Options Indexes FollowSymLinks ExecCGI

AllowOverride None

Order allow,deny

Allow from all

</Directory>

DirectoryディレクティブのOptionsパラメータにExecCGIを付加して下さい。

id:zenval

試しましたが私が最初に行ったと同じでcgiは表示されますがhtmlやphp、その他のファイルは500エラーで表示がされませんでした。

2007/06/06 17:36:22
id:Yota No.2

Yota回答回数453ベストアンサー獲得回数282007/06/06 18:26:50

ポイント26pt

http://httpd.apache.org/docs/2.0/howto/cgi.html

この通りやっても動かない場合、エラーログを貼り付けた方がいいと思います。

#tail .../logs/error_log

id:zenval

無事表示されることが出来ました。

ありがとうございました

2007/06/07 13:54:29
id:namiheikun No.3

namiheikun回答回数75ベストアンサー獲得回数62007/06/06 18:36:34

ポイント26pt

http://www.rescue.ne.jp/CGI-BBS/server/apache/20010810121205.sht...

http://www.aconus.com/~oyaji/faq/apache_cgi5.htm

申し訳ないです。

CGIが動かないのだと思ってました。

cgi-bin/でhtmlやphpを実行したいということですか?

それならば、公開したい拡張子を追加してあげます。

<Directory "/var/www/cgi-bin">

   AllowOverride None

   Options None

   Order allow,deny

   Allow from all

   AddHandler text/html .html

</Directory>

のようにAddHandlerで追加してあげて下さい。

phpを動かす場合はLoadModuleでphpのライブラリのロードが必要になります。

AddHandler text/html .phpなどです。

ただ、/cgi-bin/は通常プログラムのみを動かすディレクトリなので、ここを共有するよりか、DocumentRootのディレクトリや個別のディレクトリにExecCGI(CGI実行可能)やIncludes(SSI実行可能)などとOptionsに追加する方が一般的です。

id:zenval

無事表示されることが出来ました。

ありがとうございました

2007/06/07 13:54:36
id:penchick No.4

penchick回答回数22ベストアンサー獲得回数02007/06/06 18:45:37

ポイント25pt

http://httpd.apache.org/docs/2.0/ja/mod/mod_alias.html

ひょっとして、/cgi-bin/ディレクトリでhtmlを表示させようとしていますか?/cgi-bin/ディレクトリはScriptAliasと設定されていて、cgi専用になっています。別にDocumentRootがあるはずです(例えば、/htdocs/)。そちらにcgiとhtmlを置けば両方ともきちんと表示できるはずですから試してみてください。

もし、どうしても/cgi-bin/でhtmlを実行したい場合は、<Directory "/home/httpd/cgi-bin">という記述の少し上に

ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"

という行がありますので、そこを

Alias /cgi-bin/ "/home/httpd/cgi-bin/"

に変更すれば動作すると思います。

id:zenval

無事表示されることが出来ました。

ありがとうございました

2007/06/07 13:54:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません