安裝 Account Manager Plugin for Trac 的主要原因是可以用讓使用者自己修改密碼。trac 如果採用 apache 驗證方式是無法修改密碼,也無法從網頁新增使用者,非常麻煩。改用 Account Manager Plugin 就方便多了,而且也可以保留訪客模式,跟使用者模式同時使用。

安裝步驟

  • easy_install https://trac-hacks.org/svn/accountmanagerplugin/tags/acct_mgr-0.4.4
    安裝 Account Manager Plugin for Trac
  • vi /etc/apache2/conf-enabled/trac.conf
    設定 trac for apache2,取消帳戶檢查機制,請修改為下列文字。<Location /trac> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption PYTHON_EGG_CACHE /tmp/python_egg_cache PythonOption TracEnvParentDir /var/trac # AuthType Basic # AuthName "Trac Project" # AuthUserFile /var/svn/account # Require valid-user </Location>
  • vi /var/trac/proj1/conf/trac.ini
    設定 trac 參數檔,請加入 [account-manager] 區段,並在 [components] 新增下列選項。[account-manager] htpasswd_file = /var/svn/account htpasswd_hash_type = md5 password_store = HtPasswdStore register_check = [components] acct_mgr.admin.* = enabled acct_mgr.api.* = enabled acct_mgr.htfile.htpasswdstore = enabled acct_mgr.notification.* = enabled acct_mgr.pwhash.* = enabled acct_mgr.web_ui.* = enabled acct_mgr.web_ui.resetpwstore = disabled trac.web.auth.loginmodule = disabled
  • trac-admin /var/trac/proj1 upgrade
  • /etc/init.d/apache2 restart

問題排除

  • The password file could not be updated. Trac requires read and write access to both the password file and its parent directory.
    因為 password file 權限不對所造成,解決方法 chown www-data:www-data /var/svn/account。
  • Cannot find an implementation of the IPasswordHashMethod interface named HtDigestHashMethod. Please check that the Component is enabled or update the option [account-manager] hash_method in trac.ini.
    那是因為 acct_mgr.pwhash 功能被關閉所造成的,只要加上 acct_mgr.pwhash.* = enabled 就可以了。

參考資料

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()