2018年04月6日网站服务器迁移完成……

linux下 搭建SVN 服务器

Linux 苏 demo 1942℃ 0评论

简要:最近需要在一台linux服务器上搭建svn服务,系统是redhat。接下来整理一下自己所进行的操作步骤。

SVN简介
SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。
SVN
中的一些概念 :
a. repository
(源代码库)
源代码统一存放的地方
b. Checkout 
(提取)
当你手上没有源代码的时候,你需要从repository checkout一份
c. Commit 
(提交)
当你已经修改了代码,你就需要Commitrepository
d. Update (
更新
当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) –>作出自己的修改并调试成功 –> Commit(大家就可以看到你的修改了)
如果两个程序员同时修改了同一个文件呢?SVN可以Merge这两个程序员的改动,对,合并,实际上SVN管理源代码是 以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件Confict, 冲突,需要手动确认。

TortoiseSVN简介

TortoiseSVN  Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件 服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种时间机器

 这里我们开始操作吧:

1.配置好yum,检查subversion 安装包

#yum list |grep subversion 结果显示 yum库里的svn安装包信息

#yum -y install subversion 开始进行svn的安装操作 -y 表示同意

2.安装完成以后,检查安装的状态#svnserve –version 结果显示svn的安装版本号信息

#netstat -nat 结果显示 tcp 3690端口的信息 注意查看是否为监听状态

3.创建svn版本库#mkdir /data/svndata 设置存放svn的文件路径信息

#chmod 777 -R /data/svndata 设置文件夹权限777

#svnadmin create /data/svndata/wealth 创建版本库 wealth为版本库名称

4.修改svnserver的配置配置说明

svnserve.conf —- svn服务配置文件,存在于svn版本库目录的conf目录下

passwd —用户名口令文件,该文件名以及存放位置可以 在svnserve.conf里进行设置,默认为 同目录。

authz —svn权限配置文件,该文件名以及存放位置也可以在svnserve.conf里进行设置,默认为同目录。

a.修改 svnserve.conf 文件

#vim /data/svndata/wealt/conf/svnserve.conf

[general]anon-access = none 控制非鉴权用户访问版本库的权限

auth-access = write 控制鉴权用户访问版本库的权限

password-db = /data/svndata/wealth/conf/passwd 用户口令文件路径设置
authz-db = /data/svndata/wealth/conf/authz  指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制
realm = wealth 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件
【注意事项】
在1.4版本anon-access =read参数的bug,anon-acccess =read时,客户端Checkout(提取)的时候会有Not authorized to open root of edit operation”错误,改为none参数正常

b.修改conf/passwd文件

#vim /data/svndata/wealth/conf/passwd

[users]

oraclelee = 123
c.修改conf/authz文件

#vim /data/svndata/wealth/conf/authz

修改

[groups]   设置组
group1 = oraclelee
[/]  根目录权限设置 (就是 “svndata”这个文件夹)
oraclelee = rw   (rw 代表 可读写,r可读,不可写)
@group1 = rw   (设置组权限)
保存即可。
5.启动和停止svn服务

#killall svnserve

#svnserve -d -r /data/svndata -d表示后台运行 -r指定根目录是/data/svndata

或者使用

#ps -aux |grep svn

查看进程ID ,然后kill掉即可。

配置到这里,基本就可以 使用svn客户端软件,进行版本库的浏览查看了。
查看地址 svn://192.168.0.178/wealth
弹出对话框,输入 你指定的用户名  ,密码即可。
PS:在整个配置过程中,很有可能会遇到各种各样的问题,欢迎大家前来补充,完善文章。
谢谢!
ps2:如果您感觉本文对您有用,请帮忙点击文章右侧和底部的广告位,支持一下博主。
打赏

转载请注明:苏demo的别样人生 » linux下 搭建SVN 服务器

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情