似乎所有的教程中都说Trac很简单,但一看方法晕了,啥都有。。。这里就只走通2条路:
首先是trac自带服务: sudo apt-get install trac sqlite python-sqlite 安装完后就可以建立Trac系统,我准备安装在/var/www/trac目录下。建立Trac系统主要使用trac-admin中的initenv命令。注意所有对Trac系统的操作我都用www-data用户来完成,因为Trac是一个Web应用,是通过Apache来访问的。详细过程如下: cd /var/www sudo mkdir trac sudo chown -R www-data:www-data trac sudo -u www-data trac-admin trac initenv Project Name [My Project]> 在这里输入你的项目名称 Database connection string [sqlite:db/trac.db]> 省力点,就用用sqlite,默认回车即可 Repository type [svn]> 回车即可 Path to repository [/path/to/repos]> 在这里输入你的项目对应的Subversion地址 Templates directory [/usr/share/trac/templates]> 这个有吗?记忆中没有。。。
注意Trac默认情况下只能访问本机的Subversion仓库,在上面填写地址时不能加"file://"前缀。 以上!!错了,上面一步会报错,我碰到两种可能: - 权限不足,命令前sudo即可
- egg环境无法获得,这个查了一下,只有靠手工设置 export PYTHON_EGG_CACHE /var/trac/myprojects/egg-cache
这下应该可以了。 启动Trac并访问 启动Trac #tracd --port 8000 /trac/projects/TelecomProjects 然后访问以下网址看Trac是否正常工作 http://localhost:8000/或者http://localhost:8000/TelecomProject 通过上面的步骤7~8,我们可以重复添加多个trac项目 比如 #trac-admin /trac/projects/OtherProjects initenv 接着来说Apache集成吧,
编辑apache的配置文件/etc/httpd/conf/httpd.conf文件或者/etc/httpd/conf.d/python.conf文件 在最后增加如下部分 - <Location /trac>
- SetHandler mod_python
- PythonInterpreter main_interpreter
- PythonHandler trac.web.modpython_frontend
- PythonOption TracEnvParentDir //如果单个项目的话,也可以写成PythonOption TracEnv /trac/projects/TelecomProjects
- #PythonOption TracEnv /trac/projects/TelecomProjects
- AuthType Basic
- AuthName "Trac Projects"
- AuthUserFile /svn/.htpasswd
- Require valid-user
- </Location>
注意1:如果单个项目的话,也可以写成PythonOption TracEnv /trac/projects/TelecomProjects的形式,不过我还是建议所有项目库放在同一个父路径下 注意2:我们可以看到认证方式的配置和svn的配置相同,并且用的是同一个用户认证文件(如果你的svn用用户认证文件认证的话)! 配置完毕,请看http://trac.edgewall.org/wiki/TracModPython 懒得提了。。。-_-
|