设为首页 加入收藏

TOP

Linux搭建SVN服务器(一)
2017-10-12 10:49:30 】 浏览:9484
Tags:Linux 搭建 SVN 服务器
[root@centos02 ~]# yum install -y subversion

 1.新建一个目录用于存储SVN所有文件

[root@centos02 ~]# mkdir /svn

 2. 新建一个资源仓库

[root@centos02 ~]# svnadmin create /svn/project

 

[root@centos02 ~]# tree /svn
/svn
└── project
    ├── conf
    │   ├── authz
    │   ├── passwd
    │   └── svnserve.conf
    ├── db
    │   ├── current
    │   ├── format
    │   ├── fsfs.conf
    │   ├── fs-type
    │   ├── min-unpacked-rev
    │   ├── rep-cache.db
    │   ├── revprops
    │   │   └── 0
    │   │       └── 0
    │   ├── revs
    │   │   └── 0
    │   │       └── 0
    │   ├── transactions
    │   ├── txn-current
    │   ├── txn-current-lock
    │   ├── txn-protorevs
    │   ├── uuid
    │   └── write-lock
    ├── format
    ├── hooks
    │   ├── post-commit.tmpl
    │   ├── post-lock.tmpl
    │   ├── post-revprop-change.tmpl
    │   ├── post-unlock.tmpl
    │   ├── pre-commit.tmpl
    │   ├── pre-lock.tmpl
    │   ├── pre-revprop-change.tmpl
    │   ├── pre-unlock.tmpl
    │   └── start-commit.tmpl
    ├── locks
    │   ├── db.lock
    │   └── db-logs.lock
    └── README.txt

11 directories, 28 files
[root@centos02 project]# ls
conf  db  format  hooks  locks  README.txt

 

目录用途说明:

l hooks目录:放置hook脚本文件的目录

l locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

l format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

l conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

3. 配置svn服务的配置文件svnserver.conf文件 

 

[root@centos02 project]# vi /svn/project/conf/svnserve.conf 

 

[general]
anon-access = read
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
realm = clnking

 

[root@centos02 project]# vi /svn/project/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
chenlin = 123456
test1 = 123
test2 = 123

 注意:对用户配置文件的修改立即生效,不必重启svn服务。

[root@centos02 project]# vim /svn/project/conf/authz 

 

[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
admin = chenlin
user = test2,test1
# [/foo/bar]
# harry = rw
# &joe = r
# * =
[/]
@admin = rw

 

格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;

[/abc] 表示对资料库中abc项目设置权限;

创建一个admin组,组成员包括chenlin

创建一个user组,成员只有test2,test1;

admin组对目录有读写权限;

单个用户test2有读写权限;

*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

注意:对权限配置文件的修改立即生效,不必重启svn。

启动svn服务  

 

[root@centos02 project]# svnserve -d -r /svn/project/

 

[root@centos02 project]# ps -ef |grep svn
root      3809     1  0 05:29 ?        00:00:00 svnserve -d -r /svn/project/
root      3811  3707  0 05:30 pts/1    00:00:00 grep svn

 

[root@centos02 project]# netstat -lnutp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             St
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Apache服务 下一篇Linux学习心得之 双显卡、中文输..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目