找了大半个百度,试了好几教程,发现TM 全百度都一个样,看着流程都不对,全部都是复制的,浪费我时间。以下是站长亲自编写,希望能帮到大家。

 

1.安装 http svn 支持
yum -y install mod_dav_svn
#会自动安装mod_dav_svn及其依赖包:mod_dav_svn-1.6.11-9,neon-0.29.3-2,pakchois-0.4-3.2,subversion-1.6.11-9

 

2.安装httpd
yum install http -y

 

3.安装subversion
yum install subversion* -y

4.配置SVN
#创建svn目录
mkdir -p /home/svn/repos1
#建立svn版本库
svnadmin create /home/svn/repos1
#修改svnserver配置
vi /home/svn/repos1/conf/svnserve.conf

 

1).
[general]
anon-access = none
auth-access = write
password-db = /home/svn/conf/passwd    #指向用户配置文件
authz-db = /home/svn/conf/authz               #指向权限配置文件
realm = repos1                                             #指向svn仓库地址

 

2).
[general]
anon-access = none
auth-access = write
password-db = /home/svn/conf/pwd.conf    #指向用户配置文件
authz-db = /home/svn/conf/authz.conf         #指向权限配置文件
realm = repos1                                               #指向svn仓库地址

 

#配置svn用户和权限
htpasswd -c /home/svn/conf/passwd lintao1  #用户1
#根据提示输入密码,第一个用户才需要加-c,后面的用户不需要-c

 

htpasswd  /home/svn/conf/passwd lintao2  #用户2
#根据提示输入密码。

 

vim /home/svn/repos1/conf/passwd
在用户最上方加上[users]
加上[users]这一步是很重要的,因为用htpasswd的方式加用户会覆盖掉[users],所以每次加完用户需要回去补一下该节点

 

#authz配置权限
vim /home/svn/repos1/conf/authz
#添加
[/]
lintao1=rw
lintao2=rw

 

到此svn配置完成。我们可以把默认的配置文件删除。

 

rm -rf /home/svn/repos1/conf/passwd
rm -rf /home/svn/repos1/conf/authz
##多个仓库则删除多个仓库对应的文件即可

 

#建立启动svn的用户

 

useradd svn                                #如果提示svn账户已存在,则执行以下命令
passwd svn                                 ##根据提示修改下密码,不能过于简单,可使用常用密码
chown -R svn:svn /home/svn/    ##允许用户svn访问版本库
chmod -R o+rw /home/svn         ##解决windows检出提交提示/home/svn/db/txn-current-lock’错误

 

#配置svn的端口
vim /etc/httpd/conf/httpd.conf
找到

 

#Listen 12.34.56.78:80这一行,

 

Listen 9999  ##9999就是svn的端口,默认是80,你可以修改成你自己想要的。不建议使用默认80端口。

 

#配置httpd

 

vim /etc/httpd/conf.d/subversion.conf

 

修改文件内容为:

 

<Location /svn>
    DAV svn
    SVNListParentPath on
    SVNParentPath /home/svn
    AuthType Basic
    AuthName “显示的名字:Authorization"
    AuthUserFile /home/svn/repos1/conf/passwd                 ##对应你的用户配置文件
    AuthzSVNAccessFile /home/svn/repos1/conf/authz        ##对应你的权限配置文件
    Require valid-user
</Location>

 

#重启 httpd

 

service httpd restart

 

#查看svn服务是否正常

 

ps aux|grep svn

 

#进入浏览器访问
在浏览器中输入:服务器Ip+端口+httpd配置中的<Location /svn>
如:http://192.168.1.1:9999/svn