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

締切り済みの質問

Apacheの設定に関して

Windowsの環境でApache、CGI、perlを用いた環境を構築
しようと考えています。

色々ホームページを検索してみましたが、詳細に書かれた
ページが見つかりませんでした。
(以前はPHPを用いた環境は作成した事はあります。)

参考になるようなページがありましたら教えて下さい。

宜しくお願いします。

投稿日時 - 2007-03-30 09:10:04

QNo.2878594

すぐに回答ほしいです

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

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

回答(3)

ANo.3

こんにちは

以下をコピペして≪test.cgi≫をSAフォルダに保存してみてください

#! c:/perl/bin/perl
require './jcode.pl';

&decode;
&html;

sub html {
&header;
print "testです\n";

&footer;
exit;
}

#---------------#
# HTMLヘッダー #
#---------------#
sub header {
print "Content-type: text/html\n\n";
print <<EOM;
<html>
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<title>test</title>
</head>
<body>
EOM
}
#------------------#
# HTMLのフッター #
#------------------#
sub footer {
print "</body></html>\n";
}

#--------------------#
# フォームデコード #
#--------------------#
sub decode {
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
} else {
$buf = $ENV{'QUERY_STRING'};
}

undef(%in);
my @buf = split(/&/, $buf);
foreach (@buf) {
my ($key, $val) = split(/=/);
$val =~ tr/+/ /;
$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;

# SJISコード変換
&jcode::convert(\$val, 'sjis');

# エスケープ
$val =~ s/&/&/g;
$val =~ s/"/"/g;
$val =~ s/</</g;
$val =~ s/>/>/g;
$val =~ s/\r\n/<br>/g;
$val =~ s/\r/<br>/g;
$val =~ s/\n/<br>/g;

$in{$key} = $val;
}
}

それでブラウザでhttp://127.0.0.1/SA/test.cgi
もしくはhttp://localhost/SA/test.cgiと入力してみてください

『testです』とブラウザ表示されると思うのですが・・・
jcord.plは同一ディレクトリ内(SAフォルダ内)に保存してくださいね
http://mikeneko.creator.club.ne.jp/~lab/kcode/jcode.html#h1-2

PHPの方もApacheでやっていたのですかね?
Apacheのほうでやっててhttd.confの設定だけを変えているのであればPHPファイルを置いているフォルダの方にcgiファイルを置いてみてはどうですか?

http://tech.bayashi.net/faq/nodl.html
http://sakaguch.com/pastbbs/0035/B0017909.html

投稿日時 - 2007-04-01 03:03:17

ANo.2

こんにちは

<IfModule mod_userdir.c>の変更をするようには書いていないのでバージョンが違うのかなと思いますけど・・・
参考になればと思い、以前回答したのを載せておきますね(^^)

http://okwave.jp/qa2824758.html

cgiファイルの行頭は
#!/usr/local/bin/perl
ではなく
#! c:/perl/bin/perl
となります

投稿日時 - 2007-03-30 21:35:45

補足

回答ありがとうございます。

あともう少しのところまできました。

apacheも正常に動作している事が確認されました。

しかし、C:\ApacheGroup\Apache2\htdocsの下にSAというフォルダを
作成し、その中でSAM.cgiというファイルを http://localhost/SA/
SAM.cgiと指定した場合、ファイルが開くのではなく、ダウンロード
となってしまいます。

何か設定が間違っているのでしょうか・・・。

教えて下さい。

投稿日時 - 2007-03-31 14:33:24

ANo.1

すこしググってやれば参考URLのようなサイトが見付かると思います。
ここの内容では、不足でしょうか?

PHPを用いた環境を作れるのであればそれほど難しくは無いと思います。
ただ、PHPの環境を「XAMPP」とかでお気軽に作っていたのであれば別ですが・・・(私は、お気軽に作りますが・・・外向けのサーバーは作らないので)

参考URL:http://www.futomi.com/lecture/apache/index.html

投稿日時 - 2007-03-30 09:31:26

補足

ご回答ありがとうございます。

もう少しだけ教えて下さい。

CGIもperlもインストールし、CGIが動いている事は確認できましたが、
CGIを動作させるフォルダを変更したいと考えています。

<IfModule mod_userdir.c>

のあたりを変更すれば良いと記述してありましたが、私のapacheの
"httd.conf"にはそのような記述がありません。。。

どこを変えたら良いでしょうか。。。。

投稿日時 - 2007-03-30 10:56:40