subversion 和apache 整合

1 yum install sub* -y
2 yum install httpd-* mysql-* php-* -y

创建数据仓库,创建数据仓库的目录

3 mkdir -p /date/subversion/repos

4 mkdir -p /var/gftech/subversion/repos

5 svnadmin create /var/gftech/subversion/repos  (创建数据仓库,将自动生成几个文件和目录)

独立启动方式(独立启动方式是做为一个单独的服务程序,默认情况下通过本地端口3690来对外提供服务)
 
5 启动步骤:

执行svnserve -d -r /var/gftech/subversion/repos (以Daemon方式运行,默认情况下匿名访问)

1 #vim authz    (最后面添加下面的用户组合授权用户,很多个用户可以用,隔开)

developers = test
[/]
@developers =rw

2 编辑

#vim svnserve.conf   (去掉下面行前面的注释符号) 

anon-access = read
auth-access = write

password-db = passwd
authz-db = authz

3 添加用户执行htpasswd -cb users.auth test 123456创建帐号文件
 
   htpasswd -b users.auth test2 123456
 
 
它的缺点是:
1.对外提供服务时,有可能受到防火墙的阻隔,造成服务无法访问
2.并且它的密码文件是明文显示,没有进行MD5加密,存在安全隐患
3.只能启动一个数据仓库,如果想要创建多个数据仓库,必须启动多个svnserve服务进程
 
五、结合Apache方式

结合Apache使用的方式,克服了svnserve方式的缺点,用户可以直接通过浏览器浏览源代码,还可以对浏览器访问进行SSL加密控制,更好的提高安全性

1.Apache本身不支持SVN,需要先安装mod_dav_svn模块

2.执行yum install mod_dav_svn进行自动安装

3.确保/etc/httpd/moudles目录下有mod_dav_svn.so和mod_authz_svn.so

4.打开/etc/httpd/conf/httpd.conf文件,在LoadModule dav_module modules/mod_dav.so一行下面添加下面两行内容:
  
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

5.再添加如下内容:

<Location /svn>
DAV svn
SVNPath /var/gftech/subversion/repos
AuthzSVNAccessFile /var/gftech/subversion/repos/conf/authz
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile  /var/gftech/subversion/repos/conf/users.auth
Require valid-user
</Location>

6.切换到/var/gftech/subversion/repos/conf目录下

7.执行htpasswd -cb users.auth test 123456创建帐号文件

8.再次添加用户,去掉参数c即可:htpasswd -b users.auth test2 123456

9.执行service httpd restart启动Apache

10.在浏览器中输入http://host/svn打开SVN仓库,输入用户名密码进行访问

测试成功。。结束。

六、SVN客户端

推荐使用TortoiseSVN