svn存储文件 |
您所在的位置:网站首页 › linux系统配置文件存储在哪里设置 › svn存储文件 |
debian10搭建svn
第一步:安装所需软件包 root@192:~# aptitude -y install subversion subversion 的 (1.10.4-1+deb10u3) 版本已经按要求安装了提示版本1.13.0,说明已安装成功。 创建版本库目录创建SVN版本库目录,为后面创建版本库提供存放位置,也是最后启动SVN服务的根目录。 我们在/usr路径下创建svn目录作为版本库目录。 root@192:~# cd /usr/ root@192:/usr# mkdir svn在上一步建立路径基础上,创建版本库,如dev。 root@192:/usr/svn# pwd /usr/svn root@192:/usr/svn# svnadmin create dev root@192:/usr/svn# ls dev root@192:/usr/svn# ls dev/ conf db format hooks locks README.txt进入conf目录,查看需要修改的配置文件。 root@192:/usr/svn/dev/conf# pwd /usr/svn/dev/conf root@192:/usr/svn/dev/conf# ls authz hooks-env.tmpl passwd svnserve.conf打开红线标注的# 去掉anon-access、auth-access、password-db、authz-db、realm几项前的注释符号“#” 第二处 认证域知识延伸: 在SVN客户端登录时,会提示realm认证域,如下图的认证域My First Repository。 只需在末尾添加账号和密码,格式 账号 = 密码,如user1 = 123456,可添加多个。 在windows系统中,安装TortoiseSVN软件,创建一个本地目录,右键选择SVN Checkout测试下,URL填写svn://IP/dev,dev替换成你创建的版本库名称。 Checkout completed,SVN访问成功,这就Nice了~ 想查看提交的svn log日志,需要进一步配置。 编辑svnserve.conf,设置: anon-access = none 编辑authz文件中添加: [/] * =这样通过鼠标右键TortoiseSVN->show log就可以查看svn提交的历史记录了。 多个项目管控配置SVN配置文件是很灵活的,如果想使用统一的账户和权限去管控多个项目,可以将多个项目的authz和passwd文件统一放在一处,在多个项目的svnserve.conf文件中配置这两个文件的绝对路径,并在authz中对不同的项目设置用户访问权限。 如:a、b、c、d这4个用户,p1、p2两个项目,其中a、b只能访问p1,c、d只能访问p2。 创建版本库目录 mkdir /usr/svn 创建多个版本库 shell root@192:/usr/svn# svnadmin create p1 root@192:/usr/svn# svnadmin create p2 root@192:/usr/svn# ls dev p1 p2password-db和authz-db都使用统一管理用户权限目录,使用绝对路径。 修改password-db文件 root@192:/var/svn/conf# pwd /var/svn/conf root@192:/var/svn/conf# ls authz passwd root@192:/var/svn/conf# vim passwd同样TortoiseSVN软件,选择SVN Checkout测试。 访问项目p1 URL svn://IP/p1 访问项目p2 URL svn://IP/p1统一的配置文件,不同项目限定了不同用户访问,这样就实现了管控多个项目的SVN配置。 以上就是Linux系统搭建SVN服务器详细教程的所有内容,希望对大家有所帮助。 linux客户端连接测试:客户端需要安装: [root@client conf]# yum -y install subversioncheckout 把整个版本库下载下来 [root@client conf]# svn checkout svn://10.10.7.155/test //test为服务端版本库目录出现以下报错: 原因: svn服务未启动或者是启动的时候未指定svn仓库路径,svn默认仓库路径为/var/svn,所以我们需要手动指定为/home/svn/ 解决方案: #ps–ef|greo svn命令查找出来svn的pid, #kill -9 svnd的pid进程号 #svnserver –d –r /home/svn/ 以上操作完成之后,不用再次重启服务(上条命令就是启动svn且指定仓库路径)。再次进行测试 出现报错:Authorizationfailed 检查authz文件是否出错。进行修改 再次测试: 显示成功取出版本 提交代码文件: 服务器上没有的文件,在客户端需要先add预提交,再commit,如果服务器端已有的文件,直接commit #svn add /root/davesvn/test #svn ci /root/davesvn/test -m “创建新文件” //ci是commit的缩写, -m是添加注释 //提交,俗称存入 # 提交test.txt文件 [root@localhost test]# vim test.txt [root@localhost test]# svn add test.txt A test.txt [root@localhost test]# svn commit test.txt -m "test-version1" Authentication realm: My First Repository Password for 'root': #输入虚拟机root密码 Authentication realm: My First Repository Username: svn #输入svn配置文件内创建的用户 Password for 'svn': #输入用户密码 ------ ATTENTION! Your password for authentication realm: ``` My First Repository ``` can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in ## '/root/.subversion/servers'. Store password unencrypted (yes/no)? yes #输入yes Adding test.txt Transmitting file data . Committed revision 1. Windows客户端连接测试需要安装svn客户端 URL of repository为svn服务器的版本库目录路径 Checkout directory为本地的路径 需求,想要要求其他员工对我们公司svn项目下面的一个目录有读写权限,其他项目没有读写权限 只需要设置俩个文件 authz passwd 我这是想设置一个成员只对这个目录有读写权限使用随机生成uuid当作密码 cat /proc/sys/kernel/random/uuid )] 设置子项目权限需求,想要要求其他员工对我们公司svn项目下面的一个目录有读写权限,其他项目没有读写权限 只需要设置俩个文件 authz passwd 我这是想设置一个成员只对这个目录有读写权限[外链图片转存中…(img-iZ9mv5lP-1657183641543)] 首先添加账号密码 cat passwd使用随机生成uuid当作密码 cat /proc/sys/kernel/random/uuid [外链图片转存中…(img-QZafRZsS-1657183641543)] [外链图片转存中…(img-1uMy9kBP-1657183641544)] 配置权限 cat authz[外链图片转存中…(img-0kOEX6k9-1657183641544)] 清理svn缓存 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |