[jerry@CentOS ~]$ svn --version
如果 Subversion 客户端没有安装,命令将报告错误,否则它将出现安装的软件版本
[jerry@CentOS ~]$ svn --version
-bash: svn: command not found
如果你使用基于 RPM 的 GNU/Linux,可以使用 yum 命令进行安装,安装成功之后,执行 svn --version 命令。
[jerry@CentOS ~]$ su -
Password:
[root@CentOS ~]# yum install subversion
[jerry@CentOS ~]$ svn --version
svn, version 1611 (r934486)
compiled Jun 23 2012, 00:44:03
如果你使用基于 Debian 的 GNU/Linux,使用 apt 命令进行安装。
[jerry@Ubuntu]$ sudo apt-get update
[sudo] password for jerry:
[jerry@Ubuntu]$ sudo apt-get install subversion
[jerry@Ubuntu]$ svn --version
svn, version 175 (r1336830)
compiled Jun 21 2013, 22:11:49
Apache 安装
我们已经看到如何将 SVN 客户端安装到 GNU/Linux 上,让我们看看如何创建一个新的版本库让使用者们访问。
我们必须必须在服务器上安装 Apache >svn可以通过多种方式访问—本地磁盘访问,或各种各样的不同的网络协议,但一个版本库地址永远都是一个URL:
模式
访问方法
file:///直接版本库访问(本地磁盘)。
>直接开放svnserve的端口就可以了,默认端口是3690
如果selinux开启了,它会阻止文件的写入,从仓库中拉去正常,但上传的时候会出现 不能打开文件"/db/txn-current-lock"权限不够
如果出现semanage未定义,可以参考 CentOS7 中安装semanage来设置selinux
仓库目录为 /home/svn/test ,如果要删除版本仓库直接删除目录就可以了 rm -rf /home/svn/test
在仓库目录 /home/svn/test 的 conf 目录中会有三个文件
修改配置
修改配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
权限管理分为组管理和目录权限管理
多个创建可以共用一套账号和密码权限管理。也可以用不同的账号密码管理,如果用不同的配置少单仓库类似,修改每个仓库conf下的账号和权限文件就可以了。下面说一下共用账号权限文件的情况。
在仓库目录 /home/svn 目录中创建authz文件和passwd文件。
修改配置各仓库下conf/svnserveconf。将password-db和authz-db指向/home/svn/目录下的文件
修改/home/svn/passwd配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
修改/home/svn/authz权限管理分为组管理和目录权限管理
如果单仓库以/home/svn启动,此时访问的地址会有仓库名。 svn://ip/test
访问地址分别为:
编辑 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 参数改为svn仓库目录 OPTIONS="-r /home/svn"
设置开机启动
修改后也可以用systemctl来启动、停止、重启
svnserve启动后,修改authz和passwd文件是时实生效的,并不需要重启服务
有时随着仓库越来越多,权限配置也越来越多时,会出现一些配置错误,导致访问时出现无法加载权限验证之前的错误,这个时候我们可以将svn服务器的日志打印出来,看些配置出错了。
停止svn服务器,重新附加log-file参数输入日志到指定文件方法/步骤
打开终端,创建一个代码仓库,用svnadmin create创建
进入svndir文件夹可以看到
conf文件夹是配置文件夹,里面有相关配置,先选择svnserveconf配置。
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
去掉这几个前面的#和空格,
anon-access 表示匿名访问权限
创建个帐户,要进passwd文件配置,在[users]后面加zyx=123456,表示创建了zyx帐户,密码是123456
文件authz可以配置用户组及权限,可以把passwd里添加的用户加到一个用户组里或创建一个用户组,这样就可以对整个组设置权限了,还不用对每个用户进行单独权限设置。这里加了个zyxgroup组,包括用户zyx,权限是对根目录有读写权限,[/]表示根目录。
6
接下来是启动svn服务器,如果,没有提示就表示成功了。
7
关闭svn服务器的话,可以用ps找到它的pid,然后kill它就可以了。方法/步骤
1、打开版本库的目录,这里是“G:\SVNHome\conf”,目录下面有三个文件,用文本编辑工具打开“svnserveconf”
2、去掉红框中行前的井号及空格,保存。
3、注意:“#
authz-db
=
authz”我句的不要去掉,我刚开始的时候把这行的井号及空格去掉了,结果总是提示认证失败!
4、编辑“passwd”文件,在最后一行添加用户名和密码,密码是明文的,用户名和密码用等号分隔,等号两边可以有空格,空格不会被认为是密码。
5、打开Windows服务管理器,重新启动SVN服务。
6、测试配置是否正确:(安装了SVN客户端的前题下)在任意一个目录下单击鼠标右键》TortoiseSVN》Repo-Browser,在d出的对话框中输入“svn://127001/svnhome/”,确定
输入用户名和密码,确定;
如果用户名和密码输入不正确或者是配置不正确,则会提示“认证失败”。
7、创建一个目录,测试权限:在右侧窗口是单击鼠标右键》Create
Folder,在d出的对话框中输入文件夹名称,确定,在d出的对话框中输入注释,确定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)