人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: ozaki
●カテゴリ:ウェブ制作
✍キーワード:CGI HTML エラー サーバー ディレクトリ
○ 状態 :終了
└ 回答数 : 8/8件

▽最新の回答へ

1 ● nekogo
●24ポイント

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 - ロックについて

◎質問者からの返答

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


2 ● tsurinews
●24ポイント

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

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

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

◎質問者からの返答

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


3 ● masaomix
●24ポイント

http://tohoho.wakusei.ne.jp/wwwperl2.htm#flock

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

◎質問者からの返答

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


4 ● cakeismine
●24ポイント

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

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

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

たとえばCGIの中には、

/home/username/html/log.log

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

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

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

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

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


5 ● masi
●24ポイント

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

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

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

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


1-5件表示/8件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ