記事No | : 13909 |
投稿日 | : 2015/04/10(Fri) 20:11:01 |
タイトル | : PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
PasswordManagerのユーザー登録についての質問(ver3.5)
会員登録フォームにてユーザの登録ができないません。
送信ボタンを押すと「open err: /var/www/cgi-bin/.htpasswd」が出力される。
この結果から確認したこと
・check.cgiにてすべてOKであることを確認しました。
・html/member/sample.htmlへアクセスしBasic認証にてログインできることを確認
・check.cgiを編集※1しperlのopen関数を使用して読込までは、確認済み ※1
■環境
aws(Amazon Web Services)を使用
Apachやperlのインストールを実施
httpd.confに下記の設定を追加
<Directory "/var/www/cgi-bin">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
RewriteEngine On
</Directory>
<Directory "/var/www/html/member">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
■変更点
sjis→UTF-8に変換
■プログラムの設置
/var/www
|--cgi-bin / (公開ディレクトリ:ウェブからアクセスできる領域)
| |--admin.cgi
| |--check.cgi
| |--.htpasswd
| |--index.html
| |--init.cgi
| |--lib
| | |--Jcode
| | | |--_Classic.pm
| | | |--Constants.pm
| | | |--H2Z.pm
| | | |--MIME
| | | | |--Base64.pm
| | | |--Nihongo.pod
| | |--Jcode.pm
| | |--Tr.pm
| | |--Unicode
| | |--Constants.pm
| | |--NoXS.pm
| |--pwlog.cgi
| |--pwlog_test.cgi
| |--pwmgr.cgi
| |--test.cgi / (テストのために作った)
| |--tmpl
| |--conf.html
| |--error.html
| |--.htaccess
| |--index.html
| |--mail.txt
| |--message.html
|--html
|--index.html
|--member / (アクセス制限するディレクトリ)
|--.htaccess
|--sample.html
▼パーミッションの設定
drwxrwxrwx. 4 root root 4096 Apr 10 05:32 .
drwxrwxrwx. 4 root root 31 Apr 2 22:21 ..
-rwx---rwx. 1 ec2-user ec2-user 15314 Apr 10 05:25 admin.cgi
-rwxrwxrwx. 1 ec2-user ec2-user 2589 Apr 10 05:08 check.cgi
-rw-rw-rw-. 1 ec2-user ec2-user 0 Apr 10 05:08 .htpasswd
-rwxrwxrwx. 1 root root 82 Apr 10 04:19 htpasswd.txt
-rwx---rwx. 1 ec2-user ec2-user 2852 Apr 3 05:48 index.html
-rwxrwxr-x. 1 ec2-user ec2-user 5079 Apr 9 01:30 init.cgi
drwxrwxr-x. 3 ec2-user ec2-user 33 Apr 10 05:45 lib
-rwxrwxr-x. 1 ec2-user ec2-user 1689 Apr 5 08:22 pwlog.cgi
-rwxrwxr-x. 1 ec2-user ec2-user 714 Apr 5 08:21 pwlog_test.cgi
-rwxrwxr-x. 1 ec2-user ec2-user 9161 Apr 5 08:42 pwmgr.cgi
-rwx---rwx. 1 ec2-user ec2-user 84 Apr 10 04:34 test.cgi
-rwxrwxrwx. 1 ec2-user ec2-user 3 Apr 10 03:24 test.txt
drwxrwxr-x. 2 ec2-user ec2-user 4096 Apr 10 05:32 tmpl
▼check.cgiの編集内容
if(!open(DAT,"$cf{pwdfile}")){
print "<li>入力モード Error\n"
} else {
print "<li>入力モード OK\n"
}
if(!open(DAT,"< $cf{pwdfile}")){
print "<li><入力モードError\n"
} else {
print "<li><入力モード OK\n"
}
close (DAT);
if(!open(DAT,"+< $cf{pwdfile}")){
print "<li>+<入出力モード Error\n"
} else {
print "<li>+<入出力モード OK\n"
}
if(!open(TS,"+</var/www/cgi-bin/test.txt")){
print "<li>+<入出力モード Error\n"
} else {
print "<li>+<入出力モード OK\n"
}
if(!open(DAT,"> $cf{pwdfile}")){
print "<li>>入出力モード(上書き) Error\n"
} else {
print "<li>>入出力モード(上書き) OK\n"
}
if(!open(DAT,"+< $cf{pwdfile}")){
print "<li>>出力モード (上書き) Error $cf{pwdfile}\n"
} else {
print "<li>>出力モード (上書き) OK\n"
}
if(!open(DAT,">> $cf{pwdfile}")){
print "<li>>>出力モード (追記) Error\n"
} else {
print "<li>>>出力モード (追記) OK\n"
}
記事No | : 13910 |
投稿日 | : 2015/04/10(Fri) 20:50:26 |
タイトル | : Re: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
/var/www/cgi-bin/.htpasswdが開けないというエラーメッセージが出ているようですが
そこに.htpasswdはあるのでしょうか?
init.cgiの
$cf{pwdfile} =
の指定はどうなっていますか。
記事No | : 13916 |
投稿日 | : 2015/04/12(Sun) 14:24:26 |
タイトル | : Re^2: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
> /var/www/cgi-bin/.htpasswdが開けないというエラーメッセージが出ているようですが
> そこに.htpasswdはあるのでしょうか?
>
> init.cgiの
> $cf{pwdfile} =
> の指定はどうなっていますか。
hirayamaさん
回答ありがとうございます。
/var/www/cgi-bin/配下に.htpasswdは、あります。
また、init.cgi配下には、下記を設定しております。
/var/www/cgi-bin/.htpasswd
この設定でもopen errが出ている状況です。
記事No | : 13919 |
投稿日 | : 2015/04/12(Sun) 19:55:21 |
タイトル | : Re^3: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
ユーザー登録ができないということは、.htpasswdはまだ空ということですね。
.htpasswdに何も書かれていないことを確認して
pwmgr.cgi 56行目あたり
# IDの重複チェック
my ($flg,@data);
の下に
if (!-e $cf{pwdfile}) { open(NEW,">$cf{pwdfile}");close(NEW); }
を追加してみたら
どうなります?
記事No | : 13920 |
投稿日 | : 2015/04/12(Sun) 20:45:39 |
タイトル | : Re^4: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
早速の回答ありがとうございます。
.htpasswdへは、事前に登録しておいたので、空では、ないです。
事前登録したユーザでのログインができることは、確認済みです。
今やったこと ★と☆の間にhirayamaさんの助言通り入れてみましたが、結果は、変わりませんでした。
★my ($flg,@data);
☆open(DAT,"+< $cf{pwdfile}") or &error("open err: $cf{pwdfile}");
私の想定では、admin.cgiの485行目の下記の部分で原因になっていると考えます。
ちなみに、openの+<を消せば読込専用となるため、エラーにはななりませんでした。
もちろん登録されないですが・・・・・・・
open(DAT,"+< $cf{pwdfile}") or &err("open err: $cf{pwdfile}");
助言があれば、教えて頂きたいです。
記事No | : 13923 |
投稿日 | : 2015/04/13(Mon) 02:48:58 |
タイトル | : Re^5: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
>私の想定では、admin.cgiの485行目の下記の部分で原因になっていると考えます。
管理メニューの会員登録フォームですか。
index.htmlの会員登録フォームと勘違いしていました。
$cf{memfile}で指定したmember.datへの書き込みはできるのでしょうか。
管理メニューの会員管理(修正/削除)メニューから
名前やE-mailを変更できますか。
記事No | : 13925 |
投稿日 | : 2015/04/13(Mon) 09:23:10 |
タイトル | : Re^6: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
会員管理(修正/削除)メニューにて.htpasswdファイルへの書込みも同様に「open err:/var/www/cgi-bin/.htpasswd」が出力されます。
ディレクトリの階層とパーミッションの設定値です。
■プログラムの設置
/var/www
|--cgi-bin / (公開ディレクトリ:ウェブからアクセスできる領域)
| |--admin.cgi
| |--check.cgi
| |--.htpasswd
| |--index.html
| |--init.cgi
| |--lib
| | |--Jcode
| | | |--_Classic.pm
| | | |--Constants.pm
| | | |--H2Z.pm
| | | |--MIME
| | | | |--Base64.pm
| | | |--Nihongo.pod
| | |--Jcode.pm
| | |--Tr.pm
| | |--Unicode
| | |--Constants.pm
| | |--NoXS.pm
| |--pwlog.cgi
| |--pwlog_test.cgi
| |--pwmgr.cgi
| |--test.cgi / (テストのために作った)
| |--tmpl
| |--conf.html
| |--error.html
| |--.htaccess
| |--index.html
| |--mail.txt
| |--message.html
|--html
|--index.html
|--member / (アクセス制限するディレクトリ)
|--.htaccess
|--sample.html
▼パーミッションの設定
drwxrwxrwx. 4 root root 4096 Apr 10 05:32 .
drwxrwxrwx. 4 root root 31 Apr 2 22:21 ..
-rwx---rwx. 1 ec2-user ec2-user 15314 Apr 10 05:25 admin.cgi
-rwxrwxrwx. 1 ec2-user ec2-user 2589 Apr 10 05:08 check.cgi
-rw-rw-rw-. 1 ec2-user ec2-user 0 Apr 10 05:08 .htpasswd
-rwxrwxrwx. 1 root root 82 Apr 10 04:19 htpasswd.txt
-rwx---rwx. 1 ec2-user ec2-user 2852 Apr 3 05:48 index.html
-rwxrwxr-x. 1 ec2-user ec2-user 5079 Apr 9 01:30 init.cgi
drwxrwxr-x. 3 ec2-user ec2-user 33 Apr 10 05:45 lib
-rwxrwxr-x. 1 ec2-user ec2-user 1689 Apr 5 08:22 pwlog.cgi
-rwxrwxr-x. 1 ec2-user ec2-user 714 Apr 5 08:21 pwlog_test.cgi
-rwxrwxr-x. 1 ec2-user ec2-user 9161 Apr 5 08:42 pwmgr.cgi
-rwx---rwx. 1 ec2-user ec2-user 84 Apr 10 04:34 test.cgi
-rwxrwxrwx. 1 ec2-user ec2-user 3 Apr 10 03:24 test.txt
drwxrwxr-x. 2 ec2-user ec2-user 4096 Apr 10 05:32 tmpl
記事No | : 13926 |
投稿日 | : 2015/04/13(Mon) 11:35:39 |
タイトル | : Re^7: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
>会員管理(修正/削除)メニューにて.htpasswdファイルへの書込みも同様に「open err:/var/www/cgi-bin/.htpasswd」が出力されます。
削除やパスワード変更では$cf{pwdfile}への書き込みをしてしまうので、
名前やE-mailの変更を試してください。
記事No | : 13927 |
投稿日 | : 2015/04/13(Mon) 12:32:24 |
タイトル | : Re^8: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
同様に「open err: /var/www/html/private/member.dat」が出ています。
member.datファイルの存在確認もしましたが、書き込めないようです。
■パーミッションの設定
-rw-rw-r--. 1 ec2-user ec2-user 628 Apr 3 06:23 index.html
-rw-rw-rw-. 1 ec2-user ec2-user 35 Apr 12 22:13 member.dat
-rw-rw-rw-. 1 ec2-user ec2-user 0 Apr 2 04:44 pwlog.dat
記事No | : 13928 |
投稿日 | : 2015/04/13(Mon) 13:34:34 |
タイトル | : Re^9: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
ディレクトリ構成図を見ると、
tmplディレクトリ内にあるべき
conf.html error.html .htaccess index.html mail.txt message.html
がcgi-bin ディレクトリ内にあるように書いてありますが、実際はどうなっていますか。
記事No | : 13929 |
投稿日 | : 2015/04/13(Mon) 13:47:47 |
タイトル | : Re^10: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
tmp配下のディレクトリです。
貼り付けると ずれるようですね
/var/www
|--cgi-bin
| |--admin.cgi
| |--.admin.cgi.swp
| |--check.cgi
| |--.htpasswd
| |--index.html
| |--init.cgi
| |--lib
| | |--Jcode
| | | |--_Classic.pm
| | | |--Constants.pm
| | | |--H2Z.pm
| | | |--MIME
| | | | |--Base64.pm
| | | |--Nihongo.pod
| | |--Jcode.pm
| | |--Tr.pm
| | |--Unicode
| | |--Constants.pm
| | |--NoXS.pm
| |--pwlog.cgi
| |--pwlog_test.cgi
| |--pwmgr.cgi
| |--test.cgi
| |--test.txt
| |--tmpl
| |--conf.html
| |--error.html
| |--index.html
| |--mail.txt
| |--message.html
|--html
|--index.html
|--member
| |--.htaccess
| |--sample.html
|--private
|--index.html
|--member.dat
|--pwlog.dat
記事No | : 13930 |
投稿日 | : 2015/04/13(Mon) 14:08:18 |
タイトル | : Re^11: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
deny from allが記載されている.htaccessがcgi-bin内にあるならそのせいかなとも思いましたが
違うようですね。
/var/www/cgi-bin/でも/var/www/html/private/でもファイルの書き込みが
できないとなると、サーバーの問題かもしれません。
簡単な掲示板CGIを設置してそれで書き込みができるか試してみてください。
記事No | : 13931 |
投稿日 | : 2015/04/13(Mon) 14:24:48 |
タイトル | : Re^12: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
aws(Amazon Web Services)なので、サーバーの問題とは、別だと考えています。
サーバー側の問題であれば、httpd.confを修正することで問題は解決するのでしょうか?
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
RewriteEngine On
</Directory>
<Directory "/var/www/html/member">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
記事No | : 13932 |
投稿日 | : 2015/04/13(Mon) 15:43:27 |
タイトル | : Re^13: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
>サーバー側の問題であれば、httpd.confを修正することで問題は解決するのでしょうか?
サーバーの問題ならここではサポート外です。
サーバー管理者に問い合わせてください。
しかし、その前に書き込みがほんとうにできないのか
他のCGIで確認した方がいいと思います。
記事No | : 13933 |
投稿日 | : 2015/04/13(Mon) 16:17:01 |
タイトル | : Re^14: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
簡単なcgiを作成し実行してみました。
結果は、2通りです。
cgiをサーバー側から直接実行すると、成功
webから直接実行すると、書込みエラーで失敗
記事No | : 13934 |
投稿日 | : 2015/04/13(Mon) 17:19:29 |
タイトル | : Re^15: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
> cgiをサーバー側から直接実行すると、成功
> webから直接実行すると、書込みエラーで失敗
どういう意味ですか。
記事No | : 13935 |
投稿日 | : 2015/04/13(Mon) 18:17:55 |
タイトル | : Re^16: PasswordManagerのユーザー登録についての質問( |
ID情報 | : ayataka |
投稿者 | : ayataka |
URL | : http://ec2-52-68-93-107.ap-northeast-1.compute.amazonaws.com/cgi-bin/admin.cgi |
> > cgiをサーバー側から直接実行すると、成功
> > webから直接実行すると、書込みエラーで失敗
> どういう意味ですか。
説明が下手ですみません。
2行の意味は、簡単なファイル書込みプログラムを作成し、異なる起動方法でcgiプログラムを実行しました。
1.cgiをサーバー側から直接実行する
→テラタームでサーバーにログインし、
コマンドにて「perl XXXX.cgi」を実行し
書込みが出来ることを確認
2.IEにてURLを指定し「http://サーバー/XXXX.cgi」を実行し
書込みが出来ないことを確認
記事No | : 13936 |
投稿日 | : 2015/04/13(Mon) 18:34:09 |
タイトル | : Re^17: PasswordManagerのユーザー登録についての質問( |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
普通はは2の方法で動かすと思うので、
やはりCGIでの書き込みができていないということになりますね。
サーバー管理者に問い合わせてください。