インストール

確認事項

このプログラムの動作には、下記の条件を満たしたウェブサーバが必要です。あらかじめ確認してください。

  1. ユーザの自作CGIが動作可能なこと。(プロバイダによってはサポートしていません。ジオシティーズ等の無料ウェブサービスも大抵サポートしていません。)
  2. sendmailが使用可能なこと。(@nifty等、一部のプロバイダはサポートしていません。)
  3. Perlのcrypt()関数をサポートしていること。(パスワードの暗号化に必要です。CGI動作可能なウェブサーバでは、大抵サポートされています。なお、暗号化方式に[一般的なDESではなく]MD5を採用したサーバでの動作は未検証のため、動作保証はしません。)
  4. BASIC認証機能が使用可能なこと。(ユーザディレクトリに.htaccessファイルを置くことが禁止されている場合は使用不可能です。また、.htaccessファイルでAuthUserFileの設定が禁止されている場合も使用不可能です。)
  5. パスワードのかかったページを設置することがウェブサーバの利用規約で禁止されていないこと。(多くの無料ウェブサービスでは禁止されています。)

これまで一度もアクセス制限を使った事のない場合は、ウェブサーバ上でアクセス制限機能を使えるかどうか、あらかじめテストすることを強くおすすめします。アクセス制限とはどんな仕組なのかは、一度使ってみないとわからない部分が多いものですし、それがわかれば、インストールも楽になります。テストの方法については、アクセス制限の基礎知識を参考にしてください。

また、下記の事項もあらかじめ確認してください。

  1. Perlのパス。(/usr/bin/perlまたは/usr/local/bin/perlが一般的ですが、あらかじめ確認してください。)
  2. sendmailのパス。(/usr/sbin/sendmailが一般的ですが、あらかじめ確認してください。)
  3. ユーザのホームディレクトリの絶対パス。(/home/ユーザID が一般的ですが、あらかじめ確認してください。FTPで接続したときの初期ディレクトリです。)
  4. HTML公開用ディレクトリの外にファイルを置く事が可能かどうか。(FTPで接続した時の初期ディレクトリの中にpublic_html等、HTML公開用ディレクトリがある場合は、この場合に該当します。初期ディレクトリにそのままHTMLファイルを入れれば公開されるという場合は、これに該当しません。)

HTML公開用ディレクトリの外にファイルを置く事が可能な場合は、セキュリティを強化するためにも、データファイルを公開用ディレクトリの外に設置することを強くおすすめします。もしそれが不可能な場合は、データファイルの拡張子を.cgiにすることによって、データファイルの直接覗き見を防ぐ事ができます。

ディレクトリ構成の設計

以上のディレクトリの配置を決めます。一般的な例を以下に示します。

注:ID Managerオリジナル版の現行バージョンには、現在グループ管理機能がありません(現在ベータテスト中です)。グループ管理関連のファイルは飛ばしてお読み下さい。グループ管理機能対応バージョンにおいても、グループ管理機能を使用しない場合は不要です。

例1: 掲示板へのアクセスを制限

 (user_id)/                   ホームディレクトリ
   |
   |-- data/                  (データディレクトリ)
   |    |-- .htpasswd         パスワードファイル
   |    |-- .htgroup          グループファイル
   |    |-- profile.dat       利用者情報ファイル
   |    |-- request.dat       申請ファイル
   |    |-- gplist.dat        グループ一覧ファイル
   |    |-- gpusers.dat       グループ利用者ファイル
   |
   |-- public_html/           HTMLディレクトリ
        |-- index.html        ホームページ
        |-- info.html         利用者登録案内・会員規約
        |-- style.css         スタイルシート
        |
        |-- cgi-bin/               CGIディレクトリ
             |
             |-- idman/            (ID Managerディレクトリ)
             |    |-- idman.cgi    本プログラム
             |    |-- gpman.cgi    グループ管理プログラム
             |    |-- idmancfg.pl  環境設定ファイル
             |    |-- jcode.pl     漢字コード変換ライブラリ
             |    |-- mimew.pl     MIMEエンコーダライブラリ
             |    |-- lock/        ロックファイルディレクトリ
             |
             |-- bbs/              (アクセス制限ディレクトリ)
                  |-- .htaccess    アクセス制御ファイル
                  |-- bbs.cgi      掲示板プログラム
                       :

この場合は、bbsディレクトリにアクセス制限がかかります。

例2: HTMLディレクトリのうち、特定のディレクトリへのアクセスを制限

 (user_id)/                   ホームディレクトリ
   |
   |-- data/                  (データディレクトリ)
   |    |-- .htpasswd         パスワードファイル
   |    |-- .htgroup          グループファイル
   |    |-- profile.dat       利用者情報ファイル
   |    |-- request.dat       申請ファイル
   |    |-- gplist.dat        グループ一覧ファイル
   |    |-- gpusers.dat       グループ利用者ファイル
   |
   |-- public_html/           HTMLディレクトリ
        |-- index.html        ホームページ
        |-- info.html         利用者登録案内・会員規約
        |-- style.css         スタイルシート
        |
        |-- cgi-bin/               CGIディレクトリ
        |    |
        |    |-- idman/            (ID Managerディレクトリ)
        |         |-- idman.cgi    本プログラム
        |         |-- gpman.cgi    グループ管理プログラム
        |         |-- idmancfg.pl  環境設定ファイル
        |         |-- jcode.pl     漢字コード変換ライブラリ
        |         |-- mimew.pl     MIMEエンコーダライブラリ
        |         |-- lock/        ロックファイルディレクトリ
        |
        |-- members/          (アクセス制限ディレクトリ)
              |-- .htaccess   アクセス制御ファイル
              |-- index.html  会員サイトホームページ(サンプル)

この場合は、membersディレクトリにアクセス制限がかかります。

例3: 複数のディレクトリへのアクセスを制限

 (user_id)/                   ホームディレクトリ
   |
   |-- data/                  (データディレクトリ)
   |    |-- .htpasswd         パスワードファイル
   |    |-- .htgroup          グループファイル
   |    |-- profile.dat       利用者情報ファイル
   |    |-- request.dat       申請ファイル
   |    |-- gplist.dat        グループ一覧ファイル
   |    |-- gpusers.dat       グループ利用者ファイル
   |
   |-- public_html/           HTMLディレクトリ
        |-- index.html        ホームページ
        |-- info.html         利用者登録案内・会員規約
        |-- style.css         スタイルシート
        |
        |-- cgi-bin/               CGIディレクトリ
        |    |
        |    |-- idman/            (ID Managerディレクトリ)
        |    |    |-- idman.cgi    本プログラム
        |    |    |-- gpman.cgi    グループ管理プログラム
        |    |    |-- idmancfg.pl  環境設定ファイル
        |    |    |-- jcode.pl     漢字コード変換ライブラリ
        |    |    |-- mimew.pl     MIMEエンコーダライブラリ
        |    |    |-- lock/        ロックファイルディレクトリ
        |    |
        |    |-- bbs/              (アクセス制限ディレクトリ)
        |         |-- .htaccess    アクセス制御ファイル
        |         |-- bbs.cgi      掲示板プログラム
        |              :
        |
        |-- members/          (アクセス制限ディレクトリ)
              |-- .htaccess   アクセス制御ファイル
              |-- index.html  会員サイトホームページ(サンプル)

この場合は、bbsディレクトリとmembersディレクトリにアクセス制限がかかります。

例4: HTMLディレクトリ外にファイルを設置できない場合

 (user_id)/              ホームディレクトリ(=HTMLディレクトリ)
   |
   |-- data/             (データディレクトリ)
   |    |-- index.html   ダミーページ(ファイルリスト表示防止)
   |    |-- htpasswd.cgi パスワードファイル
   |    |-- htgroup.cgi  グループファイル
   |    |-- profile.cgi  利用者情報ファイル
   |    |-- request.cgi  申請ファイル
   |    |-- gplist.cgi   グループ一覧ファイル
   |    |-- gpusers.cgi  グループ利用者ファイル
   |
   |-- index.html        ホームページ
   |-- info.html         利用者登録案内・会員規約
   |-- style.css         スタイルシート
   |
   |-- idman/            (ID Managerディレクトリ)
   |    |-- idman.cgi    本プログラム
   |    |-- gpman.cgi    グループ管理プログラム
   |    |-- idmancfg.pl  環境設定ファイル
   |    |-- jcode.pl     漢字コード変換ライブラリ
   |    |-- mimew.pl     MIMEエンコーダライブラリ
   |    |-- lock/        ロックファイルディレクトリ
   |
   |-- bbs/              (アクセス制限ディレクトリ)
        |-- .htaccess    アクセス制御ファイル
        |-- bbs.cgi      掲示板プログラム
             :

この場合は、bbsディレクトリにアクセス制限がかかります。データファイルは、ファイル名さえわかれば誰もがアクセスできる場所にありますから、ダミーページ(内容は何でも構いません)を入れてファイルリストの表示を防止し、拡張子を.cgiに変更して覗き見できないようにしてください。

設定ファイルの変更

まず、CGIファイル(idman.cgi, gpman.cgi)の最初の行に #!/usr/bin/perl と書かれていますが、これがPerlのパスです。もし違う場合は変更してください。

次に、設定ファイル(idmancfg.pl)を修正します。自分のウェブサイトのディレクトリ構成に合わせて、各ファイルの場所を正しく指定してください。また、全般設定および登録申請メール関連の設定も、必要な部分を変更します。

また、.htaccessも自分のウェブサイトのディレクトリ構成に合わせて変更します。このファイルの書き方は、アクセス制限の基礎知識を参考にしてください。

ファイルのアップロード

FTPでファイルをアップロードします。どのファイルもテキストファイルです。必ずテキストモードでアップロードしてください。

アップロードできたら、パーミッションを変更します。プログラムファイル(ID Managerディレクトリのファイル)は705(705で動作不可能なら755)、データファイル(データディレクトリのファイル)は606または666です。ロックファイルディレクトリは707か777にします。

管理者登録

インストール完了後、idman.cgiを開くと、管理者登録画面[図を表示]が表示されます。

管理者のIDはidmancfg.plで設定したID固定になります(admin以外のIDにする場合は、あらかじめ変更しておいてください)。

パスワード、名前、地域(省略可)、メールアドレス、プロフィール公開可否、メッセージ(省略可)を入力後、「登録」ボタンを押してください。

なお、ここで入力した名前やメールアドレスは、自動登録申請で使われます。正しいメールアドレスを指定してください。なお、メールアドレスはあとで変更することもできます。

いったん管理者が登録されると、次回起動時からは管理者登録の画面は出なくなります。管理者IDとパスワードを入力し「ログイン」ボタンを押すと、管理者のホーム画面が表示されます。


戻る