CentOS下SVN服务器的搭建使用
转载自:http://ailurus.blog.51cto.com/4814469/1168481
SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,各有利弊,下面就介绍一下这两种方式各自的部署步骤。
1、作为独立服务器运行:
①安装svn,使用本地yum源安装,操作系统镜像里自带的就有,yum install svn,具体步骤请参考http://ailurus.blog.51cto.com/4814469/1168336;
②创建版本库:
|
1
2
|
mkdir /svn/project //创建版本库所在文件夹svnadmintype fsfs /svn/project/first //创建版本库,如果需要使用bdb方式存储,则将fsfs改成bdb即可 |
③初始化版本库,即导入文件到版本库中:
|
1
2
|
svn import /home/software///svn/project/first--messagesvn///svn/project/first |
④启动svn服务,svn服务默认端口为3690,可以使用“netstat -ntlp”命令查看服务启动是否成功:
|
1
|
svnserve/svn/project/first |
⑤修改策略控制文件,vi authz,如果以后要添加用户,就将用户名加在相应的用户组(admin或者user)后面即可:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
################################################[aliases]#[groups]##admin=first,second,third //用户组admin包含的成员user=anyone //用户组user包含的成员#######[/]@admin=rw //用户组admin内成员拥有读写权限@user=r //用户组user内成员拥有读权限 |
⑥添加svn访问用户,vi passwd,为authz里分配的用户设置密码,等号左边为用户名,等号右边是密码;
|
1
2
3
4
5
6
7
8
9
10
11
|
############[users]##first=firstsecond=secondthird=thirdanyone=anyone |
⑦修改svn读取的权限策略文件,vi /svn/project/first/conf/svnserve.conf:
|
1
2
3
4
|
anon-access//不允许匿名用户读写auth-accesspassword-dbpasswd //svn读取的passwd文件authz-db//svn读取的权限控制文件 |
⑧安装svn客户端,就可以使用客户端通过如下的url就可以访问了:
svn://IP地址/svn/project/first
2、借助apache服务器,通过web端访问svn:
①给apache服务器安装两个svn插件,这两个插件同样可以使用yum安装:
|
1
2
|
yum install mod_dav_svn //使subversion与dav模块通信的功能yum install mod_authz_svn //实现权限控制功能 |
②使用命令“httpd -M”可以查看是否加载这两个模块,如加载,则有如下回应:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
Loaded core_module mpm_prefork_module http_module so_module auth_basic_module auth_digest_module authn_file_module authn_alias_module authn_anon_module authn_dbm_module authn_default_module authz_host_module authz_user_module authz_owner_module authz_groupfile_module authz_dbm_module authz_default_module ldap_module authnz_ldap_module include_module log_config_module logio_module env_module ext_filter_module mime_magic_module expires_module deflate_module headers_module usertrack_module setenvif_module mime_module dav_module status_module autoindex_module info_module dav_fs_module vhost_alias_module negotiation_module dir_module actions_module speling_module userdir_module alias_module substitute_module rewrite_module proxy_module proxy_balancer_module proxy_ftp_module proxy_http_module proxy_ajp_module proxy_connect_module cache_module suexec_module disk_cache_module cgi_module version_module authz_ldap_module dav_svn_module authz_svn_moduleSyntax |
③编辑apache服务配置文件vi /etc/httpd/conf/httpd.conf,加入下面几行:
|
1
2
3
4
5
6
7
8
|
<Location /svn>DAVSVNPath /svn/project/firstAuthzSVNAccessFile /etc/httpd/conf.d/authz //apache服务器读取的权限策略文件AuthTypeAuthName "Project"AuthUserFile /etc/httpd/conf.d/passwd //apache服务器读取的密码存储文件Require |
④编辑文件authz放在文件夹/etc/httpd/conf.d中,文件格式同文章上面的那个authz文件,编辑文件passwd放在文件夹/etc/httpd/conf.d中,使用如下命令生成用户名和密码:
|
1
|
htpasswd/svn/project/first admin //命令为htpasswd,-c为参数,/svn/project/first为访问的版本库,admin为用户名 |
然后重复输入你想设置的密码就可以自动存储在文件passwd中,默认为md5存储。
⑤重启apache服务,就可以在网页端使用刚才设置的用户名密码访问了,网址为http://IP地址:端口/svn.
3、配置多项目创建维护:
其实过程也比较简单,只需要在原来的基础上修改一点信息就可以了。
举个例子,比如有first和second两个项目,要实现多项目的启动管理,只需要修改对应项目配置文件authz的管理路径即可,如下:
单项目:
|
1
2
3
|
[/] @admin=rw @user=r |
启动:svnserve -d -r /svn/project/first或者svnserve -d -r /svn/project/second,无法同时启动多个项目,因此也就无法同事访问多个项目;
多项目:
|
1
2
3
4
5
6
|
[first:/]@admin=rw@user=r[second:/]@admin=rw@user=r |
启动:svnserve -d -r /svn/project/,这样就可以启动所有project下的项目了。
很容易理解,但项目里的“/”代表项目根目录,可以使这样“/svn/project/first”或者“/svn/project/second”,多项目里的“/”代表“/svn/project”,在此基础上加上“first:”或者“second:”就切到对应项目里了。
CentOS下SVN服务器的搭建使用的更多相关文章
- linux(centos7)下SVN服务器如何搭建
linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...
- centos7下SVN服务器如何搭建
Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(ce ...
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- Windows下SVN服务器的搭建步骤
1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...
- linux(centos)下SVN服务器如何搭建
检测是否符合pptp的搭建环境的要求 使用下面的指令: 123 cat /dev/net/tun如果这条指令显示结果为下面的文本,则表明通过:cat: /dev/net/tun: File descr ...
- 阿里云(centos)下svn 服务器搭建
安装说明 系统环境:阿里云centos安装方式:yum install subversion 检查已安装版本 #检查是否安装了低版本的SVN[root@localhost /]# rpm -qa su ...
- linux下svn服务器的搭建
网上的教程实在是太恶心了,不是太老,就是有问题,刚参考的一篇文章也有问题.自己记录下来,以后用就方便了,现在一边重新安装一遍,一边记录.笔者亲测,今天是5月29号深夜. linux用的是centos6 ...
- [svn] linux 下svn服务器的搭建
1. 下载svn(subversion) yum install subversion 2.查看svn位置(其实看不看都无所谓) 3.创建svn版本库目录 svnadmin create /home/ ...
- Windows下SVN服务器搭建方法整理(apache)
http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...
随机推荐
- MongoDB从环境搭建到代码编程(Window 环境)
本人开发环境: window Server 2008 , 64位系统 服务端 MongoDB下载地址:http://www.mongodb.org/downloads (本人己下好的在百度网盘 : ...
- JS 实现随机验证码功能
1.验证码 验证是网页常出现的一个验证点,所谓验证码类型有很多,下面代码只是实现一个简单的验证功能. <div> <input type = "text" id ...
- web前端/移动端H5博客专家博客大全--值得收藏的前端技术大牛博客地址
web前端/移动端H5博客专家博客大全--值得收藏的前端技术大牛博客地址 Huang Jie Blog .Com-前端开发 http://www.huangjieblog.com/?feed=rs ...
- [转]Android UI 自动化测试
介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程 ...
- 多个Target的使用
背景介绍 开发过程中,我们会在内网搭建一个测试服务器,开发.测试都是在内网进行的.这样产生脏数据不会影响外网的服务器.外网服务器只有最后发布时才会进行一些必要的测试. 还有就是要对同一份代码生成不同的 ...
- Android Open Source Projects(汇总与整理)
Android Open Source Projects 目前包括: Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager ...
- Qt 绘制汽车仪表 指针旋转锯齿问题
在前面几篇中出现的问题 http://blog.csdn.net/z609932088/article/details/53946245 这个是在QWidget下绘制的,出现了指针有锯齿的问题 后面开 ...
- CentOS 6.5 下安装redis
1.登录虚拟机后,直接输入命令:yum -y install redis 会出现一个错误: 是因为少了epel源, 2.运行:yum -y install epel-release 最后出现 Comp ...
- 【WebService】——阶段小结
[概念] WebService集中解决了远程调用.跨平台和跨语言的问题.如下图中,A应用与B应用之间的相互调用不再局限于平台(Linux或Windows).语言(Java和C#). [与xml] 提到 ...
- Flink History Job
history job的写入1. org.apache.flink.runtime.jobmanager,Object JobManagerrunJobManager中指定使用MemoryArchiv ...