Centos6.5下yum搭建SVN服务器

1.Centos6.8下搭建SVN服务器

Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很
像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢
复到以前的版本,并可以查看数据的更改细节。Subversion是Apache基金会下的一个项目,官网 
https://subversion.apache.org/ 。

2.安装

yum -y install subversion

3.创建SVN版本库

mkdir -p /opt/svn/repos/svn1                      ##创建目录
svnadmin create /opt/svn/repos/svn1               ##创建SVN版本库

4.配置版本库

① cd /opt/svn/repos/svn1/conf 并且 vim passwd(添加用户):

[users]
# harry = harryssecret
# sally = sallyssecret
#
root = 123456
user2 = 12345

② vim authz(添加权限):

[svn1:/]
user1 = rw
user2 = rw

#svn1是具体版本库的标签

③ vim svnserve.conf(取消一些注释):

[general]
anon-access = none                    #非授权用户无法访问
auth-access = write                   #授权用户有写权限
password-db = passwd                  #密码数据所在目录
authz-db = authz  

5.启动SVN

svnserve -d -r /opt/svn/repos/    #注意目录,不包含svn1

ps aux | grep svnserve            #查看服务是否启动

6.测试SVN的服务器

svn co svn://192.168.1.111/svn1

7.如果想创建多个版本库

mkdir -p /opt/svn/repos/svn2                      ##创建目录

svnadmin create /opt/svn/repos/svn2

重复步骤4的配置方法

killall svnserve                                  #关闭svn服务
svnserve -d -r /opt/svn/repos/            #启动svn,注意目录,不包含svn2

8.删除版本库

rm -rf svn2/

9.同个svn库下根据不同的权限访问不同的目录

[groups]
 chanpin = user1,user2
 yanfa = user3,user4

[svn1:/]
test = rw
other = rw
anyone = rw
@chanpin = rw
@yanfa = rw

[svn1:/chanpin]
other = rw
@chanpin = rw
* =

[svn1:/yanfa]
anyone = rw
@yanfa = rw
* =

10.常见问题

① 不能连接到仓库 unable to connect to a repository url

原因:svn服务没有启动 
解决方法: svnservice -d -r /opt/svn/repos /opt/svn/repos是仓库地址。

② checkout时提示svnserver.conf错误

问题描述:svnserve.conf:19: Option expected 
原因:svnserve.conf中有空格出现 
解决方法:在anon-access或者auth-access前不能存在空格,这个空格隐藏了一个#号。所以会报错。

③ 仓库不存在

问题描述:URL svn://123.57.204.117/Android doesn’t exist 
原因:因为启动svn服务的时候,仓库路径写错了。楼主碰到这个问题是因为我的仓库地址
是/opt/svn/repos/myproject,启动服务时输入的地址是/opt/svn/repos/myproject。
解决方法:启动服务时,要输入仓库的上一级目录。比如楼主的正确启动地址应该是/opt/svn/repos。

④ Authorization failed

一般是conf/authz配置出错 
或者是svnserve.conf有些选项没有打开。

11.查看svn进程

① 命令:ps aux | grep svn

root      1407  0.0  0.0 160548  1056 ?        Ss   23:21   0:00 svnserve -d -r 
/opt/svn/repos/svn1/

root      1411  0.0  0.0 103244   872 pts/0    S+   23:27   0:00 grep svn

② 使用Kill命令杀死进程

kill -s 9 64434    (注释:64434为进程ID)

③ 检查svn是否安装成功

svnserve --version

④ 卸载svn

yum remove subversion

12.默认开机自启动svn

首先:编写一个启动脚本svn_startup.sh,我放在/root/svn_startup.sh
#!/bin/bash
/usr/bin/svnserve -d -r /home/svn/
这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。
绝对路径怎么查?
which svnserve
这里还有可能碰到一个问题,如果你在windows下建立和编写的脚本,拿到linux下,用vi或者vim修改后可能会无法执行,这是文件格式的问题

vi svn_startup.sh
输入:set ff 回车
如果显示的结果不是fileformat=unix
再次输入
set ff=unix
就OK了
然后修改该脚本的执行权限

chmod ug+x svn_startup.sh

或者万能的

chmod 777 svn_startup.sh
最后:加入自动运行

vi /etc/rc.d/rc.local
在末尾添加脚本的路径,如:
/root/svn_startup.sh
现在,你可以重启一下试试了。 不懂得怎么确认成功?败给你了

ps -ef|grep svnserve
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值