centos下搭建配置svn服务器

jopen 4年前

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 作用域 可指定一个顶级域