Linux系统SVN安装指导配置说明

点击打开链接

遇到的问题及解决方法


Linux系统SVN安装指导配置说明

1 安装SVN前检查: 

检查是否安装SVN: rpm -qa subversion 

查看安装SVN版本信息: svnserve --version 

如果存在旧版本,卸载旧版本SVN: yum remove subversion 

 

2 安装SVN:  

yum install subversion 

 

3 代码库创建: 

 mkdir -p /root/svn/mohan

 svnadmin create /root/svn/mohan

 执行上面的命令后,自动建立mohan库,查看/root/svn/mohan 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。  

 

4 配置代码库: 

进入上面生成的文件夹conf下,进行配置:cd /root/svn/mohan/conf 

 

1)设置SVN用户及口令:修改文件passwd,如以下内容: 

目的是设置哪些用户可以访问SVN资源库 

[root@admin conf]# vi passwd 

[users]
# harry = harryssecret
# sally = sallyssecret
hello=123


# 这样我们就建立了1个用户,其中有个用户为hello, 密码123,以上语句都必须顶格写, 左侧不能留空格, 否则会出错. 

 

2)设置SVN用户访问权限控制:修改文件authz,如以下内容: 

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

 [root@admin conf]# vi authz 

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=hello

#设置[/]代表根目录下所有的资源  

[/]
@admin=rw

# 意思是admin组中的用户对mohan库下所有的目录有读写权限。以上语句都必须顶格写, 左侧不能留空格, 否则会出错. 

 

3)设置服务配置文件:修改文件svnserve.conf,如以下内容:

[root@admin conf]# vi svnserve.conf 

[general] 

#匿名访问的权限,可以是read,write,none,默认为read 

anon-access=none #使授权用户有写权限  

auth-access=write #密码数据库的路径  

password-db=passwd #访问控制文件  

authz-db=authz 

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字  

realm = /root/svn/mohan

# 以上语句都必须顶格写, 左侧不能留空格, 否则会出错. 

 

5 启动SVN服务: 

停止svn
killall svnserve   

启动SVN

svnserve -d -r /root/svn

1)带 -d 选项即可以作为一个单独的守护进程运行,-r 选项可以指定发布哪个目录下的版本库; 

2)一旦服务器运行,就在默认端口3690进行监听,使用 telnet 可以测试到 3690 端口已经开放了,如下: 

# telnet 127.0.0.1 3690 Trying 127.0.0.1... 

Connected to Hinex.VM (127.0.0.1). Escape character is '^]'. 

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) ) 

3)若需更改SVN服务默认端口: 

     查看端口使用情况:netstat -antp 

     启动svn和指定端口的方法是:svnserve -d --list-port 3700 -r /opt/svn/repos 

 

6 查看SVN服务是否正常: 

ps -ef|grep svn        或者  ps aux|grep svn 

 

7 SVN客户端TortoiseSVN连接访问服务端地址: 

svn://ip/mohan

记得让防火墙放过3690端口哦,不然无法访问,svn的默认端口是3690. 

 

此外,如果需要将一个 svn 服务器中的版本库移植到另外一台svn服务器上,可以直接将原版本库中 db 文件夹中的内容全部复制到新 svn 服务器相应版本库目录下即可,还要注意两个 svn 服务器所运行的 svn 版本,不同版本可能会出现不兼容情况。



----------------------------------------------------------------------------------------------------------------------


1、checkout时,提示:URL svn://192.168.1.99/svntestdoesn't exist...

奇怪,怎么会提示库不存在呢?肯定是哪里配置问题。后来尝试了半天,也在网上搜索了很久,终于发现问题所在。

如果你的svn库的路径为:/home/svn/svntest

那么你启动时,不能用命令:

svnserve -d -r /home/svn/svntest

而要用命令:

svnserve -d -r /home/svn/

2、commit时,提示:Authorization failed

开始一直以为是authz文件配置得不对,一直尝试,一直修改,还是不行,郁闷了。在确定authz的配置完全没问题后,开始查其它两个配置文件的问题。后来终于发现问题出在svnserve.conf这个文件。以下四行:

# anon-access =read

# auth-access =write

# password-db =passwd

# authz-db =authz

是被注释掉的,虽然文件说明里面说默认就是按注释掉的配置来执行,但好像并不是这样。放开注释:

anon-access =read

auth-access =write

password-db =passwd

authz-db = authz

问题解决。

PS:有些童鞋问文件上传到服务器后存放在服务器的哪个地方。

答:一般放在/home/svn/svntest/db/revs(根据我自己的目录结构)里面。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值