SVN服务器的搭建
1、安装SVN服务器
# yum install mod_dav_svn subversion
2、查看SVN服务器是否安装成功
# ls /etc/httpd/modules/ | grep svn  
mod_authz_svn.so  
mod_dav_svn.so  

# svn --version(查看SVN版本信息)
svn, version 1.7.14 (r1542130)
...
3、创建SVN资源库目录
# mkdir -p /svn_repos
4、创建SVN资源库项目
# mkdir -p /svn_repos/project_1
# svnadmin create /svn_repos/project_1

在/svn_repos/project_1目录下会生成以下配置文件

[root@localhost project_1]# ls
conf  db  format  hooks  locks  README.txt
conf
  |-authz文件是权限控制文件  
  |-passwd是帐号密码文件  
  |-svnserve.conf SVN服务配置文件
5、修改配置文件
# vim /svn_repos/project_1/conf/svnserve.conf 进行如下配置

[general]
# 非鉴权用户没有权限
anon-access = none
# 鉴权用户有写权限
auth-access = write
# 指定用户名口令文件名
password-db = passwd
# 指定权限配置文件名
authz-db = authz

# vim /svn_repos/project_1/conf/passwd 进行如下配置

passwd:
[users]
# 配置了一个用户 用户名为admin密码为admin
admin=admin

# vim /svn_repos/project_1/conf/authz 进行如下配置

authz:
[groups]
[/]
# 为admin用户配置读写权限
admin = rw
6、启动SVNServer服务
# svnserver -d -r /svn_repos

使用svn co svn://localhost/projetc_1,测试是否正常

7、创建http服务访问svn服务器

安装httpd

# yum install httpd httpd-devel  
# service httpd start  
# chkconfig httpd on  

# vi /etc/httpd/conf/httpd.conf   
找到 ServerName 并修改成 ServerName localhost:80

禁用firewalld和selinux,否则会出现http访问错误

<D:error>  
<C:error/>  
<m:human-readable errcode="13">Could not open the requested SVN filesystem</m:human-readable>  
</D:error>

修改httpd配置文件

httpd的默认的配置文件为/etc/httpd/conf/httpd.conf  

1.先备份一下,防止改错  
cp httpd.conf httpd.conf.bak  

2.修改  
找到文件的'LoadModule'  
在该附近加载mod_dav和mod_dav_svn模块的配置:  
LoadModule dav_module modules/mod_dav.so  
LoadModule dav_svn_module modules/mod_dav_svn.so  
3.在  /etc/httpd/conf.d下创建project1_svn.conf配置文件加入以下内容
<Location /project_1>  
    DAV svn  
    SVNParentPath  /svn_repos/project_1
    # Authentication: Basic  
    AuthName "Subversion repository"  
    AuthType Basic  
    AuthUserFile /etc/httpd/svn-auth.htpasswd  
    # Authorization: Authenticated users only  
    <LimitExcept GET PROPFIND OPTIONS REPORT>  
        Require valid-user  
    </LimitExcept>  
</Location>  

<Location /projetc_1>中的"/project_1"表示我们的svn的访问URL为"http://ip/project_1"  
DAV svn表示使用"mod_dav_svn"模块 dav是一种http 1.1扩展协议 mod_dav_svn只是该协议的一种应用  
SVNParentPath /svn_repos/project_1表示服务"http://ip/project_1"请求时 使用"/svn_repos/project_1"路径下相应的内容
<以下内容可以不加>
AuthName 表示输入用户名和密码时的提示信息  
AuthType 认证类型 这里我们使用基本的认证类型  
AuthUserFile 表示认证文件的位置 我们待会创建它  
LimitExcept 节点指示只对写请求需要用户认证  

4.创建svn-auth.htpasswd 文件
htpasswd -c -m /etc/httpd/svn-auth.htpasswd root  

按提示输入两次密码,我们就创建了一个'root'

重启Apache访问Http服务

# service httpd restart

现在就可以通过”http://ip/project_1“ 来访问我们的svn服务器project_1项目库了
如果想创建多个项目,可以根据上面步骤新建一个