“由于目标机器积极拒绝,无法连接”。解决方案如下:
1windows自带的或用户自己安装的防火墙屏蔽了相应的端口
2客户端主机由于路由等原因无法连接到svn服务器主机
3客户端错误地配置了代理
4其它 可以先用以下命令测试一下服务器是否有回应,如果没有,就应该检查网络连接方面的 问题
如果有回应,应再根据客户端具体的出错提示来查找原因 telnet 服务器IP 端口 如:
1 telnet 19216801 3690
设置端口,如下图所示:
5确定打开服务的控制台窗口未被关闭
启动VisualServer服务器
右键点击Users,填入用户名和密码
创建Groups:右键点击Groups,选择Create Groups
右键Repositories,输入仓库的名称
配置仓库结构,这里选择的是默认,点击Next下一步即可
之后是配置仓库的访问权限,这里我们点击Custom, 然后点击Add
根据自己的需要,来相应的权限这里有三种权限:
Sepical :Everyone 是任何人都可以访问的
Groups: 所有在组里面的成员用户都可以访问
Users:单一的用户可以访问
点击Create,进行仓库的创建
查看仓库名称,以及仓库的访问Url,还有相应的用户权限,如果无误,点击Finish
配置服务器的访问IP地址:
右键软件启动之后的界面,右键VisualSVN Server,并点击Properties
点击Network,并选中的These IP addresses
点击Add,并填入127001 ,点击OK完成
之后点击确定,VisualServer配置完成
通常,很多Linux发行版已经自带了svn软件,安装系统时候选择即可。因此,本文并不讲解如何安装svn相关软件,而是重点总结一下如果使用svnserve服务器来构建自己的代码仓库,并且允许别人远程访问。本文的整个内容参考了svn手册。一、新建并初始化版本库
1新建代码仓库
# svnadmin create /home/myrepos
这样,我们就在/home目录下新建了版本库myrepos。
2初始化代码仓库
#mkdir -p code/{branches,tags,trunk}
按照svn手册上的建议,我们版本库的布局采用branches/tags/trunk这样的三个目录。然后可以将代码直接拷贝的trunk目录,也可以随后采用svn add的方式添加。
#svn import code file: ///home/myrepos
将我们构造好的版本库布局(以及代码,如果已经拷贝到trunk下的话)提交到版本库。由于这里我们是在本地 *** 作,因此可以直接使用file协议方式提交。格式为:file:// + 版本库绝对的路径
OK,到这里我们已经构建了一个本地版本库,可以再本地使用svn ci的方法得到版本库的副本了。如果前面只是提交了版本库布局,而没有提交代码的话,则可以通过如下命令,提交版本代码:
#svn co file: ///home/myrepos/trunk repos
通常只从主线目录trunk下取出源码,放在了新建的repos目录。然后可以将源码拷贝到repos目录。
执行以下两条命令将代码添加的版本库。
#svn add
#svn ci -m "Committed codes"
首先需要将拷贝的代码加入到当前的副本中,然后将代码提交到版本库。
二、配置并启动svnserve
1 配置svnserve
这一步主要完成远程用户访问版本的权限。
在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:authz,passwd,svnserveconf。
(1)svnserveconf
此文件重点的设置内容如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-acces s和auth-access分别代表设置匿名用户和授权用户的访问权限。read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户访问的话,可以设置anon-access = none。
password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。
authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。
(2)passwd
如前面介绍,这个文件的主要内容如下
[users]
harry = harrysecret
sally = sallyssecret
以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。
(3)authz
[groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# = r
以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。
本文的讲解并未用到authz的配置。
2 启动svnserve
#svnserve -d -r /home/
svnserve将以守护进程的方式运行。同时,通过-r选项指定了版本库的目录。这个目录可以是版本库的上级目录(/home),也可以是版本库的目录(/home/myrepos)。具体的区别会在后面讲到。当然,也可以不用-r指定。
三、远程访问svnserve。
假设版本服务器的地址为10111,那么用户可以在远程linux端输入命令:
#svn checkout svn://10111/myrepos myrepos
这样版本库的所有内容都被check出来,存放在当前目录myrepos下。这里相当于使用svn协议,不用搭建>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)