現在サーバー移転作業をしています。いままでのサーバーは、htmlディレクトリ以下にcgiを置くことができたのですが、移転先のサーバーは、cgiの使用は、cgi-bin以下のデイレクトリに限定されています。そこで掲示板cgiを手直ししているのですが、「あるcgiはファイルロック機能を外すと作動したり、あるcgiはサーバーエラーになったり、投稿でくなくなります」どうもログファイルの指定の仕方に問題があるような感じです。どなたか、こういった場合の一般的考え方や対処方法をごぞんじないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答8件)

id:nekogo No.1

回答回数113ベストアンサー獲得回数2

ポイント24pt

http://www.kent-web.com/utility/index.html

:: KENT WEB > ユーティリティ ::

サーバーによってファイルロックに使用できる関数が違う事があります。

こちらの「Symlink Checker」で、その関数が使用できるかどうか、確認してみてはいかがでしょうか。

上が配布元、下がファイルロックの種類について載っています。

サーバーでAという方式が使えない場合、Aしか使えない掲示板は改造しなければいけないので、分らなければその掲示板の配布元に相談するといいと思います。

http://www1.plala.or.jp/bagi/labo/lock.html

CGI Saloon - ロックについて

id:ozaki

どうもありがとうござます。さっそくこれから試してみます。でももっと情報がほしいので他の方のアドバイスをお待ちしています。

2004/01/08 16:14:25
id:tsurinews No.2

回答回数56ベストアンサー獲得回数0

ポイント24pt

CGI用のフォルダが指定されているということは

CGI以外のファイル(例えばhtmlやgifやjpeg)はそのフォルダに置けないのでは?

なのでCGIを確認して別々のフォルダに設置する必要があるのでは?

id:ozaki

ご指摘の通りです。画像などはcgi-binのディレクトリ以下に置いても表示されないので、html以下のデイレクトリに置いて表示させています。ただ画像は、http://OXOXOXOOXOXとパスを通すだけなので簡単だったのですが、ログファイルなどは同じ方法では、サーバーエラーになったり、違うcgiだとロック機能を外せば作動したり、と正常に作動ができません。そのため、ログファイルなどの設定を修正する必要があると睨んでいるのです。その作業をする際の一般的考え方か、参考になる事例などでもどなたかご存知であれば、ご教示賜りたいのですが・・・?!

2004/01/08 18:04:37
id:masaomix No.3

回答回数1023ベストアンサー獲得回数1

ポイント24pt

基本的にCGIの置けるディレクトリのサーバ設定というのは

CGIの処理系とは全然別の所で行われますから、

cgi-binにしか置けないからといって

ファイルのロックの基本が変わることはありません。

一番考えられるのは、1のご回答にあるような使用できる関数の問題。

これが大きいと思います。

あとは、ディレクトリ構成の変更による

ロックファイルのパス指定。

これも確認してください。

それからUNIX系、Linux系サーバでは

ディレクトリやファイルのパーミッションも重要です。

サーバによっては一定以上の権限を許可していない場合もありますから、

どうしても解決がつかず煮詰まってしまったら、

サーバ推奨のパーミッションがどうなっているのかも確認してみてください。

場合によるとCGIの設置例のままではうまく動かない場合があります。

id:ozaki

どうもご回答ありがとうございます。多分ご指摘の部分の、「ディレクトリ構成の変更によるロックファイルのパス指定」が深くかかわっていると思っています。そこを詳しく解説したものが何かあれば、ありがたいのですが・・・。事例でも結構です・・・。

2004/01/08 18:09:54
id:cakeismine No.4

回答回数7ベストアンサー獲得回数0

ポイント24pt

サーバ移転って結構トラブルの種ですね。プログラムにまったく手を着けずにただコピーしたつもりでも、うまく動かないことも多かったりして。

簡単ですが、以下の点はいかがでしょう

・CGIの中のディレクトリ指定の部分をチェックする

たとえばCGIの中には、

/home/username/html/log.log

というように、ディレクトリを長く書く「絶対パス」という記述があります。サーバが変わるとこの部分の名前も変わりますので、要点検です。

・CGIプログラムファイルのパーミッションをチェックする

・ログファイルのパーミッションをチェックする

・ディレクトリのパーミッションをチェックする

特にパーミッションですが、ディレクトリのパーミッションは忘れがちです。もしCGIが最初の起動時に、新しいファイルを作成するようなプログラムであれば、ディレクトリ自身もchmod 777しておかないといけません。

id:masi No.5

回答回数356ベストアンサー獲得回数0

ポイント24pt

フォルダやファイルのパーミッションはサーバーごとに

違うので、それにより、うまくロックがかからなくなることもあります。

具体的なサーバー名を挙げることができれば、

もっと情報が集まるかもしれません。

id:raby No.6

回答回数21ベストアンサー獲得回数0

ポイント24pt

サーバーによってパーミッション777のフォルダにログファイルを入れる、CGIを入れるなどをするとエラーになることがあるようですので、サーバーのCGI設定を見てみると良いと思います。

id:tsurinews No.7

回答回数56ベストアンサー獲得回数0

ポイント23pt

こちらで参考になりませんか?

id:ozaki

たいへん参考になりました。ただ、他に同様な意味で参考になるものはもっとありませんか?

2004/01/08 20:41:27
id:raby No.8

回答回数21ベストアンサー獲得回数0

ポイント23pt

1つめは、ファイルロック関連のいろいろなサーバーの記事(カウンタ設置)をきじゅつしてらっしゃいます。

また、2番目はサーバーで許可されているロック形式をチェックできるスクリプト配布モト。LockCheck->ダウンロードで、開いたページの真ん中らへんに LockCheckがあります。

出てきたエラーメッセージ等があれば、それらを載せていただければもう少し突っ込んだものが出せるかと思います。

id:ozaki

どうもご回答ありがとうございました。いろいろ皆さま方に教えていただき感謝いたします。これにて質問は終了させていただきます。

2004/01/10 06:34:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません