还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用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. jq插件处女座 图片轮播

    好久没写博客了,变得好懒呀,无地自容.最近一直在学sass和jq插件的写法,照猫画虎的谢了一个jq的插件,也算是第一次真正称得上插件的插件 ,废话不多说 上代码 (function($) { $.fn ...

  2. C# 连接 数据库的时候 出现 程序出现异常"尝试读取或写入受保护的内存这通常指示其他内存已损坏" 错误

    今天调试程序的时候出现了毫无征兆的就出现了如标题所述 的错误,我之前的程序 都运行的好好的,网上 找了 好多帖子 ,都是没有找到解决方案,最后 一个问一个同事 不知道他在哪儿找到了一个解决方案,说是 ...

  3. 磁盘管理三-raid

    前言:何为raid raid是利用多个磁盘组成一个可提升效能.可包含冗余的磁盘阵列组.常用于数据吞吐量大(视频),冗余要求高的场景 当前raid包含了raid0-7,以及组合方式raid10,raid ...

  4. UFI命令格式里SCSI指令

    有三种字长命令:6位.10位.12位,一般Windows下用12位. 在UFI 命令格式里SCSI指令用到如下: 指令代码 指令名称 说明 04h Format Unit 格式化存储单元 12h In ...

  5. Tea加密算法和XxTea加密算法

    TEA(Tiny Encryption Algorithm)是一种小型的对称加密解密算法,支持128位密码,与BlowFish一样TEA每次只能加密/解密8字节数据.TEA特点是速度快.效率高,实现也 ...

  6. Fragment销毁时replace和add两个方法的区别

    这个首先从一个bug说起,如图:   我们都知道fragment切换有两种方式: 1. replace方式 transaction.replace(R.id.content, IndexFragmen ...

  7. 剑指offer-面试题9.斐波拉契数列

    题目一:写一个函数,输入n,求斐波拉契数列的第n项. 斐波拉契数列的定义如下: { n=; f(n)={ n=; { f(n-)+f(n-) n>; 斐波拉契问题很明显我们会想到用递归来解决: ...

  8. tomcat https 未测试成功的版本

  9. 360WIFI下使用Fiddler抓取手机APP流量

    过程其实很简单,仅仅做个记录.过程适用Android和ios手机 fidder的原理如下: 下面开始步骤: 1.在fidder中设置代理:Tools--->Fidder Options,设置端口 ...

  10. Struts2(二)——配置文件struts2.xml的编写

    接上一篇博客,这篇博客讲述一下2——9小标题的内容,这些问题都可以在struts2配置文件中设置(当然有的也可以在Struts.properties属性文件,web.xml中进行设置),而且常规开发中 ...