Hugo

Nucleusのnucleus_memberテーブルをベーシック認証で使う

2005年06月01日 18:55:12

Nucleusのメンバー管理テーブル「nucleus_member」をそのまま
ベーシック認証のデータベースとして利用してしまう。
これができれば、メンバーのみがアクセスできる領域のベーシック認証管理を
Nucleusのメンバー管理で行えるわけです。
内容は簡単です。メンバー専用のフォルダをホームページに作成し
その中に「.htaccess」を作成するだけです。

続きで必要なものと方法を紹介します。 GENTOO Linux なのでそれらしく説明します。
  環境(バージョンとUSE=の値)
  OS:もちろん GENTOO Linux カーネルはまだ2.4です。
  apache-2.0.54-r4 +berkdb -debug -doc +gdbm +ipv6 +ldap +ssl -static -threads
  mysql-4.0.24 +berkdb -debug +innodb +perl +readline (-selinux) +ssl -static +tcpd
  Neucleus Ver 3.2


1. mod-auth-mysqlのインストール
  MySQLをベーシック認証に使うにはこれが必要
  [ebuild N ] net-www/mod_auth_mysql-2.0.0_pre20030510 +apache2 0 kB
  emerge mod_auth_mysql


2. apache2の起動オプションの変更
  /etc/conf.d/apache2へAUTH_MYSQLを追加
  APACHE2_OPTS="-D SSL -D PHP4 -D DOC -D AUTH_MYSQL"
  apache2を再起動しましょう。

3. メンバー専用フォルダ/.htaccessの作成
  AuthName "MEMBERS LOGIN"
  AuthType Basic
  AuthMySQLHost localhost
  AuthMySQLUser xxxxx <- NucleusをインストールしたときのDBユーザ名
  AuthMySQLPassword xxxxxxxxxxxx <- 上記のパスワード
  AuthMySQLDB xxxxx <- NucleusをインストールしたときのDB名
  バージョン2.0.0_pre20030510の場合
  AuthMySQLMD5Passwords On <- 暗号化パスワードMD5を設定これでないとだめでした。
  ここまで
  バージョン3.0.0の場合
  AuthMySQLPwEncryption md5 <- none,crypt,scrambled,md5,sha1から選べます。
  AuthMySQLEnable On
  ここまで
  AuthMySQLUserTable nucleus_member <- メンバーテーブル
  AuthMySQLNameField mname <- メンバーテーブルのIDフィールド
  AuthMySQLPasswordField mpassword <- メンバーテーブルのパスワードフィールド
  require valid-user
  こんな感じ!

グループ制御も加えるとおもしろいかもしれません。

コメント

ppionerka (2006年05月31日 08:56:18)

I like your site

コメント送信

このアイテムは閲覧専用です。コメントの投稿、投票はできません。