4、Trac的授权设置
在Trac 0.11以前的版本需要安装WebAdmin插件才能以web的方式管理用户及授权,以后的版本就不在需要了,已经集成了。前面创建的Apache的身份验证,都不具有TRAC_ADMIN权限,下面我们重新创建一个admin用户,然后授予TRAC_ADMIN权限:
#在原来的密码文件中新增一个admin用户
以cmd命令窗口方式进入到Apache Group\Apache2\bin
文件夹下输入:
>htpasswd -m D:/software_tools/var/trachome/projects/conf/trac.passwd admin
New password: *****
Re-type new password: *****
Adding password for user admin
然后为admin用户授权TRAC_ADMIN
以cmd命令窗口方式进入到python\Scripts目录下输入命令:
>trac-admin D:/software_tools/var/trachome/projects permission add admin TRAC_ADMIN
重新启动Apache服务器完成后再以admin帐号Login,在导航栏的search的最后面就会看到Admin,点击进入可以看到如下效果图:
进行如下授权设置以后,对于Browse Source里面的内容的所有人依然可见,这在权限中是禁止的,所以可以通过将两者配置合并一下,即可达到需要输入用户名和密码的效果,合并后的配置文件内容应为:
# TRAC
Alias /trac "D:/ trac/cgi-bin/trac.cgi"
<Location "/trac/projects">
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv D:/software_tools/var/trachome/projects
PythonOption TracUriRoot /trac/projects
AuthType Basic
AuthName "Projects"
AuthUserFile D:/software_tools/var/trachome/projects/conf/trac.passwd
Require valid-user
</Location>
另外还可以通过var\trachome\projects\conf目录下的trac.ini文件进行版本库的权限控制,将trac.ini中的[trac]项authz_file值修改成与SVN版本控制权限一致。本例中为:
[trac]
authz_file = D:/ var/svnhome/projects/conf/ svnaccessfile
此时在没有登陆的情况下Browse Source项的内容是无法查看的,提示用户Insufficient permissions to access权限不够,此方法同样也实现了权限的控制。
如何实现与Eclipse中的mylyn插件进行结合使用呢?还需要安装以下这两个插件accountmanagerplugin与xmlrpcplugin此插件,
此命令进行安装,首先要先安装setuptools工具然后进入python/script目录下运行
当accountmanagerplugin安装完以后,需要进行一些配置,打开trac.ini在最后加入如下内容:
[components]
webadmin.* = enabled
acct_mgr.htfile.HtPasswdStore = enabled
acct_mgr.admin.AccountManagerAdminPage = enabled
acct_mgr.web_ui.AccountModule = enabled
trac.web.auth.LoginModule = disabled
acct_mgr.web_ui.LoginModule = enabled
acct_mgr.web_ui.RegistrationModule = enabled
[account-manager]
; configure the plugin to store passwords in the htpasswd format:
password_format = htpasswd
; with Trac 0.10 use this instead:
password_store = HtPasswdStore
; the file where user accounts are stored
; the webserver will need write permissions to this file
; and its parent folder
password_file = D:/var/trachome/projects/conf/trac.passwd
至此,Apache+SVN+Trac的集成到此完毕了
备注:如果启动时出现错误的话,可将将svn-win32-1.4.6\bin目录下的所有dll文件全部复制到Apache Group\Apache2\cgi-bin目录下,另将下载下来的D:\trac\目录下的cgi-bin文件夹内容复制到Apache Group\Apache2\cgi-bin目录下.
本实例课程详解到此结束,在接下来的工作后期将会推出关于如何与Eclipse中进行协同工作开发的课程!