記事No | : 11976 |
投稿日 | : 2013/06/14(Fri) 16:58:37 |
タイトル | : WEB PROTECTについて |
ID情報 | : YKUKU |
投稿者 | : IISサーバー利用者 |
URL | : http://localhost/ |
URLはIISのため決定しておりません。
さっそくなんですが、WEB PROTECTがうまく動作しません。
check.cgiでは以下の通り結果が出ます。
なお、sendmailは設置していません。
Check Mode: [ Web Protect v4.33 ] 会員ファイル位置: OK
会員ファイルパーミッション: OK
パスワードファイル位置: OK
パスワードファイルパーミッション: OK
アクセス履歴ファイル位置: OK
アクセス履歴ファイルパーミッション: OK
テンプレートディレクトリ位置 : OK
隠しディレクトリ位置 : OK
セッションディレクトリ位置 : OK
セッションディレクトリパーミッション : OK
sendmail位置 : NG
そして、admin.cgi、enter.cgiは動作するのですが、うまくtop.htmlに飛ばないのです。
どうすればいいのでしょうか?
以下、init.cgiです。
#=====================================================================
# ▼設定項目
#=====================================================================
# 管理用パスワード
$cf{password} = 'manege@Login';
# パスワード発行形態
# 1 : ユーザからの発行&メンテを可能にする
# 2 : 発行は管理者のみ。ユーザはメンテのみ
# 3 : 発行&メンテは管理者のみ(index.htmlは不要)
$cf{pwd_regist} = 3;
# 管理者メールアドレス
# → $cf{pwd_regist} = 1; のとき
$cf{master} = 'xxx@xxx.xx';
# sendmailパス【サーバパス】
# → $cf{pwd_regist} = 1; のとき
$cf{sendmail} = '/usr/lib/sendmail';
# sendmailの -fオプション
# → サーバ仕様で必要な場合
$cf{sendm_f} = 0;
# 認証後の有効時間(分)
# → 初期ログインしてからの有効時間
$cf{job_time} = 60;
# 隠しファイル(トップ)
# → ""の中にファイル名のみを記述
${$cf{secret}}[0] = "top.html";
# 以下は隠しファイル(次ページ以降分)
# → [1][2][3]... と続ける。""の中にファイル名のみを記述。
# → CGIの場合はhttp://から記述する。
${$cf{secret}}[1] = "file1.html";
${$cf{secret}}[2] = "file2.html";
${$cf{secret}}[3] = "file3.html";
# バイナリファイル
# → キー(左方)はパラメータ
# → 値(右方)は順に、「ヘッダー」「拡張子」をコンマで区切り
$cf{binary} = {
gif => "image/gif,gif",
jpeg => "image/jpeg,jpg",
pdf => "aplication/pdf,pdf",
excel => "application/ms-excel,xls",
};
# 隠しディレクトリ【サーバパス】
# → 外部から直接アクセスできない場所のほうがよい
$cf{prvdir} = './private';
# セッションディレクトリ【サーバパス】
$cf{sesdir} = "./ses";
# パスワードファイル【サーバパス】fHdlb7hZ
$cf{pwdfile} = './data/.htpasswd';
# アクセス履歴ファイル【サーバパス】
$cf{logfile} = './data/.axslog';
# 会員ファイル【サーバパス】
$cf{memfile} = './data/.member';
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = "./tmpl";
# 本体プログラムURL【URLパス】
$cf{protect_cgi} = './protect.cgi';
# 入室プログラムURL【URLパス】
$cf{enter_cgi} = './enter.cgi';
# 登録プログラムURL【URLパス】
$cf{manager_cgi} = './manager.cgi';
# 管理プログラムURL【URLパス】
$cf{admin_cgi} = './admin.cgi';
# 最大受理サイズ
# → プログラムとして受理可能なサイズ
# → Byteで指定する [例] 1024 = 1KB
$cf{maxdata} = 10240;
# アクセスログ最大保持数
$cf{max_log} = 300;
# 1ページ当り会員表示件数(管理画面)
$cf{pg_max} = 10;
# ユーザ登録アクセス制限(半角スペースで区切る)
# → 拒否するホスト名又はIPアドレスを記述(アスタリスク可)
# → 記述例 $deny = '*.anonymizer.com 211.154.120.*';
$cf{deny} = '';
# ホスト取得方法
# 0 : gethostbyaddr関数を使わない
# 1 : gethostbyaddr関数を使う
$cf{gethostbyaddr} = 0;
# パスワード発行形態をユーザ操作にした場合の完了画面の戻り先【URLパス】
$cf{back_url} = "../index.html";
#=====================================================================
# ▲設定完了
記事No | : 11979 |
投稿日 | : 2013/06/15(Sat) 05:36:24 |
タイトル | : Re: WEB PROTECTについて |
ID情報 | : kent |
投稿者 | : KENT |
> URLはIISのため決定しておりません。
> さっそくなんですが、WEB PROTECTがうまく動作しません。
> check.cgiでは以下の通り結果が出ます。
> なお、sendmailは設置していません。
ファイル構成や位置も書かれていないため、回答できないですね。
「うまく動作しません」とは、具体的にはどのような現象になるのでしょう?
記事No | : 11983 |
投稿日 | : 2013/06/15(Sat) 13:06:05 |
タイトル | : Re^2: WEB PROTECTについて |
ID情報 | : YKUKU |
投稿者 | : IISサーバー利用者 |
> > URLはIISのため決定しておりません。
> > さっそくなんですが、WEB PROTECTがうまく動作しません。
> > check.cgiでは以下の通り結果が出ます。
> > なお、sendmailは設置していません。
>
> ファイル構成や位置も書かれていないため、回答できないですね。
> 「うまく動作しません」とは、具体的にはどのような現象になるのでしょう?
申し訳ございません。
enter.cgiにアクセス、パスワードの入力を行い、ログインをしようとすると、IEに localhostの待機中… と出たままどれだけ待ってもtop.htmlに飛ばないのです。また、この状態でprotect.cgiにアクセスしても
タイムアウトです。再度ログインしてください。
と出て動作しません。
なお、ファイル構成は C:/inetpub/wwwroot/ 内にパターン1の方法で設置し、 wwwroot内直下に本体プログラムであるcgiを一式設置しています。
(パターン1のままだとcheck.cgiでエラーが出るため、init.cgiのサーバーパスを書き換えなければならないのですが、指定方法がわからなくて、、)
記事No | : 11985 |
投稿日 | : 2013/06/16(Sun) 08:03:20 |
タイトル | : Re^3: WEB PROTECTについて |
ID情報 | : kent |
投稿者 | : KENT |
> > > URLはIISのため決定しておりません。
> > > さっそくなんですが、WEB PROTECTがうまく動作しません。
> > > check.cgiでは以下の通り結果が出ます。
> > > なお、sendmailは設置していません。
> >
> > ファイル構成や位置も書かれていないため、回答できないですね。
> > 「うまく動作しません」とは、具体的にはどのような現象になるのでしょう?
> 申し訳ございません。
> enter.cgiにアクセス、パスワードの入力を行い、ログインをしようとすると、IEに localhostの待機中… と出たままどれだけ待ってもtop.htmlに飛ばないのです。また、この状態でprotect.cgiにアクセスしても
> タイムアウトです。再度ログインしてください。
> と出て動作しません。
>
> なお、ファイル構成は C:/inetpub/wwwroot/ 内にパターン1の方法で設置し、 wwwroot内直下に本体プログラムであるcgiを一式設置しています。
> (パターン1のままだとcheck.cgiでエラーが出るため、init.cgiのサーバーパスを書き換えなければならないのですが、指定方法がわからなくて、、)
ローカルな環境でもありますし、これは分からないですね。
サーバ側の設定の問題ではありせんか?
他の掲示板等のプログラムは動作しますか?
以下のようなところも参考にしてみてください。
http://akisoftware.com/pmsrv/help/cgiset2008.html
https://www.google.com/search?hl=ja&sclient=psy-ab&q=iis+cgi+%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88&oq=iis+cgi+%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88&gs_l=serp.3..0j0i30j0i8i30l2.9462.10112.0.10810.5.5.0.0.0.0.153.594.1j4.5.0...0.0...1c.1.17.psy-ab.Gre9PyqhFfI&pbx=1
記事No | : 12183 |
投稿日 | : 2013/08/14(Wed) 12:48:43 |
タイトル | : Re^4: WEB PROTECTについて |
ID情報 | : YKUKU |
投稿者 | : IISサーバー利用者 |
返信遅れて申し訳ありません。
あれから設置をやり直しましたが、やはり localhost の待機中・・・となり、動作しません。
ディレクトリ構成は パターン1、init.cgiは以下の通りです。
#=====================================================================
# ▼設定項目
#=====================================================================
# 管理用パスワード
$cf{password} = '省略';
# パスワード発行形態
# 1 : ユーザからの発行&メンテを可能にする
# 2 : 発行は管理者のみ。ユーザはメンテのみ
# 3 : 発行&メンテは管理者のみ(index.htmlは不要)
$cf{pwd_regist} = 3;
# 管理者メールアドレス
# → $cf{pwd_regist} = 1; のとき
$cf{master} = '省略;
# sendmailパス【サーバパス】
# → $cf{pwd_regist} = 1; のとき
$cf{sendmail} = '/usr/lib/sendmail';
# sendmailの -fオプション
# → サーバ仕様で必要な場合
$cf{sendm_f} = 0;
# 認証後の有効時間(分)
# → 初期ログインしてからの有効時間
$cf{job_time} = 60;
# 隠しファイル(トップ)
# → ""の中にファイル名のみを記述
${$cf{secret}}[0] = "top.html";
# 以下は隠しファイル(次ページ以降分)
# → [1][2][3]... と続ける。""の中にファイル名のみを記述。
# → CGIの場合はhttp://から記述する。
${$cf{secret}}[1] = "file1.html";
${$cf{secret}}[2] = "file2.html";
${$cf{secret}}[3] = "file3.html";
# バイナリファイル
# → キー(左方)はパラメータ
# → 値(右方)は順に、「ヘッダー」「拡張子」をコンマで区切り
$cf{binary} = {
gif => "image/gif,gif",
jpeg => "image/jpeg,jpg",
pdf => "aplication/pdf,pdf",
excel => "application/ms-excel,xls",
};
# 隠しディレクトリ【サーバパス】
# → 外部から直接アクセスできない場所のほうがよい
$cf{prvdir} = '../private';
# セッションディレクトリ【サーバパス】
$cf{sesdir} = "../ses";
# パスワードファイル【サーバパス】
$cf{pwdfile} = '../data/.htpasswd';
# アクセス履歴ファイル【サーバパス】
$cf{logfile} = '../data/.axslog';
# 会員ファイル【サーバパス】
$cf{memfile} = '../data/.member';
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = "./tmpl";
# 本体プログラムURL【URLパス】
$cf{protect_cgi} = './protect.cgi';
# 入室プログラムURL【URLパス】
$cf{enter_cgi} = './enter.cgi';
# 登録プログラムURL【URLパス】
$cf{manager_cgi} = './manager.cgi';
# 管理プログラムURL【URLパス】
$cf{admin_cgi} = './admin.cgi';
# 最大受理サイズ
# → プログラムとして受理可能なサイズ
# → Byteで指定する [例] 1024 = 1KB
$cf{maxdata} = 10240;
# アクセスログ最大保持数
$cf{max_log} = 300;
# 1ページ当り会員表示件数(管理画面)
$cf{pg_max} = 10;
# ユーザ登録アクセス制限(半角スペースで区切る)
# → 拒否するホスト名又はIPアドレスを記述(アスタリスク可)
# → 記述例 $deny = '*.anonymizer.com 211.154.120.*';
$cf{deny} = '';
# ホスト取得方法
# 0 : gethostbyaddr関数を使わない
# 1 : gethostbyaddr関数を使う
$cf{gethostbyaddr} = 0;
# パスワード発行形態をユーザ操作にした場合の完了画面の戻り先【URLパス】
$cf{back_url} = "../index.html";
#=====================================================================
# ▲設定完了
#=====================================================================
なお、IISの内部で
HTTP エラー 502.1 - Bad Gateway
指定された CGI アプリケーションは、正しく動作しませんでした。HTTP ヘッダーの完全なセットが返されませんでした。返されたヘッダーは "[Wed Aug 14 12:35:13 2013] Session.pm: Use of qw(...) as parentheses is deprecated at lib/CGI/Session.pm line 804. " です。
というエラーもででます。
記事No | : 12184 |
投稿日 | : 2013/08/14(Wed) 14:11:49 |
タイトル | : Re^5: WEB PROTECTについて |
ID情報 | : kent |
投稿者 | : KENT |
> なお、IISの内部で
>
> HTTP エラー 502.1 - Bad Gateway
> 指定された CGI アプリケーションは、正しく動作しませんでした。HTTP ヘッダーの完全なセットが返されませんでした。返されたヘッダーは "[Wed Aug 14 12:35:13 2013] Session.pm: Use of qw(...) as parentheses is deprecated at lib/CGI/Session.pm line 804. " です。
>
> というエラーもででます。
他のCGIプログラムは正常に動くのですか?
今回の件は、プログラム側ではなく、サーバ側設定のような気がするのですが・・?
記事No | : 12189 |
投稿日 | : 2013/08/14(Wed) 16:23:42 |
タイトル | : Re^6: WEB PROTECTについて |
ID情報 | : YKUKU |
投稿者 | : IISサーバー利用者 |
>
> 他のCGIプログラムは正常に動くのですか?
> 今回の件は、プログラム側ではなく、サーバ側設定のような気がするのですが・・?
何かチェック用に設置が簡単なcgiプログラムってありませんか?
記事No | : 12190 |
投稿日 | : 2013/08/14(Wed) 17:18:24 |
タイトル | : Re^7: WEB PROTECTについて |
ID情報 | : kent |
投稿者 | : KENT |
> >
> > 他のCGIプログラムは正常に動くのですか?
> > 今回の件は、プログラム側ではなく、サーバ側設定のような気がするのですが・・?
> 何かチェック用に設置が簡単なcgiプログラムってありませんか?
先の私の質問にも回答されていませんし、またIISの設定等については専門外です。
IISの設定についてQAを行う場で質問するべきではないでしょうか?
記事No | : 12193 |
投稿日 | : 2013/08/14(Wed) 17:39:28 |
タイトル | : Re^8: WEB PROTECTについて |
ID情報 | : YKUKU |
投稿者 | : IISサーバー利用者 |
> 先の私の質問にも回答されていませんし、またIISの設定等については専門外です。
> IISの設定についてQAを行う場で質問するべきではないでしょうか?
>
誠に申し訳ございません。
他のCGIプログラムとは、このWEBPROTECTに入っているプログラムのことでしょうか?もしそうであれば、admin.cgi、check.cgi等は動作いたします。
また、全く別のプログラム(掲示板等)については、動作いたします。
また、IISでのCGIの動作方法について書かれたページがあり、そこで書いてある通りに設定しているので、設定には問題がないはずなのですが…
記事No | : 12194 |
投稿日 | : 2013/08/14(Wed) 17:54:07 |
タイトル | : Re^9: WEB PROTECTについて |
ID情報 | : kent |
投稿者 | : KENT |
>
> > 先の私の質問にも回答されていませんし、またIISの設定等については専門外です。
> > IISの設定についてQAを行う場で質問するべきではないでしょうか?
> >
> 誠に申し訳ございません。
> 他のCGIプログラムとは、このWEBPROTECTに入っているプログラムのことでしょうか?もしそうであれば、admin.cgi、check.cgi等は動作いたします。
> また、全く別のプログラム(掲示板等)については、動作いたします。
> また、IISでのCGIの動作方法について書かれたページがあり、そこで書いてある通りに設定しているので、設定には問題がないはずなのですが…
他のCGIが動くならば、多分現状のPerlとCGI::Sessionとの相性かもしれません。
もしかしたら、以下かも。
http://search.cpan.org/dist/perl-5.14.0/pod/perldelta.pod#Use_of_qw(...)_as_parentheses
■変更箇所
/lib/CGI/Session.pm 804行目
for my $plug qw(driver serializer id) {
↓
for my $plug (qw(driver serializer id)) {
これでダメならば、原因は分かりません。
現状のサーバとプログラムとの(他の)何らかの相性の問題です。
記事No | : 12198 |
投稿日 | : 2013/08/14(Wed) 22:16:22 |
タイトル | : Re^10: WEB PROTECTについて |
ID情報 | : YKUKU |
投稿者 | : IISサーバー利用者 |
>
> 他のCGIが動くならば、多分現状のPerlとCGI::Sessionとの相性かもしれません。
> もしかしたら、以下かも。
>
> http://search.cpan.org/dist/perl-5.14.0/pod/perldelta.pod#Use_of_qw(...)_as_parentheses
>
> ■変更箇所
> /lib/CGI/Session.pm 804行目
>
> for my $plug qw(driver serializer id) {
>
> ↓
>
> for my $plug (qw(driver serializer id)) {
>
>
> これでダメならば、原因は分かりません。
> 現状のサーバとプログラムとの(他の)何らかの相性の問題です。
ありがとうございます!
とりあえず、Use・・・ のエラーはでなくなりました。
しかし・・・。今度は処理がされなくなっているみたいで、何回やっても Bad GateWay タイムアウト のエラーが発生するようになりました。
でも、ここからは自分でやってみます。
本当にありがとうございました。
追伸:
AN hTTPDに変更すると無事動作すろようになりました。
本当にありがとうございました。