trac-admin在initenv环境的时候提示如下错误:
Trac Error: Cannot load Python bindings for SQLite
重新下载pysqlite重新安装即可
http://code.google.com/p/pysqlite/downloads/list
另外在编译mod_python的时候提示:
connobject.c: 在函数‘_conn_read’中:
connobject.c:142: 错误: 在非结构或联合中请求成员‘next’
apxs:Error: Command failed with rc=65536
类似错误
解决方案:
修改src/connobject.c第142行
把!(b == APR_BRIGADE_SENTINEL(b) || 改为!(b == APR_BRIGADE_SENTINEL(bb) ||
启动trac其实有多种方式,如果追求性能最好让trac运行在webserver上,那么apache就派上用场了,给apache安上mod_python,这里有些可以记录的:
DocumentRoot /data/trac/
ServerName trac.example.com
#让解析根的时候就后台去运行trac的cgi,这个cgi在trac目录cgi-bin下
alias / /install_bak/trac/cgi-bin/trac.cgi
#开启python支持
SetHandler mod_python
PythonInterpreter main_interpreter
#把请求交给trac去执行
PythonHandler trac.web.modpython_frontend
#trac项目所在目录
PythonOption TracEnv /data/trac
#trac项目url访问目录
PythonOption TracUriRoot /
如何给Trac加上验证?
答:我这里给绑定的是http的验证,只要在apache的httpd.conf里面配置:
AuthType Basic
AuthName MemNote
AuthUserFile /data/trac/trac.passwd
Require valid-user
注意location的访问路径,另外authuserfile中的文件使用htpasswd命令创建,注意最好不要用-p参数,加了p参数后密码是明文,trac验证会失败。
创建用户的命令:
htpasswd -c trac.passwd admin
具体的权限操作可以通过trac-admin来绑定admin的权限组
Trac汉化问题解决:
1. 安装babel
sudo easy_install babel
或者
sudo easy_install babel
如果自己的centos升级过python的话自带的python-setuptools有可能有问题,不能用rpm包的,需要自己重新安装easy_install,这时候easy_install命令有可能不再/usr/bin的目录下,有可能安装在自己安装的python版本的bin目录下,例如:/usr/local/python2.7/bin
2. 生成pot
python setup.py extract_messages
3. 编译po(这里可以指定编译为哪种语言,不指定就是全部)
python setup.py update_catalog
4. 检查你要的语言装了没
python setup.py update_catalog -l zh_CN
5. 编译为mo
setup.py compile_catalog -f
6. 安装trac
python setup.py install
这时用中文浏览器访问,显示的就是中文了