Red hat 6.2 64bit 搭建subversion+usvn

一、 Subversion 简介 

Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。 

二、 环境准备

[root@test ~]# uname -a
Linux test 2.6.32-220.el6.x86_64 #1 SMP WedNov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

设置SELINUX=disabled重启后关闭selinux

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn

三、安装

1、安装所需软件

[root@test ~]# yum install -y subversion httpd httpd-devel mysql mysql-server mysql-devel mod_auth_mysql php-commonphp-cli php php-mysql mod_ssl mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced

说明:

subversion       (SVN服务器 )

mysql-server     (用于 codestriker)

httpd mod_dav_svn mod_perl (用于支持 WEB方式管理 SVN服务器 )

sendmail         (用于配置用户提交代码后发邮件提醒 )

wget gcc-c++ make unzip perl*     (必备软件包 )

ntsysv vim-enhanced     (可选 )

Mod_auth_mysql         把用户名字和密码保存到MySQL数据库,然后直接使用它们进行身份验证。

Mod_dav_svn            Apache通过Apache HTTP服务器用来维护Subversion版本库配置指示

 

查看subversion是否安装成功,如下图:

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_02

2、启动httpdmysqld服务

启动httpd

Red hat 6.2 64bit 搭建subversion+usvn_usvn_03

启动mysqld

Red hat 6.2 64bit 搭建subversion+usvn_usvn_04

启动后设置mysqld密码,后面安装usvn时需要用

[root@test ~]# mysqladmin -u root password 123456

3、配置开机启动

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_05

四、配置USVN

从GitHub下载usvn并解压
[root@test ~]# tar -xzvf usvn-1.0.7.tar.gz -C /var/www/ [root@test ~]# mv /var/www/usvn-1.0.7/ /var/www/usvn

Red hat 6.2 64bit 搭建subversion+usvn_usvn_06

[root@test ~]# chown -R apache.apache /var/www/usvn/
[root@test ~]# vi /etc/httpd/conf/httpd.conf
Alias /usvn "/var/www/usvn/public"
 
<Directory "/var/www/usvn/public">
   Options +SymLinksIfOwnerMatch
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_07

配置完成重启httpd

[root@test ~]# service httpd restart

通过IE打开http://192.168.2.15/usvn/install.php就可以按步骤一步步完成,此时如果打不开,请检查你的iptablesselinux是否有限制或是直接关掉iptablesselinux服务。

 

访问正常将会出现下面界面:

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_08

Next step下一步

Red hat 6.2 64bit 搭建subversion+usvn_usvn+subversion_09

2步语言默认是英文,这里我选择中文

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_10

第三步同意协议

Red hat 6.2 64bit 搭建subversion+usvn_usvn_11

 

 

第四步如果使用默认值不行,要做调整

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_12

 

改为以下路径可以顺利进入下一步(注:这里passwd和authz两个文件默认在/var/www/usvn目录是没有的,这里设置好路径后会自动创建这两个文件。)

Red hat 6.2 64bit 搭建subversion+usvn_usvn_13

 

填入上面创建的mysqld用户名和密码,勾选创建数据库,此处如果你没有安装php-pdo则会报错

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_14

创建一个账号用于登陆管理usvn

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_15

创建后会看到usvn/passwd文件里有admin用户

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_16

选择不检查更新

Red hat 6.2 64bit 搭建subversion+usvn_usvn+subversion_17

复制下面的代码到/etc/httpd/conf/httpd.conf

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_18

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_19

 

点上面的连接到USVN登陆

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_20

至此整个subversionUSVN搭建完成。需要用USVN测试创建用户、用户组、项目是否正常。

 

创建用户组testdata

Red hat 6.2 64bit 搭建subversion+usvn_Red hat 6.2 64bit 搭建_21

 

创建用户test属于testdata用户组

Red hat 6.2 64bit 搭建subversion+usvn_usvn+subversion_22

 

创建项目data

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_23

 

testdata用户组可以管理这个项目

Red hat 6.2 64bit 搭建subversion+usvn_usvn+subversion_24

 

五、 TortoiseSVN安装使用

下载安装TortoiseSVN

Red hat 6.2 64bit 搭建subversion+usvn_usvn_25

 

测试检出http://192.168.2.15/usvn/svn/data

Red hat 6.2 64bit 搭建subversion+usvn_linux下搭建usvn_26

Red hat 6.2 64bit 搭建subversion+usvn_usvn_27

 

提示如下错误,是由于svnserve服务未启动

Red hat 6.2 64bit 搭建subversion+usvn_usvn+subversion_28

启动svnserve服务

Red hat 6.2 64bit 搭建subversion+usvn_usvn_29

再次尝试检测成功

Red hat 6.2 64bit 搭建subversion+usvn_usvn_30