[转自:http://lazyone.org]
最近在一个 DreamHost 的空间上用 1-click install 安装了一个 Trac。在这里记录一下配置用户登录的方法。
在 DH 上用 1-click install 安装完的 Trac 是没有用户认证系统的,DH 使用的是 FastCGI 方式,似乎只能通过配置 Apache 的 htpasswd 来实现登录,而不是通过 Trac 本身的用户登录系统。
ssh 登录到 VPS,输入如下命令:
$ htpasswd -c /somewhere/trac.htpasswd admin
New password: <type password>
Re-type new password: <type password again>
Adding password for user admin
这样,第一个用户 “admin” 就设置好了。接下来你可以设置第二个,第三个用户的名字和密码, 这时就不需要 “-c” 的参数了,因为文件已经建立好了。例如 :
$ htpasswd /somewhere/trac.htpasswd john
New password: <type password>
Re-type new password: <type password again>
Adding password for user john
按照 Trac 的官方文档,接下来应该是修改 Apache 配置文档。但是由于是 VPS,我不太清楚怎么改 Apache 的配置,所以我就把如下这段加到了 trac 路径下的 .htaccess 文件里(本来按照文档,这短代码是应该放在 <Location> tag 里的,但是我看到 Apache error log 里似乎不支持 location。所以我就直接把 tag 去了):
AuthType Basic
AuthName "Trac"
AuthUserFile /somewhere/trac.htpasswd
Require valid-user
到这里基本算配置完了。现在你登录任何一个你的 trac 页面,浏览器都会弹出登陆窗口。你就可以用你刚才添加的任意一个用户登录了。
接下来的工作就是因人而异了,可以在 Trac 的 Admin panel 里添加各个用户的具体权限了,通过 ssh 登录 VPS 后可以通过如下命令给登录的用户添加/删除 TRAC_ADMIN 命令:
$ trac-admin /path/to/projenv permission add authenticated TRAC_ADMIN
$ trac-admin /path/to/projenv permission remove authenticated TRAC_ADMIN
拥有这个权限后,Trac 界面的 “Admin” tab 才会显示出来。具体的用户权限文档可以参考 TracPermissions.
最后是看看 conf/trac.ini 这个文件,很容易看懂,可以配置很多关于 Trac 的东西,例如 header logo 图片,footer 文字,邮件服务器等等… 我有点懒,就不写了。