由于工作变动,需要搭建新的缺陷跟踪平台,最终选中了trac,以下是亲测可用的安装方法。
一、SVN的安装和配置
详细可以参考http://wiki.ubuntu.org.cn/SubVersion
1、安装
1 | $sudo apt-get install subversion |
2 | $sudo apt-get install libapache2-svn //这个是安装apache部分,如果不使用http协议可以不必装这个. |
2、配置svn服务器端
首先,创建subversion用户组,并且将www-data和您自己这两个用户加入该组.
1 | $sudo addgroup subversion |
2 | $sudo usermod -G subversion -a www-data |
其次,创建svn的根位置,
然后,开始一个新的知识库,
2 | $sudo chown -R root:subversion npmonitor//这里要给www-data添加权限,因为我们后面要用apache |
3 | $sudo chmod -R g+rws npmonitor//这个是为了赋予组成员对所有新加入文件仓库的文件拥有相应的权限 |
4 | $sudo svnadmin create /home/svn/npmonitor//开始一个新的知识库 |
3、配置SVN访问方式
Subversion 文件仓库可以通过许多不同的方式进行访问(Check Out,签出)——通过本地硬盘,或者通过各种网络协议。
这里通过 WebDAV 协议访问 SVN 文件仓库,必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中:
01 | <Location /svn/npmonitor> |
03 | SVNPath /home/svn/npmonitor |
05 | AuthName "Subversion Repository" |
06 | AuthUserFile /etc/apache2/dav_svn.passwd |
07 | # To enable authorization via mod_authz_svn |
08 | AuthzSVNAccessFile /etc/apache2/dav_svn.authz |
接下来,您需要创建 /etc/apache2/dav_svn.passwd 文件。该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:
1 | $sudo htpasswd -c /etc/apache2/dav_svn.passwd user_name |
它会提示您输入密码,当您输入了密码,该用户就建立了。
接下来,您需要创建 /etc/apache2/dav_svn.authz 文件。该文件用来配置其访问控制。
如新建dav_svn.authz文件,再输入
这个是容许用户user_name访问npmonitor下的文件的读写权限。
详细的配置可以参考/home/svn/npmonitor/conf下的authz文件。
当您添加了上面的内容,您必须重新起动 Apache 2 Web 服务器,请输入下面的命令:
$sudo /etc/init.d/apache2 restart
再可以使用http://hostname/svn/npmonitor来测试下你的配置是否正确。
二、TRAC安装和配置
详细安装配置教程参考http://trac.edgewall.org/wiki
1、安装
1 | $sudo apt-get install trac |
2、创建配置Trac环境
1 | $sudo trac-admin /home/trac initenv //除了项目名称(npmonitor)和svn仓库路径(/home/svn/npmonitor)以外,其余可使用默认. |
2 | $sudo chown -R root:www-data trac //使用www-data:www-data |
3 | $sudo chmod -R g+rsw trac |
3、配置Apache
创建Trac环境后,还需要在Apache2中进行相应的配置才能正常使用。配置Trac有两种方式:做为CGI(CGI、WSGI、FCGI)以及使用mod-python。在这里,我们使用apache2-mod-python方式来配置Apache2服务器:
1 | $sudo apt-get install libapache2-mod-python libapache2-mod-python-doc |
再配置httpd.conf文件,在其中添加
03 | PythonInterpreter main_interpreter |
04 | PythonHandler trac.web.modpython_frontend |
05 | PythonOption TracEnv /home/trac/ |
06 | PythonOption TracUriRoot /trac/ |
09 | AuthUserFile /etc/apache2/dav_svn.passwd |
当您添加了上面的内容,您必须重新起动 Apache 2 Web 服务器,并输入http://hostname/trac就可以看到自己的工程。