您的位置:首页 > 运维架构 > Linux

CentOS6.X下安装配置独立SVN服务器|Subversion server

2015-08-27 10:03 656 查看
Hi 大家好,今天我们来安装一个Subversion服务吧,Subversion server其实就我们日常说的SVN服务,Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控***务已从CVS转移到Subversion。svn服务器有2种运行方式:独立服务器和借助apache运行。下面我安装独立SVN
首先,清除一下yum的缓存吧,yum clean all【一】安装 subversionyum install subversion subversion-devel

然后选择y(yes)确认安装,当然你可以在yum install 的时候加个 -y 参数执行 svnserve --version 命令,如果输入已下信息则说明安装成功

这里要注意一点,我这次安装svn版本为:1.6.11===================================================================================【二】下面我们来配置subversion1)创建svn工作目录mkdir -p /data/svn
2)创建版本库,可以同时指定存储模式为FSFSsvnadmin create --fs-type /data/svn/zhongyilin.com(这个库名,你可以自己起)或者你可以使用
svnadmin create /date/svn/zhongyilin.org(通上库名,自己起)注意,svn使用自带的FSFS数据库作为默认的数据存储模式,所以在创建版本库时,也可以不指定数据存储模式,根据需求,你可以自己创建库的数量。这里我就创建一个库3)查看版本库中相关信息 ll /data/svn/zhongyilin.com/db/ | grep fsfs.conf-rw-r--r--. 1 root root 1920 May 14 13:50 fsfs.conf
ll /data/svn/zhongyilin.comtotal 24drwxr-xr-x. 2 root root 4096 May 14 13:50 confdrwxr-sr-x. 6 root root 4096 May 14 13:50 db-r--r--r--. 1 root root 2 May 14 13:50 formatdrwxr-xr-x. 2 root root 4096 May 14 13:50 hooksdrwxr-xr-x. 2 root root 4096 May 14 13:50 locks-rw-r--r--. 1 root root 229 May 14 13:50 README.txt

4)导入所管理的项目相应的版本库
svn import /需要导入的路径 file:///data/svn/zhongyilin.com -m "import"ps:如果您和我一样,是在一台新机器上安装的Subversion server的话,可以忽略这个(4)步骤
5)检查是否导入成功svn list --verbose fille:///data/svn/zhongyilin.com[root@Nutcracker ~]# svn list --verbose file:///data/svn/zhongyilin.com/ 0 ? May 14 13:50 ./[root@Nutcracker ~]# ll /data/svn/zhongyilin.com/total 24drwxr-xr-x. 2 root root 4096 May 14 13:50 confdrwxr-sr-x. 6 root root 4096 May 14 14:09 db-r--r--r--. 1 root root 2 May 14 13:50 formatdrwxr-xr-x. 2 root root 4096 May 14 13:50 hooksdrwxr-xr-x. 2 root root 4096 May 14 13:50 locks-rw-r--r--. 1 root root 229 May 14 13:50 README.txt
=======================================================================================【三】配置svn的用户密码验证文件和用户权限验证文件1.用户密码验证文件的配置mkdir -p /etc/svn/conf
cp -rva /data/svn/zhongyilin.com/comf/* /etc/svn/conf


下面我们来修改/data/svn/zhongyilin.com/conf 和 /etc/svn/conf里的配置文件首先修改zhongyilin.com/conf里的配置文件(其实先该那个都一样,其实也可以不cp出来,cp出来是为了方便多库的用户密码权限管理)vim /data/svn/zhongyilin.com/svnserve.conf



修改: 去掉第12行和第13行的#号 去掉第20行的#号,并且指定路径为/etc/svn/conf下的paaswd 去掉第27行的#号,并且指定路径为/etc/svn/conf下的authz 去掉第32行的#号。友情提示:为了避免出现svnserve.conf:12: Option expected类似这个报错你需要在去掉#号的时候再按一个退格键,一定要让12行13行20行27行还有32行顶头,前面不能有空格哦
然后,我们再去/etc/svn/data/conf里进行文件配置添加用户和密码vim /etc/svn/conf/passwd内容如下
### This file is an example password file for svnserve.### Its format is similar to that of svnserve.conf. As shown in the### example below it contains one section labelled [users].### The name and password for each user follow, one account per line.
[users]# harry = harryssecret# sally = sallyssecret我们可以删除上面两用户自己经行创建,格式是 用户名 = 密码注意:如需添加多个用户,按照此格式依次添加即可(用户名 = 密码)。例如:
[users]zhongyilin = 19901123liulisha = lisha198708liuchao = liuchao1989用户名 = 密码 【用户名 = 密码 的格式进行创建】上面我只是举个例子,这里我就就创建一个用户为zyl 密码zyl的账号,来进行测试
用户权限验证文件配置vim /etc/svn/conf/authz内容如下### This file is an example authorization file for svnserve.### Its format is identical to that of mod_authz_svn authorization### files.### As shown below each section defines authorizations for the path and### (optional) repository specified by the section name.### The authorizations follow. An authorization line can refer to:### - a single user,### - a group of users defined in a special [groups] section,### - an alias defined in a special [aliases] section,### - all authenticated users, using the '$authenticated' token,### - only anonymous users, using the '$anonymous' token,### - anyone, using the '*' wildcard.###### A match can be inverted by prefixing the rule with '~'. Rules can### grant read ('r') access, read-write ('rw') access, or no access### ('').
[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]# harry_and_sally = harry,sally# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]# harry = rw# &joe = r# * =
# [repository:/baz/fuz]# @harry_and_sally = rw# * = r
注意:用户权限验证文件中出现的用户名必须在passwd文件中有定义过,对用户权限验证文件authz的修改会立即生效,如果需要在用户组中添加多个用户,格式如下:用户组名 = user1,user2依次类推...
这里说明一下,如果你感觉会很乱,你可以自己进行修改,只要留下[aliases] [groups] 和你自己库名 [aliases]下面可以删除光什么也不写。[groups] 你的自己设置组,组名你可以自己起,格式是组名 = 用户名 我刚才创建的库是zhongyilin.com 所以我需要手动添加上这个库[zhongyilin.com:/]在这个库下面添加组和权限,如下:@svnadmin = rw同时,为了避免出现authorization failed 的现象,务必在authz文件的最低下添加/(根权限)[/]@svnadmin = rw========================================================================================如果你感觉我说的有点晕,我把我的配置给您写出来[aliases]
[groups]svnadmin = zyl

[zhongyilin.com:/ ]
@svnadmin = rw
[/]@svnadmin = rw

这就好了,如果你用户多的话,你就往passwd文件里加用户,然后在authz里吧用户加到组里,再给组配置权限
到这里基本算是安装配置完成,能不能用呢?我们来启动服务
启动和终止svn服务/usr/bin/svnserve -d -r /data/svn说明:-d 表示以daemon方式运行(后台运行)-r /data/svn 指定根目录是/data/svn[root@Nutcracker ~]# ps aux | grep svnroot 1664 0.0 0.0 152776 732 ? Ss 15:53 0:00 /usr/bin/svnserve -d -r /data/svnroot 1666 0.0 0.0 103240 852 pts/0 S+ 15:54 0:00 grep svnpkill -9 svnserveps aux | grep svnroot 1669 0.0 0.0 103240 856 pts/0 S+ 15:54 0:00 grep svn
添加开机自动启动echo "/usr/bin/svnserve -d -r /data/svn" >> /etc/rc.local
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++既然启动没问题,我们在windows上装一个小王八,来进行一下使用测试吧首先你要去官网上、下载小王八。


我已经下载好了,下载我就往本文里写了,如果自己找不到,需要连接的,请留言我再启动一台虚拟机来经行截图测试


在我虚拟机里我拖进去了svn的客户端程序,和客户端汉化程序,程序安装就是无脑的下一步,下一步软件安装我就不演示了


因为我安装了汉化包,所有在设置里改为简体中文,下次就显示中文了。

选择svn检出,然后你会得到下面的画面,你需要吧svn的地址写上


友情提示,为了实验不出错误,记得刚才我们pkill -9 svnserve管了svn服务了吗?再把他启动起来/usr/bin/svnserve -d -r /data/svn在版本库URL:下面里写上你的svn地址和库,格式如下svn://IP/库名然后点击确定,你就会看见下面的图,记得我刚才创建的用户吗?

对,zyl,密码zyl,点击确定后,你会看见svn检出成功

点击确定,svn服务就可以用了

===================================================================================
其实到上面已经算完成了,下面我来教大家最简单的使用或者说测试方法吧。一个简单测测试双击进入zhongyilin.com这个文件夹后,新建一个txt,邮件然后提交

把刚才上传的新建文档.txt删除掉,然后右击,svn更新,删除的新建文件文本文档就回来了

当然,你可以在文本里写东西,该东西等等,我就不介绍了,相信不少人知道滴怎么使用。
一个Perfect滴SVN SERVER就部署完成了。现在已经可以使用了,当然,如果你生生产环境的话,根据自己需求来进行更细一步的配置,如果只是使用,就在passwd文件里添加用户,在authz文件里设置组和权限,最后感谢大家能看完我这啰嗦的文章。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: