Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0008に戻る

タイトル: cgiで設定ファイル等が読めません
記事No: 2150
投稿日: 2004/06/02(Wed) 01:46
投稿者: 小雪
初めまして質問させていただきます。

Fedora Core1とApacheでサーバーを立てたのですが、
いままでレンタルサーバーで動かしてきたperlスクリプトがうまく動作しません。

うまく動作しないというのは、cgi-bin内に作ったimagesというディレクトリと、initという設定ファイル(txt)が入ったディレクトリからファイルを参照してくれないということです。
(スクリプト自体は動いています。)

こちらの過去ログを読ませていただき、httpd.confを下記のように修正したのですが変わりません。

<Directory /var/www/cgi-bin>
Options ExecCGI
AllowOverride None
Allow from all
AddHandler image .gif .jpg <----ここと、
AddHandler text .txt .dat <---- ここを追加しました。
Order allow,deny
</Directory>

どなたかご教示いただけないでしょうか。
よろしくお願いいたします。

タイトル: Re: cgiで設定ファイル等が読めません
記事No: 2153
投稿日: 2004/06/02(Wed) 09:36
投稿者: みのる URL: http://tibbar.dip.jp/~rabbit/
CGIは新規に設置されたものでしょうか?それとも今までレンタル
サーバで使っていた物をデータファイルごとコピーして移設したも
のでしょうか?

CGIが生成するデータファイルなどはファイルの所有者や属性など
の関係で、コピーしただけでは、ファイルの読み書きが出来ない場
合があります。

タイトル: Re^2: cgiで設定ファイル等が読めません
記事No: 2155
投稿日: 2004/06/02(Wed) 10:47
投稿者: 小雪
みのる様

レスをありがとうございます。

CGIはレンタルサーバーで使っていたものと同じのを新規に設置いたしました。
デフォルトで入っている画面の設定ファイルが読めない状態です。
スクリプトが出してくるメッセージは、ファイルがありませんというもので、
cgi-binのなかに作ったデータ用のディレクトリから直接cgi-binの中に設定ファイルを移動して、スクリプト中の設定ファイルを読む部分のパスも修正して実行してみたのですが同じ結果でした。

あと前回書き忘れていたのですが、httpd.confのScriptAlias /cgi-bin/ /var/www/cgi-bin/の部分をAlias /cgi-bin/ /usr/lib/cgi-bin/にとしています。


> CGIは新規に設置されたものでしょうか?それとも今までレンタル
> サーバで使っていた物をデータファイルごとコピーして移設したも
> のでしょうか?
>
> CGIが生成するデータファイルなどはファイルの所有者や属性など
> の関係で、コピーしただけでは、ファイルの読み書きが出来ない場
> 合があります。

タイトル: 情報の整理をお願いします。
記事No: 2156
投稿日: 2004/06/02(Wed) 14:03
投稿者: みのる URL: http://tibbar.dip.jp/~rabbit/
なんだか、込み入ってきました。情報の整理をお願いします。

基本的な事ですが、OSはFedoraCore1のようですけど、Apacheのバージョンはいくつでしょう?

cgiを設置したローカルパスはなんですか?(例えば/home/httpd/
public_html/cgi-binなど)

そのcgi以外に設置してあるcgiはありますか?それは正常に動作し
ていますか?

できれば設置しようとしているcgiの種類(画像投稿型掲示板とか)
と名称を教えてください。

的確な情報が的確な回答の近道です。是非よろしく。

タイトル: Re: 情報の整理をお願いします。
記事No: 2157
投稿日: 2004/06/02(Wed) 17:32
投稿者: 小雪
みのる様

お手数をおかけして申し訳ございません。

OS  Fedora Core1

Apache  Version 2.0.47

スクリプトを設置したパス /var/www/cgi-bin/

スクリプトの種類は普通の文字だけの掲示板と予定表とカウンターです。
名称なんですが、このスクリプトは以前会社にいた人が作られたもので、
オリジナルなのだそうです。
特別なことはしてないとのことで、実際にいろいろなレンタルサーバーで動いていたとのことでした。

その他の設置してあるスクリプトも実行はできるのですが、ログファイルや画像(gif)ファイルが読めません。
-eで読み込みたいファイルが存在するか試してみると無いと出るので、認識もしてないような感じです。
ちゃんと入れてあるんですが・・・。

現在の構成
/var/www/
    |
    |
    ----cgi-bin/
           |
           |
           ----bbs.cgi
           |
           ----log/
           |    |
           |    |----init.txt  log.txt
           |  
           |----images/
                |
                |----logo.gif 0-9.gif     


長々とすみません。
どうかよろしくお願いいたします。

タイトル: 他のCGIプログラムは?
記事No: 2158
投稿日: 2004/06/02(Wed) 17:43
投稿者: kokko
kent-webさんなどにあるCGIプログラムを使用した時、
やはり同じように画像が表示されないのでしょうか?

タイトル: Re: 他のCGIプログラムは?
記事No: 2166
投稿日: 2004/06/03(Thu) 10:44
投稿者: KSK
> kent-webさんなどにあるCGIプログラムを使用した時、
> やはり同じように画像が表示されないのでしょうか?

どもです。うまくいくかどうかわかりませんが、これでどうでしょう?

AddHandler default-handler .html .jpg .gif

タイトル: Re: cgiで設定ファイル等が読めません
記事No: 2159
投稿日: 2004/06/02(Wed) 18:17
投稿者: papa URL: http://yasunobu.ddo.jp/
<Directory /var/www/cgi-bin>
Options ExecCGI
AllowOverride None
Allow from all
AddHandler image .gif .jpg <----ここと、
AddHandler text .txt .dat <---- ここを追加しました。
Order allow,deny
</Directory>

↑の記述で、
AddHandler image .gif .jpg と、ありますが

修正後
AddHandler image/gif.jpg
/が抜けてませんか?
ドットではなくて、スラッシュの間違いではないでしょうか?

タイトル: Re^2: cgiで設定ファイル等が読めません
記事No: 2160
投稿日: 2004/06/02(Wed) 20:06
投稿者: kokko
http://www.miloweb.net/pastbbs/0001/153.html
過去ログです。

タイトル: Re^2: cgiで設定ファイル等が読めません
記事No: 2161
投稿日: 2004/06/03(Thu) 01:01
投稿者: 小雪
papa様
レスありがとうございます。

> AddHandler image .gif .jpg と、ありますが
>
> 修正後
> AddHandler image/gif.jpg
> /が抜けてませんか?
> ドットではなくて、スラッシュの間違いではないでしょうか?

こちらのBBSで過去ログを拝見してそのとおりに記述したました。
スラッシュも試してみたのですが同じ結果でした。

タイトル: Re^3: cgiで設定ファイル等が読めません
記事No: 2162
投稿日: 2004/06/03(Thu) 01:11
投稿者: 小雪
すみません、途中で投稿してしまいました。

koko様、ありがとうございます。
私もそのログを拝見させていただいてました。

いろいろ私も調べているのですが、Apache2のModPerlが影響していそうです。
ファイルへのパスの書き方が今までと変わってるようで、それを直さないとだめみたいです。
それ以外にも今までのスクリプトだと影響が出るというような記事も読みました。

できたらmodperlを使わないでそれ以前のperlを使いたいのですけど、何か方法はないでしょうか。

タイトル: 荒業
記事No: 2164
投稿日: 2004/06/03(Thu) 10:29
投稿者: みのる URL: http://tibbar.dip.jp/~rabbit/
試しにデスクトップ用途で使っているFedoraCore1のApacheを使っ
て現在自宅サーバに使っているCGIを動かそうと試していますが、
なかなか手強くてまだ動作させられません。

ApacheもVineLinuxで使っている1.x系とFedoraCore等で使われてい
る2.x系ではかなり仕様が変わっているようですね。
httpd.confの追加書式があったり、Peal用のconfファイルがあった
りして難しいです。(^_^;)

OSをVineLinuxに換えてしまうという荒業もありますけど、また最
初からやり直しというのもなんですしねぇ。
(^_^;)

タイトル: お礼が遅くなって申し訳けございませんでした。
記事No: 2178
投稿日: 2004/06/04(Fri) 02:41
投稿者: 小雪
KSK様

修正してみたのですが、残念ながら変わりませんでした。
でも私のしらないいろいろな書き方がわかって大変参考になりました。
ありがとうございました。

みのる様

わざわざ試していただいて恐縮です。
VineLinuxの件は、今の状況からどうしても抜けられないときに
試してみたいと思います。

もう少しみなさまからアドバイスしていただいたことを踏まえて勉強いたします。

本当にありがとうございました。

タイトル: あまりお役に立てませんで(^_^;)
記事No: 2182
投稿日: 2004/06/04(Fri) 15:50
投稿者: みのる URL: http://tibbar.dip.jp/~rabbit/
とりあえず、FodoraCore1でKENT Webさん製作のASKA BBSを入れて
みました。
http://www.kent-web.com/bbs/aska.html

なんとか動作はするようには出来たんですが、CGIの設定で相対パ
ス指定が使えなかったり、書き込み処理のときに文字化けが出たり
しました。

どうもFedoraCore1では従来のCGIスクリプトがそのままでは使えな
い場合があるようです。
つまり、問題はOSと言うよりはCGIスクリプトの方みたいです。

CGIスクリプト自体を現在の環境に合わせて書き直してもらうか、
FedoraCore1にApacheの1.x系を乗せる若しくは1.x系を採用してい
るディストリビューションに乗り換えるとか。
どちらにしても、ちょっと大変ですね。(^_^;)

タイトル: Re: あまりお役に立てませんで(^_^;)
記事No: 2189
投稿日: 2004/06/04(Fri) 20:35
投稿者: papa URL: http://yasunobu.ddo.jp/
小雪様

私も、Fedoraで鯖運営してますが・・
ばっちり動きます。
か、httpd.confを全文書き換えればOKじゃないですかね?
私の、環境では
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
AddHandler image/gif .gif
AddHandler image/jpeg .jpeg .jpg .jpe
AddHandler image/png .png
AddHandler text/html .html .htm
</Directory>

に、なってます。
もう一つ
#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl -追加してますかね?

みのる様
文字化けは私も悩みました(笑)
AddDefaultCharset UTF-8
#AddDefaultCharset UTF-8 -デフォルトではUTF-8なので無効化したら文字化け解消しますよ♪

タイトル: perl.confをリネーム
記事No: 2194
投稿日: 2004/06/05(Sat) 08:57
投稿者: みのる URL: http://tibbar.dip.jp/~rabbit/
設定ファイル名の相対パスの問題は
「/etc/httpd/conf.d/perl.conf」ファイルをリネームして読み込
ませない事で解決出来ました。

>papaさん
文字化けは画面表示の時ではなくてLOGへの書き込み時に起きるん
ですよ。(^_^;)
つまり、LOGファイルの中身が化けてるんですわ。
といっても、全ての文字ではなくて特定の文字だけなんですけど。
CGIの文字コードを変換してあるのがまずいのかなぁ
(?_?)です。

タイトル: Re: perl.confをリネーム
記事No: 2292
投稿日: 2004/06/21(Mon) 11:50
投稿者: LR
書き込む時に、文字化けするのなら、このコードで変換してみては?

&jcode'convert(*str,'euc');

これでだめなら、

&jcode'convert(*str,'sjis');

strという変数に入っている文字を、各文字コードに変換。

タイトル: 追記
記事No: 2293
投稿日: 2004/06/21(Mon) 11:57
投稿者: LR
特定の文字だけ文字化けするみたいですが、PERLでよく文字化けする漢字があります。

「表」「能」という漢字はよく文字化けします。
それを防ぐには、文字化けする漢字の前に、¥を追加すると直ります。

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net