trac on Ubuntu

分析完Yupoo的软件清单之后,决定找其中早就想试试的来看看。比如redmine。但是之前曾经想安装trac来着。那么他们选择redmine而没有选择trac,应该有理由吧。Google搜到两篇对比的文章Trac与RedmineTrac vs. Redmine vs. JIRA vs. FogBugz for one-man shop?。决定先测试一下trac。
测试环境:VirtualBox 3.2.8
操作系统:Ubuntu Desktop 10.04,缺省安装
注:本文大量参考了Trac的安装设置一文,向作者和翻译者致敬。

1. 安装trac
[code language=”bash”]
sudo apt-get install trac
[/code]

如果要安装bazzar或git支持,要安装对应的trac-bzr或trac-git。Subversion是缺省的支持。

2. 配置svn
按照wiki中Subversion的常用位置/usr/local/svn和/home/svn。选择了/home/svn/repo作为项目目录。
设置访问Subversion版本库的用户和用户组。此处firehare是用户名。
[code language=”bash”]
sudo groupadd subversion
sudo usermod -G subversion -a firehare
sudo usermod -G subversion -a www-data
[/code]

创建Subversion版本库并设置访问权限
[code language=”bash”]
sudo mkdir -p /home/svn/repo
sudo chown -R root:subversion /home/svn/repo
sudo chmod -R g+rws /home/svn/repo
sudo svnadmin create /home/svn/repo
[/code]

3. 配置postgresql
这比较简单:
[code language=”bash”]
sudo apt-get install postgresql python-psycopg2
[/code]
就可以了。其中python-psycopg2是python中用来访问postgresql的库。安装好完成PostgreSQL的daemon会自动启动。如果没有启动,去/etc/init.d/目录找postgresql*自己启动就好了。
添加PostgreSQL用户和数据库
[code language=”bash”]
sudo -u postgres sh (切换到postgres shell)
createuser -A -D -P firehare (创建firehare用户,并提示输入密码,请输入123456以便和下文对应)
Shall the new role be allowed to create more new roles? (y/n) y
createdb -O firehare trac (创建trac数据库)
exit (退出postgres用户,回到正常用户提示行)
[/code]

4. 配置trac
Trac用目录和数据库来储存项目信息, 叫做”环境“。一个新的Trac环境是通过使用trac-admin创建出来的。为了通apache访问trac,通常主目录设置在/var/www中。
[code language=”bash”]
cd /var/www
sudo mkdir trac
sudo chown -R www-data:www-data trac
sudo -u www-data trac-admin trac initenv
[/code]
根据提示输入项目名称、数据库连接串和svn路径就可以了
Database connection string [sqlite:db/trac.db]>postgres://firehare:123456@localhost/trac (输入PostgreSQL数据库的位置)
Repository type [svn]>
Path to repository [/path/to/repos]> /home/svn/repo (在这里输入你的项目对应的Subversion地址,注意Trac默认情况下只能访问本机的Subversion仓库,在上面填写地址时不能加”file://”前缀。)
Templates directory [/usr/share/trac/templates]>/usr/share/pyshared/trac/templates

安装好之后的提示中有:
If you’d like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

tracd –port 8000 /var/www/trac

之后访问http://127.0.0.1:8000/就可以看到Available Projects的页面了。虽然简单无比。

5. 使用Apache2作为Server
需要在虚拟站点中补充的内容
[code language=”xml”]

SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/www/trac/
PythonOption TracUriRoot /trac/
SetEnv PYTHON_EGG_CACHE /tmp


AuthType Basic
AuthName “CMET_WZU Trac Server”
AuthUserFile /var/www/trac/.htpasswd
Require valid-user

[/code]
创建一个名为firehare的用户,你会被提示输入用户名
[code language=”bash”]
sudo htpasswd -c /var/www/trac/.htpasswd firehare
[/code]
重启apache2
[code language=”bash”]
sudo /etc/init.d/apache2 restart
[/code]
安装很容易,接下来找时间再安装个redmine来试试。JIRA是收费的先不测试了。fogbugz也分社区和收费两个版本,看情况再测试。
Fedora或CentOS的用户看Fedora下SVN+TRAC+APACHE+SSL安装步骤简明介绍吧。

参考文章:
1. Trac的安装配置
2.

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注