こちらのページで「PasswordManager」の紹介と事前の準備をお伝えしました。

「PasswordManager」を使用しBasic認証パスワードサイトを作る

あなたの有料コンテンツが含まれた会員サイト(パスワードサイト)。

その新規登録ページURLをユーザーに伝えることで、
ユーザー登録作業を自動で回すことができます。

今回は「PasswordManager」の設置の解説を行います。

※コアサーバーに設置する例をお伝えしています。
設置・設定するドメインは以下のURLを例にしています。
あなたが所有しているドメイン
https://yoursite.com/
会員サイト(パスワードサイト)用に使用するサブドメイン
https://sub.yoursite.com/
ユーザーが観覧するURL
https://sub.yoursite.com/member/

ダウンロード

早速ですが
KENTWEBで配布されている「PasswordManager」をダウンロードしてください。

PASSWORD MANAGER
pm01


ダウンロード
pm02


ダウンロードしたzipファイルを解凍すると
中身は以下のようになっています。
pm03

アップロード

「PasswordManager」をアップする全体像です。

pm04


まずコアサーバーの public_html と同じ階層に
private フォルダを作ってください。

pm05


private フォルダ内には「PasswordManager」の
private フォルダから
member.dat
pwlog.dat
htpasswd.txt
この3つをアップします。

htpasswd.txt をアップしたら
名前を変更で .txt 部分を削除し
頭に . を付けて
.htpasswd となるようにしてください。

それぞれのアクセス権も変更してください。

pm06



続いて sub.yoursite.com ディレクトリ内にもファイルをアップします。

まず sub.yoursite.com 内に
member と pwmgr を作成してください。

pm07


pwmgr には以下の6つのファイルをアップ。
アクセス権も変更してください。
pwmgr.cgi [705]
admin.cgi [705]
pwlog.cgi [705]
init.cgi [604]
check.cgi [705]
index.html

init.cgi のファイルは変更箇所があります。

まず「PasswordManager」のinit.cgiをTeraPadなどで開きます。
管理用パスワードと管理アドレスの部分はお好きなものに変更してください。


28行目に以下のような項目があるのですが初期設定値が1になっています。
# パスワード発行形態
# 1 : ユーザからの発行&メンテを可能にする
# 2 : 発行は管理者のみ。ユーザはメンテのみ
# 3 : 発行&メンテは管理者のみ(pwmgr.cgi index.htmlは不要)
$cf{pwd_regist} = 1;
あなたがどのような形での認証を行うかによりますが
今回は 1 で進めさせていただきます。


次に34行目に以下のような記載があります
# パスワードファイル【サーバパス】
# → 正確にフルパスを記述すること
$cf{pwdfile} = './private/.htpasswd';
上記の初期フルパスを下記のように変更します
# パスワードファイル【サーバパス】
# → 正確にフルパスを記述すること
$cf{pwdfile} = '/virtual/あなたのコアサーバアカウント名/private/.htpasswd';
記載の仕方は、はじめにフルパスチェッカーで取得した
/virtual/あなたのコアサーバアカウント名/private/.htpasswd
の部分となります。


同様に38行目の会員ファイル【サーバパス】も同じように記載します

# 会員ファイル【サーバパス】
# → 正確にフルパスを記述すること
$cf{memfile} = ‘/virtual/あなたのコアサーバアカウント名/private/member.dat’;

同様に42行目アクセスログファイル【サーバパス】も同じように記載します。
# アクセスログファイル【サーバパス】
# → 正確にフルパスを記述すること
$cf{axsfile} = '/virtual/あなたのコアサーバアカウント名/private/pwlog.dat';
init.cgi を保存してアップロードしてください。


続いて member ディレクトリには htaccess.txt をアップするのですが
その前に htaccess.txt 内に以下の記述がありますので

AuthUserFile /フルパス/.htpasswd

パスワードが格納されているディレクトリを指定します。

例:
AuthUserFile /virtual/あなたのコアサーバアカウント名/private/.htpasswd

アップした後は .htaccess に書き換えます。


最後に「PasswordManager」のZipに入っていた
tmpl と lib の2つのフォルダは、
pwmgr ディレクトリの中にそのままアップします。

pm08

これで「PasswordManager」の設定は終了です。

新規ユーザーには

https://sub.yoursite.com/pwmgr/

pm09

このURLを知らせてユーザーに
新規登録をしてもらいましょう。


メンバーコンテンツは member ディレクトリにアップします。
URLは以下になります。

https://sub.yoursite.com/member/

こちらにあなたの有料コンテンツなどをアップしてください。


管理画面のURLは以下です。

https://sub.yoursite.com/member/admin.cgi

pm10

ユーザーの管理やアクセスログや観覧できます。

アクセスログの設定

最後にアクセスログを取るための設定を行います。

pwmgr ディレクトリ内の pwlog.cgi ファイルの2行目に
print "Content-type: text/plain\n\n";
を、入れてください。

例:
#!/usr/local/bin/perl
print "Content-type: text/plain\n\n";
#┌─────────────────────────────────
#│ PasswordManager : pwlog.cgi (SSI用) - 2011/07/21
#│ Copyright (c) KentWeb
#│ https://www.kent-web.com/
#└─────────────────────────────────
次にアクセスログを取る member ディレクトリ内のコンテンツは、
htmlではなくshtmlに変更してください。

そしてアクセスログを取るshtmlファイルの中に
(タグ内じゃなくてもOK)
<!--#exec cgi="/pwmgr/pwlog.cgi"-->
を入れて保存してください。

pwlog.cgiまではページの階層に応じて変わってきます。
すべてのページをカテゴリー分けもせず同じ階層にする場合は、
<!--#exec cgi="/pwmgr/pwlog.cgi"-->
これで結構です。


さらに member ディレクトリ内の init.cgi 内にある
以下を1にしてアップロードしてください。
# ホスト取得方法
# 0 : gethostbyaddr関数を使わない
# 1 : gethostbyaddr関数を使う
$cf{gethostbyaddr} = 1;
以上で member ディレクトリ内にあるコンテンツにアクセスがあった場合、
ユーザーのアクセスログが取れるようになります。