こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

apacheでcgiが動きません

apacheをインストールし設定を行っていますがCGIが動いてくれません。
具体的にはCGIのソースがそのまま表示されてしまいます。

ネットを調べてみても

<Directory /home/ultra/public_html>
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>

を追加すれば動くような事が書いてありますがこの設定では動いてくれないようです。
何か根本的に間違っていることをしているのでしょうか。

アパッチのバージョンは以下のとおりです。
Server version: Apache/2.4.3 (Unix)

suexecで動かしたくsuexecの設定もしていますが、
ログにsuexecのログが生成されないのでその前の段階かと思うのですが・・。
エラーログなどは特に表示されません。cgiのソースが20xで返されているので
当たり前かもしれませんが

.コンパイル前の /configreは以下のように設定しました。


./configure --enable-mbstring \
--enable-mbstr-enc-trans \
--enable-mbregex \
--enable-i18n \
--with-xml \
--with-mysql=/usr/local/mysql \
--with-pgsql=/usr/local/pgsql \
--enable-track-vars \
--enable-discard-path \
--with-gd \
--enable-gd-native-ttf \
--with-zlib-dir=/usr/local \
--with-pdflib=/usr/local \
--enable-shared-pdflib \
--enable-exif \
--disable-debug \
--enable-debug=no \
--enable-debugger=yes \
--enable-memory-limit=yes \
--enable-magic-quotes=yes \
--with-exec-dir=/usr/bin \
--without-system-regex \
--with-dbase=yes \
--enable-bcmath=yes \
--enable-ftp \
--enable-sockets \
--disable-posix-threads \
--enable-xsl \
--enable-xslt \
--with-xslt-sablot \
--with-xsl=/usr/local \
--with-dom=/usr/local \
--with-dom-xslt=/usr/local \
--enable-soap \
--enable-simplexml \
--with-gettext=/usr/local \
--enable-sqlite-utf8 \
--with-pdo-mysql=/usr/local/mysql \
--with-pdo-pgsql=/usr/local/pgsql \
--with-pdo-sqlite=/usr/local \
--with-curl=/usr/local/lib \
--with-openssl=/usr/local/openssl \
--with-mcrypt=/usr/local \
--with-iconv=/usr/local \
--with-xmlrpc \
--enable-safe-mode \
--enable-ssl \
--enable-dav \
--enable-so \
--enable-suexec \
--with-suexec-caller=apache \
--with-suexec-userdir=public_html \
--with-suexec-docroot=/home \
--with-suexec-logfile=/usr/local/apache2/logs/suexec_log \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=100

ご回答よろしくお願いいたします

投稿日時 - 2012-08-29 16:24:15

QNo.7669868

困ってます

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

原因となる可能性はいろいろありますが、ソースからコンパイルする人のよくあるミスは、別の設定ファイルを編集したりします。
複数アプリを入れる場合は、きちんとパスを確認する必要があります。

前提条件として、コンパイルがきちんと通り、モジュールが組み込まれ、設定変更後のプロセス再起動は確認済みですよね。

投稿日時 - 2012-08-30 09:25:41

補足

パスの確認方法は分かりませんがLoadModuleを追加する事でエラーだったものがエラーがなくなったので/usr/local/apache2/conf/httpd.conf(たしか)であってるとおもいます。postfixのcyrus-saslでも設定ファイルの場所が分からなくて苦労しましたが何か設定ファイルやその他のファイルのパスの簡単な確認方法ってあるんでしょうか。

必要なモジュールが組み込まれているかは起動時のエラーで判定してしまってよいのでしょうか。すみませんがよろしくお願いいたします。

投稿日時 - 2012-08-30 13:18:10

お礼

貴重なお時間をお使いいただき、ご回答ありがとうございます。

コンパイルはエラーなく通っています。設定ファイルは起動前にエラーでてLoadNoduleを追加しないと動かなかった事から違うファイルを編集しているという事はありません。モジュールを組み込むのは起動時エラーが出なくなるまで組み込んでいます。プロセスの再起動は/etc/rc.d/init.d/apached restartで行っています。この際エラーはでません。

細かいところを書いていなかったためお手数をおかけして申し訳ありません。引き続きよろしくお願いいたします。

投稿日時 - 2012-08-30 12:33:14

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問