Ubuntu14.04安装配置SVN及Trac

时间:2022-09-14 09:19:27

还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用SVN作代码版本控制,使用trac作为项目管理追踪。本文采用的操作系统是ubuntu14.04,配置起来并不难。

1.安装所需软件

只要能联网,linux操作系统装软件都十分简单。ubuntu使用apt-get install 直接进行软件安装。必需的软件包有SVN的subversion,trac以及apache2相关软件包。一句话装完所有包。 

sudo apt-get install apache2 subversion libapache2-svn trac libapache2-mod-python  libapache2-mod-python-doc

安装完毕,执行以下命令。 

a2enmod python

2.配置SVN服务器端

我们需要创建subversion用户组,然后将apache2的www-data用户以及自己的用户加入该用户组。

sudo addgroup subversion
sudo usermod -G subversion -a www-data
sudo usermod -G subversion -a quick

然后创建svn的根目录,此处svn的根目录为/home/svn。

sudo mkdir /home/svn
cd /home/svn

开始创建自己的知识库。

sudo mkdir promanage
sudo chown -R root:subversion promanage    //需为www-data添加权限,因为后面要用apache 
$sudo chmod -R g+rws  promanage            //为组成员赋予对所有新加入文件仓库的文件拥有相应的权限 
$sudo svnadmin create /home/svn/promanage  //开始一个新的知识库 

3.配置SVN访问方式

可以有多种方式访问subversion文件仓库,在此通过WebDAV协议访问SVN文件仓库,需要配置apache,将以下代码添加到/etc/apache2/mods-available/dav_svn.conf中。

<Location /svn/promanage> 
    DAV svn 
    SVNPath /home/svn/promanage
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /etc/apache2/dav_svn.passwd 
    # To enable authorization via mod_authz_svn
    AuthzSVNAccessFile /etc/apache2/dav_svn.authz 
    Require valid-user 
</Location> 

然后创建/etc/apache2/dav_svn.passwd文件,此文件包含了用户授权信息,需添加SVN用户时执行以下命令:

sudo htpasswd -c /etc/apache2/dav_svn.passwd user_name  //将此处user_name替换为你需要添加的用户名

执行此命令后,会提示输入密码,输入密码后,该用户就建立成功。然后需要创建/etc/apache2/dav_svn.authz文件,用于控制访问权限。

sudo vim /etc/apache2/dav_svn.authz

输入以下内容:

[/]
user_name=rw

以上内容使得用户user_name对SVN仓库具有读写权限。

至此SVN就配置完毕了,需要重启apache服务。

sudo service apache2 restart

可以使用http://hostname/svn/promanage测试以上配置是否正确。

4.配置Trac环境

sudo trac-admin /home/trac initenv  //除了项目名称(promanage)和svn仓库路径(/home/svn/promanage)以外,其余可使用默认. 
sudo chown -R root:www-data trac    //使用www-data:www-data 
sudo chmod -R g+rsw trac 

5.配置Trac访问方式

和SVN一样,创建环境后,trac也需要配置其访问方式,此处可以采用和SVN配置一样的方式。在SVN的配置文件里添加Trac的相关配置即可。

sudo vim /etc/apache2/mods-available/dav_svn.conf

添加以下内容:

<Location /trac/>
    SetHandler mod_python
    PythonInterpreter main_interpreter
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /home/trac/
    PythonOption TracUriRoot /trac/
    AuthType Basic
    AuthName "Trac"
    AuthUserFile /etc/apache2/dav_svn.passwd
    require valid-user
</Location>

配置完毕,重启apache服务。

sudo service apache2 restart

大功告成,输入http://hostname/trac即可看到自己的工程。