@felixonmars 点名要一份trac的最简易配置步骤,不过其实trac这样一个geek东西,即使按本文配置好跑起来后也依然是一套半成品,还有很多东西需要去看文档去配置,就像awesome, vim等,在一段陡峭的学习曲线之前,都不怎么好用。 所以其实本文也不会降低多少门槛,大概比直接看官方的guide安装的时候少点压力,但不一定是好事。
此前有在公司技术部内推广使用trac做项目管理的想法,做过了解,不过因为各种原因还是用不下来。赖勇浩的博客有一系列文章介绍trac,也包括了在公司环境使用的经验。
Trac作为一套web应用,其实部署步骤和此前介绍的MoinMoin, Mercurial很类似的。
以下步骤介绍安装包含多国语言的基本trac环境。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #安装基本组建 sudo -s add-apt-repository ppa:nginx/stable add-apt-repository ppa:uwsgi/release apt-get update apt-get install nginx uwsgi-python python-virtualenv subversion #本次安装所需的路径,可按需修改 TRAC_ENV_PYHOME="/srv/trac/python-env" TRAC_PROJECTS_DIR="/srv/trac/projects" PROJECT_PATH="$TRAC_PROJECTS_DIR/myproject1" #组件配置 cat >/etc/uwsgi-python/apps-enabled/uwsgi.xml << EOF <uwsgi> <limit-as>256</limit-as> <processes>6</processes> <memory-report/> <vhost/> <no-site/> </uwsgi> EOF #安装Trac, dev版本。 #虽然其实可以easy_install Trac,但是就不会编译多国语言了。 cd /tmp virtualenv $TRAC_ENV_PYHOME source $TRAC_ENV_PYHOME/bin/activate easy_install Genshi easy_install Babel svn co http://svn.edgewall.org/repos/trac/trunk trac cd trac python setup.py install #建立项目 mkdir $TRAC_PROJECTS_DIR trac-admin $PROJECT_PATH initenv #如果你的终端为中文(zh_CN.UTF-8,比如date命令是中文的年月日),现在应该是中文提示,否则以上安装可能问题。 #输入项目名称、数据库连接(默认)后,项目建立完成 trac-admin $PROJECT_PATH deploy $PROJECT_PATH/deploy cd $PROJECT_PATH/deploy/cgi-bin cp trac.wsgi trac_wsgi.py chown www-data:www-data -R $PROJECT_PATH cat >/etc/nginx/sites-enabled/trac-project1 << EOF server { listen 80; server_name project1.trac.domain.com; location / { include uwsgi_params; uwsgi_pass unix:///var/run/uwsgi-python/uwsgi/socket; uwsgi_param UWSGI_PYHOME $TRAC_ENV_PYHOME; uwsgi_param UWSGI_CHDIR $PROJECT_PATH/deploy/cgi-bin; uwsgi_param UWSGI_SCRIPT trac_wsgi; uwsgi_param UWSGI_SCHEME \$scheme; uwsgi_param REMOTE_USER \$remote_user; } } EOF service uwsgi-python restart service nginx reload |
现在打开浏览器,根据你的地址,应该能打开自己的Trac了。
一个Trac实例只管理一个项目,如果需要多个trac就需要重复上述“添加项目”后的步骤。
Tips:
上述trac-admin /xxx deploy
命令后,生成的目录里面有个htdocs
目录,包含了项目内的静态文件。如果在nginx配置里面加上这样一段:
location /htdocs/ { root $PROJECT_PATH/deploy; } |
(注意里面的$PROJECT_PATH
变量要对应你实际项目的路径),
然后修改$PROJECT_PATH/conf/trac.ini
内htdocs_location =
的值为/htdocs/
可以降低静态文件请求对服务器的压力。
最后,多看官方文档。
无证程序员小心被抓呀
是的必须小心被抓呀