第一步:通过yum命令安装SVN,命令如下:
-> yum -y install subversion
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
第二步:创建版本库目录并初始化仓库
-> mkdir /var/svn/repo/xxx (创建目录,其中xxx为你的仓库名称)
-> svnadmin create /var/svn/repo/xxxx (初始化仓库)
执行结束后可到目录下查看,看到如下结果,刚svn仓库初始化完成
第三步:修改配置
进入到仓库下conf目录,如下
authz:负责账号权限管理,如某个仓库,哪些用户分别有读、写权限
passwd:账户的密码管理
svnserve.conf:主要是svn的配置管理
vi authz 进行编辑,在文件末尾添加如下内容,代表用户ys对仓库ys下所有目录及文件有r(read读)w(write写)权限,保存完成
vi passwd进行编辑,在文件末尾添加ys = ys,表示创建一个账户为ys,密码为ys的用户
vi svnserve.conf进行编辑,,找到如下4行,去掉注释,注意,前边空格也要去掉,否则可能出意想不到的错误。
至此svn配置完成,但大多数情况,此时并不能正常访问,还需要进行下一步操作
第四步:防火墙开启
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可
>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
>/etc/init.d/iptables save
>service iptables restart
第五步:启动svn服务器
终于配置完了,赶快启动看看
>svnserve -d -r /var/svn/svnrepos
第六步:客户端访问svn服务器
在windows客户端,输入地址:svn://ip:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的仓库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问
到此,Linux下svn服务器搭建就总结完毕,但很多情况我们会用http在浏览器直接访问仓库,为此还需要继续进行下一步操作
第七步:安装apache服务
-> yum -y install httpd
启动: service httpd start
重启:service httpd restart
重载:service httpd reload
第七步:配置apache
创建httppasswd文件,命令释义: 在/var/svn/repo/ys/conf目录下创建http_passwd文件来保存httpd访问svn的用户名密码。因为apache采用http协议,svn是tcp协议,他们的认证文件不能共用,因些需要另建一份。
-> htpasswd -c -m /var/svn/repo/ys/conf/http_passwd ys
接下来需要给apache用户添加权限,让其拥有svn仓库的写权限,并修改仓库所性用户及组为apache
第八步,添加apache-svn配置文件
说明:DAV为svn支持文件,svnpath为svn版本库目录,只有一个版本库时使用svnpath,如果有多个版本时使用 svnparentpath和svnlistparentpath配合使用;AuthaSVNAccessFile为权限文件目录,跟svn协议共同使用一个权限文件即可;AuthUserFile为用户认证文件,填入第3步配置的认证文件目录;Require为用户是否需要验证。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn/>
DAV svn
#SVNPath /home/svn
SVNListParentPath on
SVNParentPath /var/svn/repo
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/svn/repo/ys/conf/authz
AuthUserFile /var/svn/repo/ys/conf/http_passwd
Require valid-user
# </LimitExcept>
</Location>
到这里,svn及apache配置完成了,可以执行 service httpd restart重启apache服务,并在浏览器中输入地址就能访问了。
来源:CSDN
作者:钟景阳
链接:https://blog.csdn.net/u010200829/article/details/82223344