各位大神,如果发现有问题的地方,可以联系QQ: 1419544854;请各位大神指正,小弟不胜感激!!!
-----------------------------------------------------------------------------------------------------------------------------------------------------------
什么是svn ?
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
一、开始安装SVN:
官网下载:http://subversion.apache.org/packages.html
SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html
系统环境:Redhat、centos
1. 通过yum命令安装svnserve,命令如下:yum -y install subversion
2. 创建版本库目录(为后面创建版本库提供存放位置进行数据存储):mkdir /svn/svndata -p创建svn的配置文件信息路径:mkdir -p /svn/svnpasswd
3. 创建svn版本库,在第二步建立的路径基础上,创建版本库,命令如下:svnadmin create /svn/svndata/banbenku
可以使用svnadmin --help命令查看如何创建版本库。
创建成功够进入版本库目录,有如下文件:
conf(d);db(d);format(f);hooks(d);locks(d);README.txt
4. 在版本库目录的conf目录下,有如下三个文件:
authz;passwd;svnserver.conf
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf: svn服务器配置文件(修改此文件时可以进行先行备份个此文件)
5. 修改配置文件信息:vim svnserve.conf
anon-access = none //禁止匿名访问
auth-access = write //认证后有读的权限
password-db = /svn/svnpasswd/passwd //指定密码文件
authz-db = /svn/svnpasswd/authz //指定权限认证文件
realm = My First Repository6. 复制passwd和authz文件到banbenku的svnpasswd目录并修改权限,执行如下命令完成操作
cp -p authz passwd /svn/svnpasswd/
cd /application/svnpasswd/
chmod 700 authz passwd
7. 为版本库创建指定的用户并授权访问指定版本库:编辑passwd文件配置用户及密码:
编辑authz文件配置读取,或读写权限:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
!!注意:配置passwd,authz,svnserve.conf注意前面不能有空格!
8. 启动SVN,若前面启动过SVN,现在则把SVN重启即可。
svnserve -d -r /svn/svndata/ (可使用svnserve --help查看帮助)
备注:修改passwd和authz文件不需要重启svn服务而修改svnserve.conf则需要。
9. 最后安装客户端进行banbenku的配置是否正确:
svn --username=xiaozhang co svn://192.168.10.xxx/banbenku
10. 在window客户端需要安装TortoiseSVN软件,一直下一步就好。
打开TortoiseSVN Repository Browser工具,
在URL中输入: svn://192.168.10.xxx 回车,提示输入用户名和口令即可。
(1)命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误?
解决:启动svn服务的时候没有使用-r /svn/project参数,没有指明资源库的具体路径。使用# svnserve -d -r /svn/project/ 命令来启动就可以了,不要使用/etc/init.d/svnserver脚本。
(2) 执行命令# svn co svn://192.168.11.229/project时提示“svn: Authorization failed”错误?
解决:一般这种授权失败的错误原因都来自conf/authz文件的配置