还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用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即可看到自己的工程。

  

  

  

Ubuntu14.04安装配置SVN及Trac的更多相关文章

  1. Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  2. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

  3. Ubuntu14.04 安装配置Opencv3.0和Python2.7

    http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...

  4. Ubuntu14.04安装配置Open vSwitch

    最近在研究学习Open vSwitch,准备在本地Ubuntu14.04机器上安装一下,并基于其创建一些KVM虚拟机,下面就简要记录下在Ubuntu14.04系统上安装Open vSwitch的过程. ...

  5. Ubuntu14.04 安装配置Hadoop2.6.0

    目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...

  6. ubuntu14.04安装配置jdk1.8.0_25

    Reference: http://jingyan.baidu.com/article/eb9f7b6d8f82a6869364e8a7.html 今天尝试在ubuntu14.04 LTS上安装jdk ...

  7. Ubuntu14.04安装配置星际译王词典

    参考自:http://m.blog.csdn.net/blog/u014731529/25917149 平常总会遇到一些不认识的单词,汉字等等.一直使用Chrome 浏览器的翻译插件,不过插件的翻译总 ...

  8. Ubuntu14.04安装配置Chrome浏览器

    1.获取软件 32位版本: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 64位版本: w ...

  9. Ubuntu14.04安装配置LAMP环境(php5.6)

    sudo apt-get install python-software-properties sudo apt-get update sudo apt-get install vim sudo ap ...

随机推荐

  1. CSS3弹性盒模型布局模块介绍

    来源:Robert’s talk原文:http://robertnyman.com/2010/12/02/css3-flexible-box-layout-module-aka-flex-box-in ...

  2. llinux之sudo配置

    1.使用visudo来配置,因为visudo在配置完毕后,会检查是否有语法错误. 2.配置格式: 授权账号    授权账号所在hostname=(可切换的账号)    可执行的命令command(如果 ...

  3. mongodb batchInsert

    看到<MongoDB 权威指南>第二版P30提到了一个batchInset的插入方法,对于一次性插入大量数据时可以提高性能.按照书上的列子,却提示错误: 本书是基于MongoDB V2.4 ...

  4. hdu Buy the Ticket

    import java.math.BigInteger; import java.util.*; public class Main { public static void main(String ...

  5. 把所有的QT的类都过一遍脑子

    http://doc.qt.io/qt-5/classes.html 这样就明白QT提供的全部功能了,避免重复造轮子,或者给自己开发带来麻烦-

  6. bzoj1689 [Usaco2005 Open] Muddy roads 泥泞的路

    Description Farmer John has a problem: the dirt road from his farm to town has suffered in the recen ...

  7. bzoj1644 [Usaco2007 Oct]Obstacle Course 障碍训练课

    Description 考虑一个 N x N (1 <= N <= 100)的有1个个方格组成的正方形牧场.有些方格是奶牛们不能踏上的,它们被标记为了'x'.例如下图: . . B x . ...

  8. LeeCode-Number of 1 Bits

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has For exampl ...

  9. 异常:ERROR [org.hibernate.proxy.BasicLazyInitializer] - CGLIB Enhancement failed...

    ERROR [org.hibernate.proxy.BasicLazyInitializer] - CGLIB Enhancement failed: com.movie.类 放到lib 包下 \W ...

  10. 使用 apache ant 轻松实现文件压缩/解压缩(转)

    原文地址:http://blog.csdn.net/irvine007/article/details/6779492 maven配置ant包: <dependency> <grou ...