trac安装,安装Trac的过程记录

安装完成后的补充说明:这是我第三次配置trac了,每一次都用了我大量的时间。第一次在我笔记本上,操作系统是win7,由于对python不熟悉,慢慢摸。第二次是在家里的台式机上,系统是win2008R2,本以为已经搞过一次,应该很快弄好,哪知道还是废了不少时间,边看文档边下载资源,而这些开源软件的帮助文档是非常凌乱的,一点都不系统,因而安装时在草稿上大致记录了安装的过程。
有了上一次的安装记录,再加上这次在学校的服务器上安装,环境和我家里一样,都是win2008r2,本以为很快就能搞定,顺便整理出安装文档放到博客上,供大家借鉴。然而,没想到的是仅仅是一个细微的差别,多耗了我几个小时,那就是这次一开始的时候顺手在官网上下了个python2.7.2,到了最后才发现,找不到供python2.7使用的subversion绑定,虽然在trac网站上有人做了一个,但安装后不能加载,而尝试用2.6的也证明是失败。
所以在下文的叙述中,用红色的字体标明第一次失败后,回过头了再次使用python2.6的情况记录。

安装环境

windows 2008 R2 标准版,64位的操作系统。

下载python-2.7.2.msi

点击安装后,除了设定安装路径到D:\Program Files\Python27外,没有定制任何信息,一路next直至结束。
说明:由于兼容性的问题,最终安装的版本是python-2.6.msi,目前似乎官网已经没有这个版本的下载链接了,我之前从官网上下过。(我安装软件的习惯是总是从官网下载,从不到其他下载站。)

setuptools-0.6c11.win32-py2.7.exe

下载地址是:http://pypi.python.org/pypi/setuptools#files
点击安装,能自动检测到已经安装了的python27,没有定制任何信息,一路next直至结束。
说明:由于兼容性的问题,最终安装的版本是:setuptools-o.6c11.wind32-py2.6.exe。

使用easy_install安装Trac

1. 进入command命令窗口,根据我们python的安装目录,切换当前目录到d:\program files\python27\scripts。
2. 依次执行如下命令:
d:\program files\pytnon27\scripts> easy_install Babel==0.9.5
d:\program files\python27\scripts> easy_install Trac

创建项目

至此,可以使用trac_admin创建项目下,命令如下:
d:\program files\python27\scripts\trac_admin d:\TracProject oschool
在运行时需要输入项目的名称和选择数据库,然后在输入一系列的信息后提示项目成功创建。应答的提示如下:
D:\Program files\Python27\Scripts>trac-admin d:\TracProject\oschool initenv
Creating a new Trac environment at d:\TracProject\oschool
Trac will first ask a few questions about your environment
in order to initialize and prepare the project database.
Please enter the name of your project.
This name will be used in page titles and descriptions.
Project Name [My Project]> oschool <- 键入的内容
Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).
Database connection string [sqlite:db/trac.db]> <- 此处直接回车,表示选择sqlite数据库
这时在d:\TracProject目录下就已经生成了一个oschool的文件夹,其中的内容就是一个trac的项目。

使用Tracd

执行tracd --port 8000 d:\TracProject\oschool,显示如下:
D:\Program files\Python27\Scripts>tracd --port 8000 d:\TracProject\oschool
Server starting in PID 2932.
Serving _disibledevent=>http://127.0.0.1:8000/
Using HTTP/1.1 protocol version
然后在浏览器中浏览http://localhost:8000将显示oschool的管理界面,点击进入oschool之后的页面如下:
image安装Trac的过程记录trac安装
此时,还缺少一些功能,如:帐号和安全权限设置,wiki的图形化编辑器,以及和SVN的关联来浏览源代码等。所有这些功能都可以通过安装插件的增加。
源代码管理我使用了VisualSVN,所以Trac中也想直接使用SVN是的用户帐号,安装过程如下:

使用SVN的用户帐号来登录项目

VisualSVN的数据仓库路径为d:\repositories,密码文件路径为:d:\repositories\htppasswd,所以用下面的语法启动tracd,就可以使用VisualSVN中的用户登录trac项目的web页面了。
d:\Program files\Python27\Scripts>tracd --basic-auth="*,d:\repositories\htpasswd,ruandao.com" --port 8000 d:\TracProject\oschool
不过这时登录的用户不具备TRAC_ADMIN权限。需要用下面的命令授权:
trac-admin d:\tracProject\oschool (说明:进入管理oschool的命令环境)
permission add yangwugui TRAC_ADMIN(说明:yangwugui用户已经在VisualSVN中存在了。)
这时登录启动服务,以yangwugui用户登录时就能看到管理员标签项(位于右上方)。打开管理员菜单可以看到插件管理项,这时只有一个插件,界面如下:
imageimage安装Trac的过程记录trac安装

安装帐号管理器

在http://trac-hacks.org上有一系列的插件。帐号管理是其中的一个,另外还包括wiki的可视化编辑插件等。
我之前使用过命令行:easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk能很顺利的完成帐号管理插件的安装,但是不知道为什么,这次就是不行,而且我上次的环境也是win2008R2。错误提示信息如下:
Downloading http://trac-hacks.org/svn/accountmanagerplugin/trunk
Doing subversion checkout from http://trac-hacks.org/svn/accountmanagerplugin/t
runk to c:\users\admini~1\appdata\local\temp\easy_install-iyyrh_\trunk
'svn' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Processing trunk
error: Couldn't find a setup script in c:\users\admini~1\appdata\local\temp\easy
_install-iyyrh_\trunk
因而这次先把插件下载本地,然后用python.exe执行其中的setup.py设置程序。格式如下:
d:\download\trac\> “d:\program files\python27\python.exe” setup.py bdist_egg
这时将在setup.py位置生成一个.egg文件,在上述管理员页面中上传安装该egg即可完成插件的安装。插件的安装后台机制是,把egg文件拷贝到项目的plugins文件夹下。
最后在使用python2.6时发现,用easy_install的语法是完全可以成功的,期间有一个安全验证,回答接受就能完成安装了。不需要生成egg的手工方式。另外,使用easy-install方式安装后好像应该对所有的项目有效,而上述方式似乎每个项目都要做一次。
这时再用trac-admin给yangwugui授权ACCTMGR_ADMIN。重启服务再次登录后就可以看到帐号插件的设置页面了。
在trac.ini中的帐号的设置如下:
[account-manager]
authentication_url =
force_passwd_change = true
hash_method = HtDigestHashMethod (说明:如果不指明,则生成的密码字符串和VisualSVN的不一样!)
htdigest_realm =
htpasswd_hash_type = crypt
password_file = d:\repositories\htpasswd(说明:VisualSVN的帐号文件)
password_store = HtPasswdStore
persistent_sessions = False
refresh_passwd = False
user_lock_max_time = 0
verify_email = true
这时,登录项目页面可以注册新用户了(假设没有更改过匿名用户的权限)。

在Python中绑定SVN

首先,下载SVN的Python接口包svn-win32-1.6.15_py_2.7.zip,然后把解压出来的两个文件夹svn和libsvn复制到python的下述目录下:D:\Program files\Python27\Lib\site-packages。
其次,在管理员页面中可以添加SVN的数据库
imageimageimage安装Trac的过程记录trac安装
第三,按上图中的说明执行命令同步数据库
visualSVN安装时没有把subversion的安装的bin的目录放到系统的path路径下,所以执行python中的代码是失败:找不到相关的dll和执行文件。
但是,结果总是失败!这个方法我上两次配置trac都是成功的,为什么呢?原因应该是出在svn-win32-1.6.15_py_2.7.zip和VisualSVN的2.17版本之间的不兼容性上面,visualSVN的版本号不是svn的版本号,在主界面中点击visualSVN的版本号链接,弹出对话框中显示对应的svn版本号,现在VisualSVN的版本号是2.17,对应1.6.16的svn。进一步研究发现VisualSVN的编译版本现在用的是vc9运行库,而不是vc6!
除非自己下载svn的源码自己编译,否则目前的网络上搜索不到python2.7所适用的visualsvn绑定,在visualSVN官网上有一个trac的整合包,但是python版本是2.5。
因而想干脆重新来过,不再安装python2.7,改装2.6,到python的官网上一看,简直冒火,2.6只有源码版本,没有了发布版,只提供了2.7和3.x的发行版。看来官方已经不怎么再理睬2.6版本了!
幸好,我之前有安装有备份,只有翻出原来的安装包重新来过,和上面的过程一样。然而一步一步做到最后,还是发现无法绑定subversion,因而怀疑是visualSVN的版本不对,改成2.1.5,对应的svn版本是1.6.15,和python的绑定版本完全一致,结果还是不行。为什么原来是可以的呢?
仔细查看之后发现,原来家里的服务器里有两个subversion的安装版本,一个是VisualSVN,一个官方下载的subversion(命令行)。在操作系统的环境变量path中引用的是subversion命令行的bin。因而绑定是成功的。照着同样在服务器上安装另一个版本的subversion,绑定就成功了。
由此看来,前面使用python2.7,也可以用这样的方法应该能成功,只要绑定python2.7的dll文件能和命令版本的subversion一起工作就行了。

安装可视化wiki编辑器

之前使用了一段时间的trac,感觉最不方便的就是在wiki写文字。太麻烦了,但愿这个编辑器用得舒服些。下载地址是:http://trac-hacks.org/wiki/TracWysiwygPlugin,安装方式如下:
首先执行执行命令行:easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.12
在插件的管理页面中可以勾选启用该插件。
至此整个安装就结束,完全正常工作。
Tags:  trac中文 trac配置 tracoff 记录程序安装过程 trac安装

延伸阅读

最新评论

发表评论