centos下搭建配置svn服务器

1、安装subversion

yum -y install subversion

2、开放3690端口

    svn使用3690作为端口

3、创建svn仓库repository,以后各项目将存放在此处,注意仓库作为svn的根目录,可以方便存放多个项目

mkdir /opt/svn

4、创建我们的项目

svnadmin create /opt/svn/project_1
svnadmin create /opt/svn/project_2

5、配置项目账户和访问权限

    使用svnadmin创建项目后会生成此项目的配置文件

vi /opt/svn/project_1/conf/passwd //帐号密码
....
[users]
admin = 123456 //帐号 = 密码
james = 123456
....
vi /opt/svn/project_1/conf/authz //用户 用户组对项目的访问权限
....
[groups] //用户组的定义
super = admin
general = james
....
[/foo/bar] //相对svn服务器根目录的路径权限
@super = rw
admin = rw
....
//多个项目时可以公用一个authz做权限配置,此时可以使用一下格式来区别项目
[project_1:/] //项目根目录super组的用户可以读写
@super = rw
admin = rw //也可以直接指定用户
[project_1:/branches]//general组的用户只能读写分支
@general = rw
....
[project_2:/] //project_2的svnserve.conf里的authz-db需要指向此配置文件才可以
@super = rw
vi /opt/svn/project_1/conf/svnserve.conf //项目的配置
...
anon-access = read //开启匿名访问
auth-access = write //认证可写
password-db = passwd //帐号密码文件
authz-db = authz //权限认证文件
realm = /opt/svn/project_1 //领域仅限当前项目
...

5、导入我们的项目

svn import ~/project_1 file:///opt/svn/project_1 -m "import project_1"
svn import ~/project_2 file:///opt/svn/project_2 -m "import project_2"

project_1 和 project_2是你自己的项目文件 结构规整下的话就是

|—branches //分支
|—tags //标签
|—trunk //主库

6、开启服务

svnserve -d -r /opt/svn

7、尝试检出project_1到当前目录

svn checkout svn://yoursvnserverip/project_1 //admin可以检出但james会提示没有权限 因为我们对project_1配置的权限为james只能读写branches目录
svn checkout svn://yoursvnserverip/project_1/branches //admin肯定可以检出 james也可以检出
svn update
svn add filename
svn commit -m 'description'

这里在详细的说下svn权限配置那一块

成功使用svn创建一个项目后会生成此项目的仓库目录结构,其中项目的配置文件在conf文件夹中

passwd 账户名密码

    [users]

    username = userpassworld

authz 用户权限

svnserve.conf 项目配置 【多项目时可以配置成】

    anon-access 匿名权限

    auth-access 认证权限

    password-db 帐号文件 可指定一个公共文件

    authz-db 权限文件 可指定一个公共文件

    realm 作用域 可指定一个顶级域

你可能感兴趣的:(centos下搭建配置svn服务器)