首页
技术知识库
Task工作计划
网站简介
DON框架
后台管理
文章分类
JAVA
框架知识
操作系统
容器相关
数据库层
优化技术
界面编程
网络编程
开发工具
GO语言
其他
读书随笔
观影随笔
每日随笔
APP
如何在linux系统中创建svn服务器[svn]
所属分类
:[操作系统] |
创建时间
:2013-04-01 |
文章属性
:原创 |
文章来源
:windfly.cn |
作者
:windfly
前提:在linux中安装svnserver软件<br><br><b>1.新建代码仓库</b> # svnadmin create /home/myrepos<br><br><b>2. 配置svnserve</b><br><br>在版本库目录下有个conf目录:home/myrepos/conf,该目录包含三个文件:authz,passwd,svnserve.conf。<br><br>(1)<b>svnserve.conf</b><br><br>此文件重点的设置内容如下:<br><br>anon-access = read<br><br>auth-access = write<br><br>password-db = passwd<br><br>authz-db = authz<br><br><br>其中,anon-access和auth-access分别代表设置匿名用户和授权用户的访问权限。<br><br>read代表只读,write代表可读可写,还有一个none,代表禁止访问。如果不想让匿名用户<br><br>访问的话,可以设置anon-access = none。password-db为保存版本库的用户名和密码,通常为conf目录下的passwd文件。authz-db指向的文件,主要用于将用户进行分组,并赋予不同的组不同的权限。譬如有多个目录时,设置某个组的用户只可以访问其中的那些目录。<br><br>(2)<b>passwd</b><br><br>如前面介绍,这个文件的主要内容如下<br><br>[users]<br><br>harry = harrysecret<br><br>sally = sallyssecret<br><br>(3)<b>authz</b><br><br>[groups]<br><br># harry_and_sally = harry,sally<br><br># [/foo/bar]<br><br># harry = rw<br><br># * =<br><br># [repository:/baz/fuz]<br><br># @harry_and_sally = rw<br><br># * = r<br><br>以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。<br><br><b>3. 启动svnserve</b> #svnserve -d -r /home/<br><br>svnserve将以守护进程的方式运行。同时,通过-r选项指定了版本库的目录。这个目录可以是版本库的上级目录(/home),也可以是版本库的目录(/home/myrepos),也可以不用-r指定。<br><br><b>4.远程访问svnserve</b>。<br><br>假设版本服务器的地址为10.1.1.1,那么用户可以在远程linux端输入命令:<br><br>#svn checkout svn://10.1.1.1/myrepos myrepos<br><br>这样版本库的所有内容都被check出来,存放在当前目录myrepos下。这里相当于使用svn协议,不用搭建http服务器。<br><br>如果启动svnserve的时候,-r选项指定的是版本库的目录,譬如/home/myrepos,那么检出版本的时候,执行的命令为:<br><br>#svn checkout svn://10.1.1.1/ myrepos<br><br>如果启动svnserve是没有指定-r选项,则要输入版本库的绝对路径:<br><br>#svn checkout svn://10.1.1.1/home/myrepos myrepos<br><br>
返回