设为首页 收藏本站
查看: 219|回复: 0

[经验分享] centos6.4 安装 svn

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-29 10:27:52 | 显示全部楼层 |阅读模式

centos 安装 svn

1.svn简介
Subversion是新一代的版本控制工具,不仅仅应用于程序源代码管理,也可以广泛应用于其他需要协作管理数据的工作。作为CVS 的重写版和改进版,其目标就是作为一个
更好的版本控制软件,取代目前流行的CVS。个人是比较倾向于使用git的,不过公司里的开发们都喜欢用svn,那就给他们部署了svn。下面开始安装。

2. 安装
源码编译太麻烦,还是rpm包方便,直接使用yum安装即可。

yum install -y subversion

3. 创建仓库
svnadmin create /PATH/pro
pro为项目名称,/PATH/可写也可以不写,不写时候会在执行命令的当前目录生成pro目录,建议还是写绝对路径,起码自己清楚。
仓库创建完成后,生成的目录结构如下:
pro
├── conf
│   ├── authz
│   ├── passwd
│   └── svnserve.conf
├── db
│   ├── current
│   ├── format
│   ├── fsfs.conf
│   ├── fs-type
│   ├── min-unpacked-rev
│   ├── rep-cache.db
│   ├── revprops
│   │   └── 0
│   │   └── 0
│   ├── revs
│   │   └── 0
│   │   └── 0
│   ├── transactions
│   ├── txn-current
│   ├── txn-current-lock
│   ├── txn-protorevs
│   ├── uuid
│   └── write-lock
├── format
├── hooks
│   ├── post-commit.tmpl
│   ├── post-lock.tmpl
│   ├── post-revprop-change.tmpl
│   ├── post-unlock.tmpl
│   ├── pre-commit.tmpl
│   ├── pre-lock.tmpl
│   ├── pre-revprop-change.tmpl
│   ├── pre-unlock.tmpl
│   └── start-commit.tmpl
├── locks
│   ├── db.lock
│   └── db-logs.lock
└── README.txt

4. 修改配置文件
仓库的配置文件如下:
conf
├── authz #用户权限配置文件
├── passwd #用户账号密码配置文件
└── svnserve.conf #仓库配置文件

修改 svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
注意: 所有的行都必须顶格,否则报错。

修改passwd
[users]
harry = harryssecret
sally = sallyssecret
注意:如果[users]之前的有‘#’,那么svn只能使用匿名登录;这里的密码全部为明文。

修改authz ,在[group]下配置用户的分组和对不同目录的访问权限
[groups]
admin = li #设置分组,admin组,包含用户 li
dev = long,ning #设置分组,admin组,包含用户 long,ning 不同用户使用都好分隔

[pro:/] #设置仓库pro的根目录权限,admin组有度读写权限,*= 设置其他人不能访问,*=中间不要有空格,不然会出问题。
@admin = rw
*=

[pro:/dev] #设置仓库pro下dev目录权限,dev组有度读写权限,*= 设置其他人不能访问,*=中间不要有空格,不然会出问题。
@dev = rw
*=

5. 启停svn
单仓库:
启动: svnserve -d -r /PATH
停止: kill -QUIT `ps aux |grep svn|grep -v grep|awk ‘{print $2}’`

多仓库:
因为大多数的时候,同一个用户需要用相同的帐号和密码去访问不同的版本库,这时的权限配置就不好处理了,以前看其他人的解决方法是在svnserve.conf中指定
passwd和authz的路径时用相对路径指到同一个文件。这是一个可行的方法,但新增版本库的时候,就得更改svnserve.conf文件,不方便。
仔细看svnserve的帮助信息,大家都会发现有一个–config-file参数,这个参数就是用来指定svnserve.conf路径的,说到这,问题已经明了,只要在启动SVN服务的时候
,指定–config-file参数,只要指定了此参数,所有的权限都由参数指定的svnserve.conf控制,而每个版本库conf目录下的svnserve.conf的配置都会忽略掉,具体启动
参数如下
svnserve -d -r /PATH –config-file /PATH/svnserve.conf
因为我们是使用yum安装的svn,查看/etc/rc.d/init.d/svnserve 服务启动脚本会发现 脚本会先判断是否存在/etc/sysconfig/svnserve文件,如果存在就会导入这个文
件,所以我们只要把配置信息写在这里,就可以方便管理多个版本库,当然,指定到其他位置也可以,修改脚本即可。
#vim /etc/sysconfig/svnserve
OPTIONS=”-r /data/svn –config-file /data/svn/svnserve.conf”
然后在配置指定配置文件中指定的authz和passwd文件即可
这个时候就可以像启动其他服务一样启动svn了。

注意,即使svnserve服务已经运行,修改配置文件或者用户、权限管理文件,保存后马上生效,不需要重启。







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-91855-1-1.html 上篇帖子: linux X11窗口转发配置简记 下篇帖子: RHEL/CentOS配置epel源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表