1824944 メンバー
3647 オンライン
109678 解決策
新規ポスト

Apache2.でのWWWサーバ構築

 
denden
新しいメンバー

Apache2.でのWWWサーバ構築

サーバ構築にあたり、Perlを用いたCGIを利用しています。

サーバの初期設定時にパーティーションを/(ルート)と/work1といった感じにわけ、/(ルート)下の/var/www/cgi-bin』下にPerlで作成したCGIのソース郡をおき、/work3下に参照するデータ(例えばCSVファイル)をおいています。

/var/www/cgi-bin上でtest.plというのを作成し、Perlの関数Open()を用いて/work3下のCSVファイルをブラウザ上で表示させようとしているのですが、表示されません。

========ソース例として

#!/usr/bin/perl

print <


表示

<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />







EOF

open(IN,"/work1/test.CSV")

while(){

@cat = split(/,/,$_);

print <
$cat,$cat



EOF

}

close IN;

print <




EOF

=======

open〜の部分を

open(IN,"./test.CSV")とし、test.CSVのファイルを/var/www/cgi-bin下におくとうまく表示されます。

/work1のパーミッションもすべて777にし、/var/www/cgi-bin下も755で与えているのですが、うまく表示されません。

となると、

apacheの設定が考えられるのですが、原因と考えられそうなところの設定は

=================



Options FollowSymLinks

AllowOverride None



 :

 :

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#

# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

#



AllowOverride None

Options None

Order allow,deny

Allow from all



 :

 :

=================

と、特に変更はしていないのですが。。

以上、お手数ですがご教授頂きたく、

よろしくお願い致します。

2件の返信2
HASI
頻繁なアドバイザー

Apache2.でのWWWサーバ構築

ソース例を少し修正させて頂きましたが、きちんと

表示されました。(多分、関係ないかと)

3行目行追加

print "Content-type: text/html\n\n";

13行目 ;を追加

open(IN,"/work1/test.CSV");

# httpd -v

Server version: Apache/2.0.46

Server built: Nov 5 2004 10:58:21

httpd-2.0.46-44 rpm パッケージ

httpd.confはデフォルトのまま。

/work1 755

/work1/test.CSV 744

/var/www/cgi-bin/test.pl 755

ブラウザが出力したエラー内容を明記すると

良いかもしれません。(Internal Error等)

後、もうチェック済だと思いますが、

/var/log/httpd/error_logも確認して下さい。

回答でなくて申し訳ないですが、ご参考まで
denden
新しいメンバー

Apache2.でのWWWサーバ構築

HASIさま

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

お教えいただいた箇所試みましたが、結果は同じでした。

で、メーカー側に問い合わせたところ、SELinuxの設定が「Enforcing」と、一番強固な設定になっていたため、表示できなかったようです。

これを「Disabled」にすることで無事解決致しました。

ご連絡いただきありがとうございました。