Linux svn服务端配置

Linux svn服务端配置

检查已安装版本

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

#如果存储旧版本,卸载旧版本SVN
[root@localhost modules]#yum remove subversion

安装SVN

[root@localhost modules]#yum install subversion 

验证安装

检验已经安装的SVN版本信息
[root@localhost modules]# svnserve --version

svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 201200:44:03

版权所有 (C) 2000-2009 CollabNet
Subversion 
是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用:

fs_base 模块只能操作BDB版本库。
fs_fs 
模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。

代码库创建

SVN软件安装完成后还需要建立SVN
[root@localhost modules]#mkdir -p /opt/svn/             #
创建SVN根目录
[root@localhost modules]#svnadmin create /opt/svn/repo         #
创建repo测试库
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置
[root@localhost modules]#cd /opt/svn/repo/conf

用户密码passwd配置

[root@localhost password]#cd /opt/svn/repo/conf
[root@admin conf]#vim passwd
修改passwd为以下内容:

[users]
harry harryssecret
sally sallyssecret

hello 123

aaa 123

www 123

用户名=密码

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

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

权限控制authz配置

[root@admin conf]#vim authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[groups]            #

admin hello,www   #创建一个admin组,将用户加入到组

[/]                 #根目录权限设置(就是“svn”这个文件夹)

aaa rw            #aaasvn下的所有版本库有读写权限

[repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限

@admin rw         #admin组的用户对repo版本库有读写权限

[repo2:/occi], ,表示对版本库repo2中的occi项目设置权限

[repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限  权限主体可以是用户组、用户或*,用户组在前面加@*表示全部用户。权限可以是wrwr和空,空表示没有任何权限。

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

服务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/repo

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

配置防火墙端口(或直接关闭防护墙)

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

启动SVN

svnserve -d -r /opt/svn/         #指定SVN根目录

查看SVN进程

ps -ef|grep svnserve

使用import导入文件

svn import /mnt/ file:///opt/svn/repo/-m "注释"

增加           /mnt/hgfs

提交后的版本为 1

检测SVN 端口

[root@localhost conf]#netstat -ln |grep 3690
tcp   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


启服务器及测试:

1,启SVN服务,并指定SVN的根目录:

[root@youxia201 test]# svnserve -d -r/opt/svn/

使用checkout导出文件

在这里特别的要注意,/opt/svn是仓库的根目录,不要和[svntest:/]目录重叠了。如果重叠是会提示错误

[root@localhost conf]# svn checkoutsvn://127.0.0.1/repo  #本机测试,必需写错127.0.0.1

认证领域/opt/svn/repo

root”的密码直接回车

认证领域/opt/svn/repo

用户名hello

hello”的密码


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

注意你的密码,对于认证域:


  /opt/svn/repo


只能明文保存在磁盘上如果可能的话,请考虑配置你的系统,让 Subversion

可以保存加密后的密码。请参阅文档以获得详细信息。


你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,

来避免再次出现此警告。

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

保存未加密的密码(yes/no)?yes

取出版本 1

不让它每次输入都提示yes/on的办法

编辑vim /root/.subversion/servers   找到下行去掉#号将on改为yes上面绿色部分已提示

store-plaintext-passwords no

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

到此,SVN服务端就配置完成了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值