RedHat/Centos

关注公众号 jb51net

关闭
操作系统 > RedHat/Centos >

在CentOS系统中安装SVN版本控制软件的教程

张大鹏

在终端运行svn命令.如果没有安装,系统会提示安装
1.首先需要安装Subversion软件:


sudo apt-get install subversion

2.建立一个文件夹作为版本库的根目录


mkdir /var/svnroot/

这个目录本身不是版本库,只是拿来装版本库的目录
3.进入这个目录,创建版本库


cd /var/svnroot/
svnadmin create vlink

以后如果有多个项目,可以继续在/var/svnroot/下面create新的版本库
4.配置vlink cd /var/svnroot/vlink/conf/ ls

将会看到以下文件:


authz passwd svnserve.conf

首先编辑 svnserve.conf


vim svnserve.conf

其中 anon-access 表示 匿名用户的权限,auth-access 表示经过认证的用户的权限。去掉前面的#注释,顶格写。一般说来像这样就可以了:


anon-access = none
auth-access = write

然后看到下面有 password-db 这个配置项。 这个是配置使用的密码文件。


password-db = passwd

为了以后多个版本库同时运行,建议改这个文件到 /var/svnroot/下面。比如: /var/svnroot/passed


password-db =/var/svnroot/passed

同理,authz-db这个也是,像这样:


/var/svnroot/authz

然后有个东西叫做realm,这个貌似是连接svn服务器的时候的提示句子。。不过设置成vlink的名字肯定没错。比如 vlink


realm = vlink

其他的不管。保存退出。

6.编辑 /var/svnroot/passwd

这个简单,像这样就可以了:


[users]
username=password
username=password

7.启动svnserve


sudo svnserve -d -r /var/svnroot/

-r 后面的参数是svnroot位置,而不是某个版本库的位置
要关闭svnserve可以直接用 kill 结束掉那个进程
8.Configure iptables

如果服务器上设置了iptables的话,你需要开启3690端口.


iptables -A INPUT -p tcp -i eth0 --dport 3690 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 --dport 3690 -j ACCEPT

查看ipatbles: iptables -L 如果出现下面一行表示设置成功了: … ACCEPT tcp – anywhere anywhere tcp dpt:svn

9.测试 在本地

svn co svn://xxx.xxx.xxx.xxx/vlink –username xxx –password xxx

如果还有问题的我建议是将svnserve.conf文件中的有关authz注释掉,在测试。

我做的时候是有上面的问题,后来师兄注释掉后就好了,具体我也不明白什么原因

如何将想要的svn库中文件备份导出和导入呢(这里我没有测试过,大家可以测试一下,我们共同探讨)

10.将原来的Repository导出为一个文件dumpfile


svnadmin dump path/to/old-repo > dumpfile.svn

将dumpfile导入到新的Repository


svnadmin load path/to/new-repo < dumpfile.svn

11.本机svn的快速迁移方法:


svnadmin hotcopy old_rep_path new_rep_path

12.将原先服务器的配置文件备份后复制到新服务器中


/etc/httpd/conf.d/subversion.conf

还有repository目录下的authfile、auth.conf也需要备份后复制到新服务器中
13.linux下重新定位SVN URL方法:

如果更换了SVN服务器,就需要重新定位,指向新的SVN URL。
重新定位命令:

svn switch --relocate
原svn地址 新svn地址

如何查看原svn地址?
查看原svn路径方法:

svn info