CentOS 7.0 SVN搭建 (YUM安装)

  1. 检查已安装版本
    检查是否安装了低版本的SVN
[root@localhost /]# rpm -qa subversion

如果存储旧版本,卸载旧版本SVN

[root@localhost modules]# yum remove subversion

2 .安装SVN

[root@localhost modules]# yum install subversion

3 . 验证安装,检验已经安装的SVN版本信息

[root@localhost modules]# svnserve --version
[root@iZ25ugif9lgZ svn]#  svnserve --version
svnserve, version 1.7.14 (r1542130)
   compiled Sep  8 2015, 18:10:16

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

4 .代码库创建
SVN软件安装完成后还需要建立SVN库

[root@localhost modules]# mkdir -p /opt/svn/repo
[root@localhost modules]# svnadmin create /opt/svn/repo

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

5 .配置代码库
进入上面生成的文件夹conf下,进行配置

[root@localhost modules]# cd /opt/svn/repo/conf

用户密码passwd配置

[root@localhost password]# cd /opt/svn/repos/conf
[root@admin conf]# vim passwd

修改passwd为以下内容:

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

用户名=密码

这样我们就建立了hello用户, 123密码

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

权限控制authz配置

[root@admin conf]# vi  authz

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

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

[/]   或者写成[repl:/]
hello = rw

意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。

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

6 .服务svnserve.conf配置

[root@admin conf]# vim svnserve.conf

追加以下内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限 
auth-access=write
#密码数据库的路径 
password-db=passwd
#访问控制文件 
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
realm=/opt/svn/repositories

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

7 ,配置防火墙端口

[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容: 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙 
[root@localhost conf]# service iptables restart

8 .启动SVN

svnserve -d -r /opt/svn/repo

查看SVN进程

[root@localhost conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repo

检测SVN 端口

[root@localhost conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

停止重启SVN

[root@localhost password]# killall svnserve //停止 
[root@localhost password]# svnserve -d -r /opt/svn/repo // 启动

如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ --listen-port 3391

测试

SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.15.231
用户名/密码: hello/123
测试创建文件夹等操作。

创建版本库:
终端输入:svnadmin create [路径]
该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。

将文件导入版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
例如将当前目录导入版本库myproject:
svn import . file:///home/user/svn/myproject -m”导入文件”

从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径] [导出目标路径]
例如将myproject库中的文件导出到当前目录:svn cofile:///home/user/svn/myproject .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值