最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
centos6系统下配置svn服务器的步骤
时间:2022-06-30 21:28:45 编辑:袖梨 来源:一聚教程网
一,安装必须的软件包.
yum install subversion (SVN服务器)
mysql-server (用于codestriker)
httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)
sendmail (用于配置用户提交代码后发邮件提醒)
wget gcc-c++ make unzip perl* (必备软件包)
ntsysv vim-enhanced (可选)
二,基本的SVN服务器配置
1,新建一个目录用于存储SVN所有文件(这个文件代表这svn服务器的根目录)
# mkdir /home/svn
2,新建一个版本仓库
# svnadmin create /home/svn/project(project表示仓库目录)
3,初始化版本仓库中的目录
# mkdir project project/server project/client project/test (建立临时目录)
# svn import project/ file:///home/svn/project -m "初始化SVN目录"
# rm -rf project (删除临时建立的目录)
(这里临时建立的目录我们可以认为是我们将要导入到svn中的工程的目录
,这个工程不是直接放到svn服务器的仓库中的,而是通过import来进行导入,
这里的-m参数表示我们commit的时候的备注信息,project/ 表示我们要导入
的工程的目录,file:///home/svn/project表示我们导入的工程的目的路径)
###############下面是关于svn文件的配置,主要是人员权限的分配,
切记:配置文件中行首不能出现空格。###############
4,添加用户
要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了,
为了测试,我添加了如下内容:
(示例中的四个用户角色分表表示:工程管理员,服务端人员,客户端人员,测试人员)
[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
server_group = server_pw
client_group = client_pw
test_group = test_pw
5,修改用户访问策略
([project:/]中表示将要设置权限的目录,相对svn的目录。可以在里面直接添加人员的权限,
也可以以@群组名来指定权限,[groups]中的群组中人员有多个,以英文,隔开
* = 表示除了上述之外的用户其他的用户具有的权限,这里注意权限的分配具有继承性,
比如根目录的设置了只读性质,会覆盖下层的写入性质,共有三类性质:'r', 'rw', ' ',表示不允许访问。
对于 * = 这块表示anyone,所有的授权用户使用$authenticated,匿名用户使用$anonymous)
/home/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
project_p = pm
project_s = server_group
project_c = client_group
project_t = test_group
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = rw
@project_c = rw
@project_t = rw
* =
以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.
6,修改svnserve.conf文件,让用户和策略配置升效.
(anon-access表示未授权用户,auth-access表示授权用户,passwor-db填写密码数据文件的路径
,因为一个svn服务器中可以设置不同的仓库,对于每一个仓库需要定义不同的用户密码
,所以这里采用指定的目录,auth-db同理,一般位本仓库中conf的几个文件,权限分为三种:
write,read,none)
svnserve.conf内容如下:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz
7,启动服务器
# svnserve -d -r /home/svn
(这里我需要强调下:启动服务器的路径问题,如果使写到/home/svn下,就意味着回头的地址svn://host/ 代表的目录就是/home/svn。
现在比如我的/home/svn目录下加了两个仓库,project1,project2,那么我想访问的时候就需要填入svn://host/project1这种形式。
但是如果在启动的时候直接写成了svnserve -d -r /home/svn/project1,那么访问的时候直接就访问根目录svn://host/就行了,
至于目录下的权限相对应的是一样的,只不过我们可能在启动的时候将svn根目录映射的实际目录不一样。
博主之前就是因为这个问题卡住了。推荐使用/home/svn这种,方便我们管理多个仓库。)
8,测试服务器(命令行下检出:svn checkout 仓库路径)
# svn co svn://192.168.60.10/project
Authentication realm:
Password for 'root':
Authentication realm:
Username: server_group
Password for 'server_group':
svn: Authorization failed ( server_group没用根目录的访问权 )
# svn co svn://192.168.60.10/project
Authentication realm:
Password for 'root':
Authentication realm:
Username: pm
Password for 'pm':
Aproject/test
Aproject/server
Aproject/client
Checked out revision 1. ( 测试提取成功 )
# cd project/server
# vim main.c
# svn add main.c
# svn commit main.c -m "测试一下我的C程序,看什么看,不行啊??"
Adding main.c
Transmitting file data .
Committed revision 2. ( 测试提交成功 )
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22