投稿日:2003年07月18日 作成鷹の巣

No.11231 ANHTTPDからApacheに移行後CGIスクリプトが動かなくなりました。



ANHTTPDからApacheに移行後CGIスクリプトが動かなくなりました。

No.11231 投稿時間:2003年07月18日(Fri) 21:57 投稿者名:りゅうや URL:

一昨日サーバーソフトをANHTTPDからApache(Win32)に変えました。
そしたらいままで動いていたCGIスクリプトが動かなくなりました。
CGIスクリプトがテキストファイルとしてそのまま見えてしまいます。
だから管理者用のパスワードも漏れてしまいます。(CGI動いてないから意味ないけど)
(後にANHTTPDは独自解釈で動いていたことに気づく)
あぁ、何も知らずにCGIを動かしていた自分はバカだ
そこで助けていただきたい、いくつか自分のわかる範囲でスクリプトの実行ファイルの修正等(1行目)をやりましたが無理でした。
構成は
公開フォルダはD:\htdocs
pearlはC:\usr\localにインストールしました。
スクリプトの一行目は
#!/usr/local/bin/perl
にしました。
なにが悪いのでしょうか?


Apacheのバージョンは2.0.47です。

No.11232 投稿時間:2003年07月18日(Fri) 21:58 投稿者名:りゅうや URL:

Apacheのバージョンは2.0.47です。


ApacheはCGIの動作をさせるためには設定が必要です。

No.11233 投稿時間:2003年07月18日(Fri) 22:33 投稿者名:APACHE URL:http://kemuri-net.dip.jp/~server/

ApacheはCGIの動作をさせるためには設定が必要です。

httpd.confを開き
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI Multiviews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options FollowSymLinks
となっているヶ所を
Options ExecCGI Includes FollowSymLinks
に変更します。

#AddHandler cgi-script .cgi
というヶ所を
AddHandler cgi-script .cgi
に書き換えます。

#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
というヶ所を
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
に書き換えます。

httpd.confを保存し
Apacheを再起動します。
これでCGIとSSIが有効になっているはずです。


Apacheにしてから文字化けが発生します。

No.11235 投稿時間:2003年07月19日(Sat) 00:24 投稿者名:りゅうや URL:

あともうひとつお願いします。
Apacheにしてから文字化けが発生します。DOCタグ入れてないせいかとおもったらDOCタグをきちんと入れてもそうなりました。
アフォな質問だったらすみません


CGIは動作したのでしょうか。

No.11237 投稿時間:2003年07月19日(Sat) 00:47 投稿者名:APACHE URL:http://kemuri-net.dip.jp/~server/

> あともうひとつお願いします。
CGIは動作したのでしょうか。
追加質問無いようなので動いたと解釈します。

> Apacheにしてから文字化けが発生します。DOCタグ入れてないせいかとおもったらDOCタグをきちんと入れてもそうなりました。
> アフォな質問だったらすみません
DOC?
DOCって
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
これのこと?
文字コードの指定はなら<HEAD>と</HEAD>の間に
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
これですよ。
#EUCなら
#<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">


多分、AddDefaultCharset が標準のままなのではないでしょうか?

No.11242 投稿時間:2003年07月19日(Sat) 09:04 投稿者名:sugari URL:

> > あともうひとつお願いします。
> CGIは動作したのでしょうか。
> 追加質問無いようなので動いたと解釈します。
>
> > Apacheにしてから文字化けが発生します。DOCタグ入れてないせいかとおもったらDOCタグをきちんと入れてもそうなりました。
> > アフォな質問だったらすみません

多分、AddDefaultCharset が標準のままなのではないでしょうか?
これは、標準のままですと、METAタグで指定しても、無視されたと思います。

METAタグで文字コードを指定する場合は、
AddDefaultCharset iso-8859-1 の部分を、
AddDefaultCharset none と書き換えて見てください。

あとついでに、LanguagePriority の部分の ja という記述が、
LanguagePriority ja という感じで一番手前に来るように書き換えて見てください。


Apacheで正常にCGIや文字化けなく使えるようになりました。

No.11302 投稿時間:2003年07月21日(Mon) 13:29 投稿者名:りゅうや URL:

皆さんありがとうございます。Apacheで正常にCGIや文字化けなく使えるようになりました。
(サーバーやるなら英語くらい使えないとなぁ~と思う自分)


|目次|掲示板|過去ログ目次|▲頁先頭|