还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用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. WAMPSERVER2.2 无法启动的解决!

    转: PHP版本:5.3.10 XDEBG插件:php_xdebug-2.1.2-5.3-vc9.dll WAMPServer2.2用的是VC9编译的,并且需要VC9运行库支持. 此问题解决方法: 下 ...

  2. 利用matlab实现以下功能:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    程序思路: 对n进行分解质因数,应先找到一个最小的质数k,从2开始,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n不等于k,则应打印出k的 ...

  3. 在Docker上部署使用Azure CLI镜像

    Docker是非常流行的容器技术,在Docker中安装部署多种工具非常快速和方便:而Azure CLI是微软提供的可以在Linux/Mac上运行的跨平台命令行管理工具,本文介绍如何在Azure上安装部 ...

  4. QWidget可以设置QStyle,它可以绘制很多东西(具体内容没研究,待续)

    QStyle * QWidget::style() const See also QWidget::setStyle(), QApplication::setStyle(), and QApplica ...

  5. SqlBulkCopy 类

    1.SqlBulkCopy 简介  Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同 ...

  6. 定时任务:Java中Timer和TimerTask的使用

    java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerT ...

  7. 瑞柏匡丞:国内外App市场分析报告

    互联网不可阻挡的向移动互联网转化.对于各种新兴产业来讲,移动APP是当下行业的颠覆者,也是未来的王者.国内外app市场的火热程度都已经远远超出了人们的预想,然而国内外市场的区别还是相当明显的. 首先, ...

  8. UESTC_魔法少女小蟹 CDOJ 710

    小蟹是一名魔法少女,能熟练的施放很多魔法. 有一天魔法学院上课的时候出现了这样一道题,给一个6位数,让大家用自己的魔法,把这个6位数变成另一个给定的6位数. 小蟹翻了下魔法书,发现她有以下6种魔法: ...

  9. 解决mongodb连接失败问题

    错误提示: MongoDB shell version: 2.4.9 connecting to: test Mon Mar  3 23:45:09.491 Error: couldn't conne ...

  10. Lake Counting (POJ No.2386)

    有一个大小为N*M的园子,雨后积起了水,八连通的积水被认为是链接在一起的求出园子里一共有多少水洼? *** *W* *** /** *进行深度优先搜索,从第一个W开始,将八个方向可以到达的 W修改为 ...