1. 安装:
[root@iZip2h4xqhdpikZ ~]# yum -y install subversion
2. 创建svn版本库
mkdir -p /opt/svn/repos/svn1 ##创建目录
svnadmin create /opt/svn/repos/svn1 ##创建SVN版本库
进入上面生成的文件夹conf下,进行配置
[root@localhost password]# cd /opt/svn/repos/svn1/conf
添加用户和密码
[root@admin conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
4. 权限控制authz配置
[root@admin conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源
[/] 或者写成[repl:/]
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
5. 服务svnserve.conf配置
[root@admin conf]# vim svnserve.conf
打开以下内容的注释(没有的话就添加):
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
ps aux | grep svnserve #查看服务是否启动
svnadmin create /opt/svn/repos/svn2
重复步骤3的配置方法
killall svnserve #关闭svn服务
svnserve -d -r /opt/svn/repos/ #启动svn,注意目录,不包含svn2
10. 同个SVN库下根据不同的访问权限访问不同的目录。
[groups]
chanpin = user1,user2
yanfa = user3,user4
[svn1:/]
test = rw
other = rw
anyone = rw
@chanpin = rw
@yanfa = rw
[svn1:/chanpin]
other = rw
@chanpin = rw
* =
[svn1:/yanfa]
anyone = rw
@yanfa = rw
给repos文件夹赋予写权限。
[root@iZip2h4xqhdpikZ ~]# yum -y install subversion
2. 创建svn版本库
mkdir -p /opt/svn/repos/svn1 ##创建目录
svnadmin create /opt/svn/repos/svn1 ##创建SVN版本库
进入上面生成的文件夹conf下,进行配置
[root@localhost modules]# cd /opt/svn/repos/svn1/conf
[root@localhost password]# cd /opt/svn/repos/svn1/conf
添加用户和密码
[root@admin conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
4. 权限控制authz配置
[root@admin conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源
[/] 或者写成[repl:/]
eg:hello = rw
意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
5. 服务svnserve.conf配置
[root@admin conf]# vim svnserve.conf
打开以下内容的注释(没有的话就添加):
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
6. 启动svn
svnserve -d -r /opt/svn/repos/ #注意目录,不包含svn1ps aux | grep svnserve #查看服务是否启动
7. 测试服务器
"svn://115.28.66.165/svn1" 检出svn内容
8. 想创建多个版本库
mkdir -p /opt/svn/repos/svn2 ##创建目录svnadmin create /opt/svn/repos/svn2
重复步骤3的配置方法
killall svnserve #关闭svn服务
svnserve -d -r /opt/svn/repos/ #启动svn,注意目录,不包含svn2
9. 删除版本库
rm -rf svn2/10. 同个SVN库下根据不同的访问权限访问不同的目录。
[groups]
chanpin = user1,user2
yanfa = user3,user4
[svn1:/]
test = rw
other = rw
anyone = rw
@chanpin = rw
@yanfa = rw
[svn1:/chanpin]
other = rw
@chanpin = rw
* =
[svn1:/yanfa]
anyone = rw
@yanfa = rw
* =
注:
没有写权限就用
chmod 777 repos给repos文件夹赋予写权限。