共计 3729 个字符,预计需要花费 10 分钟才能阅读完成。
一、安装 SVN
Linux 下可以直接通过如下命令直接获取 svn server:(我使用的服务器系统为 Debian 7.5 稳定版)
apt-get install subversion
安装完成后,可通过 svnserve –version 查看安装的版本,我所使用的 svn server 版本为 1.6.17:
二、创建代码库
创建库(以 test 库为例):
sudo svnadmin create /home/user/svn/test
这样,一个简单的代码仓库就创建完成了。
接下来启动 svn 服务:
svnserve -d -r /home/user/svn/test
然后 client 端就可以通过“svn://ip.ip.ip.ip/test”来访问 svn 了。
SVN 用户权限配置 http://www.linuxidc.com/Linux/2012-09/69521.htm
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103687p2.htm
————————————– 分割线 ————————————–
CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
借助网盘搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm
————————————– 分割线 ————————————–
三、权限配置
进入 test 目录之后,你会看到里边有个“conf”文件夹,进入 conf 文件夹,ls 一下,你会看到有三个文件 authz、passwd、svnserve.conf 三个配置文件,其中 authz 用来配置用户访问权限的,passwd 用来配置用户及密码,svnserve.conf 是对整个 svnserve 的进程进行配置的。
使用 nano 或者 vi 工具打开 svnserve.conf,找到“# password-db = passwd”,这一句是指定当前库所对应的用户配置文件的,我们需要把最前边的“#”和空格删掉;
找到“# anon-access = none”
“# auth-access = write”这两句,第一句是用来控制匿名访问的,我们直接给它设置成 none 就好了,第二句用来控制经过验证允许访问库的用户的权限,这里我们设置成 write 就可以,当然,也要把前边的“#”和空格都删掉;
找到“# authz-db = authz”,这一句是用来指定当前库对应的用户权限配置文件的,我们把最前边的“#”和空格都删掉,这样库在运行的时候要根据 authz 这个配置文件去匹配用户权限。
到这里,我们的所有配置文件都可以起到他们应有的作用了,接下来就是对细节的具体配置:
对于 passwd:
很简单,在最后直接添加用户就好,格式为:“用户名 = 密码”,例如:“test_user = 12345”
对于 authz:
主要是分为两类配置:[groups]类配置、以 [repo:/] 开头的配置。
1.[groups]的配置很容易理解,就是群组。格式也比较简单,即“group_name = user1,user2,user3”,如果有多个用户,可以直接通过“,”的方式拼接就可以了,例如:
[groups]
# 经理
g_manager = michael
# 北京办人员
g_beijing = scofield
# 上海办人员
g_shanghai = lincon
# 总部一般员工
g_headquarters = rory, linda
2. 以 [repo:/] 开头的配置,上边的 [gourps] 配置是用来划分用户分组的,那么以 [repo:/] 开头的配置就是用来具体的划分用户读写权限的了,其中 repo 是你的库的名字,即上边我们通过“svnadmin create /home/user/svn/test”命令所创建的库“test”,下边我们直接用例子来说明它的使用方法:
对项目根目录做限制,该目录只允许经理才能修改,其他人都只能拥有读的权限:
[test:/]
@g_manager = rw
* = r
“[test:/]”表示这个目录结构的相对根节点,或者说是 test 项目的根目录。这里的“@”表示接下来的是一个组名,不是用户名。因为目前 g_manager 组里面只有一个 michael,你当然也可以将“@g_manager = rw”这一行替换成“michael = rw”,表达的意义完全一样。
“*”表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”
“* = r”则表示“那些人只能读,不能写”。
对于根目录下边的子目录,其权限配置方式是相同的,是需要把地址指明就可以了,即[test:/folder1/folder2],这里就不赘述了。
注意:配置中我们可能会遇到“* =”这样的情况,他的目的是用来隔断权限的继承性。如果在某一级目录的权限配置里加上这一句,则表明除了该配置中的用户之外的其他用户完全没有这一级目录的任何权利,既不可读,更不可写。
当所有的三个文件全都配置完成之后,接下来就是要让它们都生效了,首先我们需要确保 svnserve 服务已经停掉了,可以通过“ps aux|grep svn”的方式来查看 svn 时候还在运行,如果还在运行的话直接通过“kill -9 [svn 进程编号]”的方式把它停掉就可以了,然后在通过命令“svnserve -d -r /home/user/svn/”来重新启动 svn 服务,以上配置的三个文件就都起作用了!
相关参考:
Debian 7 上安装 SVN:http://www.linuxidc.com/Linux/2014-06/103683.htm
一、安装 SVN
Linux 下可以直接通过如下命令直接获取 svn server:(我使用的服务器系统为 Debian 7.5 稳定版)
apt-get install subversion
安装完成后,可通过 svnserve –version 查看安装的版本,我所使用的 svn server 版本为 1.6.17:
二、创建代码库
创建库(以 test 库为例):
sudo svnadmin create /home/user/svn/test
这样,一个简单的代码仓库就创建完成了。
接下来启动 svn 服务:
svnserve -d -r /home/user/svn/test
然后 client 端就可以通过“svn://ip.ip.ip.ip/test”来访问 svn 了。
SVN 用户权限配置 http://www.linuxidc.com/Linux/2012-09/69521.htm
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103687p2.htm
————————————– 分割线 ————————————–
CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
借助网盘搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm
————————————– 分割线 ————————————–