Vmware_linux_CentOS-6.6系统上安装SVN服务器端的方法及步骤
- 格式:docx
- 大小:16.63 KB
- 文档页数:4
虚拟机下CentOS搭建SVN服务器yum install subversionfind出subversion的安装目录,在bin目录下验证是否安装成功 svnserve --version也可以直接将bin目录下的文件加入到path中配置SVN1.建立test目录mkdir -p /opt/svndata/test2.建立test库 svnadmin create /opt/svndata/test/在/opt/svndata/test/ 查看可以看到 conf db format hooks locks README.txt 等目录文件,说明建立test库成功3.修改版本库配置文件vi /opt/svndata/test/conf/svnserve.conf[general]anon-access = none # 使非授权用户无法访问auth-access = write # 使授权用户有写权限password-db = passwd # 指明密码文件路径authz-db = authz # 访问控制文件realm = /opt/svndata/test # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
4.配置连接用户vi /opt/svndata/test/conf/passwd插入如下内容[users]zhanghui = 123456testsvn = 123456#这2个用户名密码就是eclipse或者tortoise等客户端连接过去要求提供的账户密码,因为之前设置是匿名用户不可连接5.配置权限vi /opt/svndata/test/conf/authz插入以下内容[/]zhanghui = rwtestsvn = r列出对各用户的授权。
包括只读r,读写rw。
没有列出的用户,则不允许访问。
还可以对用户分组,具体请参考svn手册6 启动svn 服务[root@DB2 conf]# svnserve -d -r /opt/svndata/test/指令简介:此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。
一、软件下载并安装1、服务器1 )下载Subversion 服务器端软件,网址:/。
在下载页面找到视窗系统NT, 2000, XP and 2003 ,然后点击相关连接进入即可下载,目前最新版本是svn-1.3.2-setup.exe 。
2 )下载后,运行svn-1.3.2-setup.exe 直到安装成功。
2、客户端1 )下载Subversion 的windows客户端程式TortoiseSVN 和中文语言包,网址:/。
目前最新版本是TortoiseSVN-1.3.5.6804-svn-1.3.2.msi 和LanguagePack-1.3.5.6804-win32-zh_CN.exe 。
2 )下载后,先运行TortoiseSVN-1.3.5.6804-svn-1.3.2.msi 安装程式,完成后,提示要重启计算机,选择“否”,运行中文语言包程式完成后再重启计算机。
安装完成后,会在右键菜单中增加相应的操作,如下图:二、建立版本库<>google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);运行Subversion 服务器需要首先要建立一个版本库(Repository ),能看作服务器上存放数据的数据库,有两种方法能建立版本库:1、命令行方法:在命令行模式下,运行svnadmin create f:\repository ,即可在F 盘下创建一个版本库repository 。
2、界面操作方法:在F:\repository 目录下,右键,选择TortoiseSVN 下的“在此创建文件库”,文件库类型选择默认的“本地文件系统(FSFS) ”,这样就会在该目录下创建一个版本库。
三、设置用户和权限1、在F:\repository\conf\svnserve.conf 文件中去掉# password-db = passwd 项前面的# 号和空格(空格一定要去掉,否则会报错)。
SVN服务器安装一、环境准备1、代理服务器由于Liunx服务器无法连接外网,因此需要进行连接代理服务器进行上网a)服务器ping本机(个人电脑)ok,使用本机(个人电脑)作为代理服务器,让linux联网b)下载CCProxy,个人电脑安装代理服务器并启动【如下图】2、yum源切换由于本机的yum源(rhel-source.repo)不好用,百度后需要切换新yum源(CentOS-Base.repo)切换路径:cd /etc/yum.repos.d/切换执行:mv rhel-source.repo /home/mv /home/ CentOS-Base.repo ./3、yum源配置代理配置yum代理:vim /etc/yum.conf#添加一下代理配置,如下图【ip+port】proxy=http://10.7.40.102:808proxy_username=DELLproxy_password=qiupeng配置网络代理: vim /root/.bashrcexport http_proxy="http://DELL:qiupeng@10.7.40.102:808"二、开始安装1.安装依赖yum -y install openssl-devel pcre-devel gcc gcc-c++ pcre-devel2.安装svn,安装成功如下图yum install subversion3.新建版本库cd /homemkdir svnsvnadmin create /home/svn/lakala4.启动SVN服务器svnserve -d -r /home/svn/lakala/5.查看SVN服务器lsof -i:36906.停止SVN服务器:killall svnserve7.SVN服务器配置SVN核心配置文件:/home/svn/lakala/conf /svnserve.confSVN权限控制:/home/svn/lakala/conf /authzSVN密码控制:/home/svn/lakala/conf /passwd⏹修改文件【vim /home/svn/lakala/conf /svnserve.conf】,将注释符【#】删除--无权限的人可读anon-access = read--有权限的人可写auth-access = write--密码文件password-db = passwd--授权文件authz-db = authz⏹修改文件【vim /home/svn/lakala/conf / authz】,新增admin组,修改admin组权限[groups]admin = qiupeng,testuser[/]@admin = rw* = r⏹修改文件【vim /home/svn/lakala/conf / passwd】,新增用户qiupeng、testuser,及密码[users]testuser = 123456qiupeng = 1234568.客户端连接SVN客户端输入【svn://10.7.111.11/lakala】,即可连接至SVN服务器三、错误解决1.报错提示”空间不足”错误提示”Insufficient space in download directory /var/cache/yum/x86_64/6Server/updates/packages“解决方法:执行命令【df -h】查看下磁盘使用情况,然后删除一些占空间的log和备份文件后重试2.报错提示”无法解析地址“错误提示:Couldn'n resolve host ''解决分析:本地ping一下'',取得对应的IP地址,在服务器中修改DNS和Hosts进行调试解决方法1:修改DNS,【vim /etc/resolv.conf】添加【nameserver 8.8.8.8】解决方法2:修改hosts,【vim /etc/hosts】添加【123.58.173.186 】【213.8.26.243 】3.报错提示”目标计算机拒绝,无法连接”解决分析:此问题肯定是SVN配置文件引起,请仔细查阅【二.开始安装—7.SVN服务器配置】,进行解决。
上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用.首先打开VisualSVN Server Manager,如图:可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Repositores,如图:在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:输入版本库名称,勾上Create default structure复选框(推荐这么做).点击OK,版本库就创建好了,版本库中会默认建立trunk,branches,tags三个文件夹,如图:这时候我们将项目导入到版本库中,找到你的项目文件夹,在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了.如图:将复制的版本库URL粘贴上,在URL后面加上trunk子路径.然后在导入信息里面填上导入信息"导入项目到版本库".如图:点击确定,所选中的项目就会被导入到版本库中.如图:项目导入到版本库以后,不能随便让谁都能够读写版本库,所以需要建立用户组和用户.在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create User或者新建->User,如图:在弹出的对话框中填写User name和Password,然后点击OK,如图:用相同的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:然后我们建立用户组,在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:在弹出窗口中填写Group name为Developers,然后点Add按钮,在弹出的窗口中选择三个Developer,加入到这个组,然后点Ok,如图:用相同的方式创建组Managers,Testers,如图:接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:在弹出的对话框中,选择Security选项卡,点击Add按钮,选中Developers,Managers,Testers三个组,然后添加进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,如图:到此,服务端就完成了.接下来,我们用客户端去检出代码,在桌面空白处单击右键,选择SVN检出,在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定.如图:开始检出项目,如图:检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√.如图:至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕.接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等.添加文件在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图:这时候,你需要告知TortoiseSVN你的操作,如图:加入以后,你的文件会变成这个状态,如图:这时候使用TortoiseSVN进行提交.这样别人就能看到你所做的更改了,如图.修改文件使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图:这个红色的叹号代表这个文件被修改了,这时候,提交更改,其他人即可看到你的更改.重命名文件使用TortoiseSVN更新,重命名工作副本中的Readme.txt文件为"Readme1.txt',然后保存,你会发现Readme.txt文件的图标改变了,如图:更添加文件一个道理,这时候你需要告诉TortoiseSVN你的操作,如图:加入以后,提交,这时候版本库中的Readme.txt文件将会被重命名为"Readme1.txt".删除文件使用TortoiseSVN更新,使用TortoiseSVN删除工作副本中的Readme.txt文件,然后提交,版本库中的相应文件即被删除掉了,如图:强制写注释为了以后你能更清晰的看到你所做的每一次更改的原因,你在每次提交的时候应该写上注释,而且尽量详细.如图:但是,可能有的人因为觉得太繁琐,而不填写注释,这不利于以后的版本控制,可以将强制在提交的时候写注释,首先单击右键,选择TortoiseSVN->属性,如图:在弹出的对话框中,点击新建->日志大小,设置提交日志的最小字符数和锁定日志的最小字符数为20,提交文本框中显示边线的字符位置设置为100,点击确定,如图:提交,以后再次提交的时候,如果输入的注释少于20个字符,将无法提交.冲突解决冲突问题是最常见的问题,它是这样产生的,A用户check out了一个工作副本A,接着B用户又check out了一个工作副本B.然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交.这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,然后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择.在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了。
基本步骤:1、安装必需的subversion2、创建版本库3、配置用户和权限4、钩子和svn常用命令说明一、安装subversion在这里我们使用yum来安装subversion,使用以下命令即可完成。
[root@localhost ~]# yum -y install subversion二、创建版本库[root@localhost ~]# mkdir -p /home/svn/project01[root@localhost ~]# svnadmin create /home/svn/project01三、版本库管理配置进行刚才创建的版本库目录下的conf目录,可以看到有三个文件。
[root@localhost ~]# cd /home/svn/project01/conf[root@localhostconf]# lsauthzpasswdsvnserve.confsvnserve.conf这个是版本库的配置文件passwd这个是记录用户帐号密码的文件authz这个则是记录组、权限和身份验证的文件1、配置svnserve.conf文件这里需要设置以下几处anon-access = none 指定匿名权限,默认为可读,现设置匿名无权限auth-access = write 用户有写权限password-db = passwd账号密码文件的路径,psswd文件也可复制一份,命名为passwd.conf这样可以知道是配置文件,也可以放到其它目录下authz-db = authz同上注意去掉#注释以后配置一定要顶格写,下同。
[root@localhostconf]# visvnserve.confanon-access = noneauth-access = writepassword-db = passwdauthz-db = authz2、配置passwd该文件中记录svn用户名密码,以(帐号= 密码)或(帐号: 密码)的形式进行储存。
CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)在CentOS linux下安装SVN,我们可以进行以下步骤:第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发工具”里)和Web服务器(Apache)。
我用的是CentOS 6.4版本,只需要安装DVD1这个iso文件即可。
这个DVD文件中有我们下面用到的许多配置文件和模块文件,像mod_dav_svn等文件,都不需要用yum 命令进行额外下载安装(光盘中的文件的版本都是进行严格匹配的)。
第一次启动CentOS时,你就可以运行命令svn --version,查看是否提示SVN版本信息。
[root@svn ~]# svn --versionsvn,版本1.6.11 (r934486)编译于 Jun 232012,00:44:03版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 / 站点。
此产品包含由 CollabNet(/) 开发的软件。
可使用以下的版本库访问模块:* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
-处理“http”方案-处理“https”方案* ra_svn : 使用 svn 网络协议访问版本库的模块。
-使用 Cyrus SASL 认证-处理“svn”方案* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案【准备工作】1.关闭防火墙、做好网络配置。
此时,我们要关闭防火墙,执行命令service iptables stop。
同时执行命令setup,选择“网络配置”,去掉DHCP,设置192.168.2.20(客户端也在192.168.2.x同一个网段内),子网掩码255.255.255.0。
linux搭建svn服务器的⽅法步骤⼀:安装svnyum install -y subversion⼆:创建仓库1:创建仓库⽬录mkdir -p /var/project/test2:创建仓库svnadmin create /var/project/test创建成功后,在/var/project/test⽬录下如下⽬录:drwxr-xr-x. 2 root root 51 1⽉ 30 13:26 confdrwxr-sr-x. 6 root root 4096 1⽉ 30 13:26 db-r--r--r--. 1 root root 2 1⽉ 30 13:26 formatdrwxr-xr-x. 2 root root 4096 1⽉ 30 13:26 hooksdrwxr-xr-x. 2 root root 39 1⽉ 30 13:26 locks-rw-r--r--. 1 root root 229 1⽉ 30 13:26 README.txtconf⽬录下是svn的配置⽬录,其中包括:-rw-r--r--. 1 root root 1080 1⽉ 30 13:26 authz #权限控制-rw-r--r--. 1 root root 309 1⽉ 30 13:26 passwd #密码管理-rw-r--r--. 1 root root 3090 1⽉ 30 13:26 svnserve.conf #SVN服务进程配置三:svn配置1:权限配置(/var/project/test/conf/authz)#⽤户分组(admin->管理员,development ->开发 other->其他)[groups]admin = test1 #管理员⽤户test1development = test2,test3 #开发⽤户test2,test3other = test4,test5,test6 #其他⽤户test4,,test5,test6#权限配置[/]@admin = rw #管理员读写权限@development = rw #开发读写权限@other = r #其他读权限test7 = rw #test7⽤户读写权限2:密码配置(/var/project/test/conf/passwd)#密码配置,格式为⽤户名=密码,密码为明⽂[users]test1 = test1test2 = test2test3 = test3test4 = test4test5 = test5test6 = test6test7 = test73:SVN服务进程配置(/var/project/test/conf/svnserve.conf)[general]anon-access = none #匿名⽤户⽆权访问auth-access = write #认证⽤户可读写password-db = passwd #指定⽤户认证密码⽂件authz-db = authz #指定权限配置⽂件四:启动svn服务(默认端⼝号3690)复制代码代码如下:svnserve -d -r /var/project #-d 服务后台运⾏ -r 指定⼯作⽬录,/var/project表⽰指定⼯作⽬录,注意不能指定仓库名地址(/var/project/test)指定端⼝启动svnsvnserve -d -r /var/project --listen-port 3691五:关闭防⽕墙,或开启指定端⼝号1:关闭防⽕墙systemctl stop firewalld2:开启指定防⽕墙#开启3690端⼝firewall-cmd --zone=public --add-port=3690/tcp --permanent#刷新配置firewall-cmd --reload六:客户端连接并上传⽂件windows上连接svn1:新建⼀个⽬录,右击选择svn 检出2:在版本库上填写linux的svn地址 svn://ip:3690/仓库名 (这⾥的仓库名不是/var/project/test⽽是/test)2:填写⽤户名密码这时候我们可以看到此⽬录下⽣成了⼀个.svn⽂件,说明我们已经连接上了linux上的svn服务器3:上传⽂件现在我们新建⼀个test.txt⽂件,在⾥⾯随便填⼀些信息(1)右击选择add然后选择test.txt⽂件,点击确定,这时候我们会看到test.txt⽂件上会多了⼀个加号(2):上传右击选择提交填写备注选择要上传的⽂件后点击确定这时候我们可以看到test.txt⽂件上的加号会变成绿⾊的对号,表⽰上传成功但是这时候我们发现我们在/var/project/test⽬录下根本就没有找到我们上传的⽂件,这是为什么呢?难道我们没有上传成功,这是由于把⽂件上传到SVN版本库后,上传的⽂件不再以⽂件原来的格式存储,⽽是被svn以它⾃定义的格式压缩成版本库数据,存放在版本库中,svn服务器版本库有两种格式,⼀种为FSFS,⼀种为BDB这时候我们就需要在linux中实现检出4:检出svn checkout svn://192.168.11.201/test /data/test #svn://192.168.11.201/test表⽰需要检出的仓库地址 /data/test表⽰需要检出到哪个⽬录下这是我们可以在/data/test⽬录下看到我们之前在客户端上传的⽂件,但是现在问题⼜来了,我们在客户端上传⽂件之后,不可能每次都在服务器进⾏检出操作吧,那么如何进⾏⾃动检出呢?5:⾃动检出配置在/var/project/test/hooks⽬录下新建⼀个post-commit⽂件,post-commit⽂件添加内容为:#!/bin/shREPOS="$1" #仓库REV="$2" #版本号export.UTF-8 #编码SVN=/usr/bin/svn #svn地址WEB=/data/test #要更新的项⽬⽬录$SVN update $WEB --username test1 --password test1 #--username test1表⽰设置⽤户名 --password test1表⽰设置密码将post-commit设置为可执⾏chmod +x /var/project/test/hooks/post-commit到此⾃动检出配置完成,不过注意,第⼀次的时候需要⼿动检出,之后就不需要了,到此linux搭建svn服务器完成以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Linux开机自启动SVN服务器让Linux启动时自动启动svn服务的办法是在/etc/rc.local文件里添加下面的语句:/opt/svn/bin/svnserve -d其中:/opt/svn/bin是svn的安装路径停止SVN服务器:killallsvnserve启动SVN服务器对于单个代码仓库启动命令svnserve -d -r /home/svnsvn默认端口是3690,你需要在防火墙上开放这个端口。
/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT/sbin/service iptables saveSVN迁移SVN迁移可能有很多原因, 可能是我们想换Repository目录, 或者是想换一台机器, 等等. SVN迁移很容易做, 按照下面步骤就可以:1. 将原来的Repository导出为一个文件dumpfile>svnadmin dump path/to/old-repo >dumpfile2. 创建新的Repository, 创建方法可以参考Windows 平台安装Subversion server3. 将dumpfile导入到新的Repository>svnadmin load path/to/new-repo <dumpfile4. 检查新的Repository的conf/目录下的配置文件, 检查hooks/目录下的构子程序等等...SVN转移过程把当前项目打包压缩,然后拷贝到svn的启动根目录下,在svn启动时,设定跟路径启动即可。
然后,svn客户端,通过重新定位(relocate)来定位新的svn服务器。
svn卸载在rpm -e 移除已经安装好的svn时,报错error: "subversion" specifies multiple packages造成这个问题的主要原因是subversion被重复安装了两次或两次以上rpm -qa | grep e2fsprogse2fsprogs-libs-1.39-10.el5e2fsprogs-libs-1.39-10.el5e2fsprogs-1.39-10.el5使用rpm -e --allmatches subversion 即可完全卸载SVN安装过程1. svn服务器安装需要的包: subversion-1.4.0.tar.gz subversion-deps-1.4.0.tar.gz编译:tar zxfv subversion-1.4.0.tar.gztar zxfv subversion-deps-1.4.0.tar.gz解压之后subversion-deps-1.4.0.tar.gz也会在subversion-1.4.0这个文件夹下cd subversion-deps-1.4.0.tar.gz./configuremake cleanmakemake install默认安装在/usr/local 你也可以用 ./configure –prefix = /xxx/xxx 来指定安装路径测试一下:svnserve –version ,如果安装成功会有相应的信息显示2. svn配置创建一个 Subversion 版本库:# 创建文件夹$ mkdir -p /etc/svn/repos# 运行创建版本库的命令,指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb$ svnadmin create --fs-type fsfs /etc/svn/repos3,查看生成的版本库结构:$ ls -l /etc/svn/repos (如生成成功应该有conf db format hooks locks README.txt 这几个文件结构)4,创建项目临时目录,建议目录结构如下:mkdir -p /etc/svn/tmp/project_exam/trunk tags branches/********************************************************** 然后将项目文件复制到trunk下,5,导入source[root@localhost /etc/svn/tmp/project_exam/trunk/exam_online] #/usr/local/subverion/bin/svn import -m "initial import" /etc/svn/tmp/ file:///etc/svn/repos//***********************************************************-m 后面跟的是操作注释 /opt/sv/tmp是项目文件位置file:///etc/svn/repos是创建的软件仓库 ***********************************************************/6,检查是否倒入成功#svn list --verbose file:///etc/svn/repos//*********************************************************** 如果成功你看到到你倒入的项目列表,按我的操作步骤应该不会有错***********************************************************/7, 给仓库授权#chown -R apache.apache /etc/svn/repos#chmod 770 /etc/svn/repos#chmod -R g+w /etc/svn/repos 修改版本库配置文件:版本库1:vi /etc/svn/repos /conf/svnserve.conf内容修改为:[general]anon-access = noneauth-access = writepassword-db =passwdauthz-db = authzrealm = repos其他与版本库1配置文件完全相同。
linux下搭建SVN查看系统下有没有安装过⽼版本的svn:rpm -qa subversion,如果没安装过则什么都不显⽰如果有⽼版本先运⾏⼀下yum -y remove subversion,删除⽼版本。
第⼀步:通过yum命令安装svnserve,命令:yum -y install subversion此命令会全⾃动安装svn服务器相关服务和依赖,安装完成会⾃动停⽌命令运⾏若需查看svn安装位置,可以⽤命令:rpm -ql subversion第⼆步:创建版本库⽬录(此仅为⽬录,为后⾯创建版本库提供存放位置,subversion默认是把/var/svn作为数据根⽬录的,开机启动默认也是从这⾥):mkdir /var/svn/svnrepos第三步:创建svn版本库在第⼆步建⽴的路径基础上,创建版本库:svnadmin create /var/svn/test(test为⽬录(项⽬或版本库)名称,后⾯checkout项⽬时会⽤到。
)创建成功后,进⼊test⽬录下,可以看见如下⽂件信息:cd /var/svn/testconf:是这个仓库配置⽂件(仓库⽤户访问账户,权限)format:是⼀个⽂本⽂件,⾥边只放了⼀个整数,表⽰当前⽂件库配置的版本号hooks:放置hook脚步⽂件的⽬录locks:⽤来放置subversion的db锁⽂件和db_logs锁⽂件的⽬录,⽤来追踪存取⽂件库的客户端第四步:配置修改进⼊conf,conf⽬录下,⼀共存放三份重要的配置⽂件,如下:authz:负责账号权限的管理,控制账号是否读写权限passwd:负责账号和密码的⽤户名单管理svnserve.conf:svn服务器配置⽂件修改svnserve.conf:vim svnserve.conf原始⽂件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下:[general]anon-access = none #控制⾮鉴权⽤户访问版本库的权限auth-access = write #控制鉴权⽤户访问版本库的权限password-db = passwd #指定⽤户名⼝令⽂件名,即访问时要输⽤户名和密码realm = test #指定版本库的认证域,即在登录时提⽰的认证域名称,改成⾃⼰的版本库修改authz⽂件信息:vim authz在⽂件内容的末尾,添加如下:rw表⽰赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这⾥如果斜杠反了,authz-db = authz ⼀直会提⽰“认证失败”第⼀种⽅式:单个添加:# 按账号分权限[test/]admin = rwtest = r第⼆种⽅式(后⾯采⽤此⽅式配置):⽤户分组,再设权限[groups]# 按⽤户组分权限admin = admin,admin1 # admin为⽤户组,等号之后的为⽤户test = test1, test2 # test为⽤户组,等号之后的为⽤户[/] # 表⽰svn仓库⽬录(/var/svn/test),test: 对应前⾯配置的realm = test@admin = rw # 表⽰admin组对仓库(/var/svn/test)⽬录有读写权限,r为读,w为写@test = r # 表⽰test组的⽤户对对仓库(/var/svn/test)⽬录只有读的权限[/test1] # 表⽰test1⽬录(/var/svn/test/test1)@test = rw # 表⽰test组对test1⽬录有读写权限* =备注:版本库的⽬录格式如下:[<版本库>:/项⽬/⽬录]@<⽤户组名> = 权限<⽤户名> = 权限其中[]內容有許多写法:[/],表⽰根⽬录及其⼀下的路径,根⽬录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表⽰对全部版本设置的权限[test:/],表⽰对版本库test设置权限;[test:/svnadmin],表⽰对版本库test中的svnadmin项⽬设置权限;[test:/svnadmin/second],表⽰对版本库test中的svnadmin项⽬的⽬录设置权限;权限的主体可以是⽤户组,⽤户或者*,⽤户组在前⾯要以@开头,*表⽰全部⽤户权限分为:r ,w, rw和null ,null空表⽰没有任何权限。
CentOS 6.6系统上安装SVN服务器端的方法及步骤SVN其实就是Subversion,分为服务器端和客户端。
之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法。
本文主要介绍CentOS 6.6系统上安装SVN服务器端的方法及步骤。
系统环境说明如下:操作系统:Centos6.6 x86-64SVN: subversion-1.8.111、检查是否安装了低版本的SVNrpm -qa | grep subversion如果已安装SVN,则会返回版本信息,如:subversion-1.6.11-9.el6_4.i686卸载旧版本SVNyum remove subversion2、安装SVNyum –y install subversion3、检查安装是否成功svnserve --version返回值:svnserve, version 1.8.11compiled Jul 23 2013, 21:32:09 on i686-pc-linux-gnuCopyright (C) 2013 The Apache Software Foundation.This software consists of contributions made by many people;see the NOTICE file for more information.Subversion is open source software, see /The following repository back-end (FS) modules are available:* fs_fs : Module for working with a plain file (FSFS) repository.Cyrus SASL authentication is available.4、代码库创建mkdir -p /opt/svn/repositoriessvnadmin create /opt/svn/repositories执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf,db,format,hooks,locks, README.txt等文件,说明一个SVN库建立完成。
5、配置代码库进入上面生成的文件夹conf下,进行配置cd /opt/svn/repositories/conf5.1用户密码passwd配置vim passwdpasswd文件的内容如下:### This file is an example password file for svnserve.### Its format is similar to that of svnserve.conf. As shown in the### example below it contains one section labelled [users].### The name and password for each user follow, one account per line.[users]# harry = harryssecret# sally = sallyssecrettest = 123456789##新增用户的用户名和密码5.2权限控制authz配置vim authz目的是设置哪些用户可以访问哪些目录,authz文件的内容如下:### This file is an example authorization file for svnserve.### Its format is identical to that of mod_authz_svn authorization### files.### As shown below each section defines authorizations for the path and### (optional) repository specified by the section name.### The authorizations follow. An authorization line can refer to:### - a single user,### - a group of users defined in a special [groups] section,### - an alias defined in a special [aliases] section,### - all authenticated users, using the '$authenticated' token,### - only anonymous users, using the '$anonymous' token,### - anyone, using the '*' wildcard.###### A match can be inverted by prefixing the rule with '~'. Rules can### grant read ('r') access, read-write ('rw') access, or no access### ('').[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups]# harry_and_sally = harry,sally# harry_sally_and_joe = harry,sally,&joe# [/foo/bar]# harry = rw# &joe = r# * =# [repository:/baz/fuz]# @harry_and_sally = rw# * = r[/]test = rw设置[/]代表根目录下所有的资源5.3服务svnserve.conf配置vim svnserve.confsvnserve.conf文件的内容如下:[general]#匿名访问的权限,可以是read,write,none,默认为readanon-access=none#使授权用户有写权限auth-access=write#密码数据库的路径password-db=passwd#访问控制文件authz-db=authz#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字realm=/opt/svn/repositories启动svn服务svnserve -d -r /opt/svn/repositories6、查看SVN进程ps -ef|grep svn|grep -v grep返回root 20850 1 0 Jul24 ? 00:00:00 svnserve -d -r /opt/svn/repositories 7、查看SVN监听的端口netstat -an |grep 36908、停止启动SVNkillall svnserve#停止svnserve -d -r /opt/svn/repositories #启动9、安装svn客户端目前最流行的svn客户端非TortoiseSVN莫属下载安装/projects/tortoisesvn/files/latest/download?source=dlp客户端连接地址:svn://公网或内网的IP地址,有时候需要添加端口号用户名/密码:test/123456789 ##要和之前设置的用户名和密码匹配注意:默认端口为3690,如果该端口被占用,或者需要修改端口,使用下面语句svnserve -d -r /opt/svn/repositories --listen-port 3691阿里云服务器环境(PHP+Nginx+MySQL)【原因1】svnserve.conf 没写好,当然你先备份一份先:cp svnserve.conf svnserve.conf.bak打开此文件vi svnserve.conf清空里面的所有代码,复制黏贴以下代码:[general] anon-access = read auth-access = write password-db = passwd authz-db = authz注:每行代码前面一定不要有空格,每行全部顶置。
【原因2】TortoiseSVN 缓存问题右键点击本地副本,TortoiseSVN -> Settings -> Saved Data,点击个个“Clear”按钮,把本地缓存都清除了,点击“确定”,再重新“checkout”。
【原因3】防火墙3690 端口没有对外开放,因此我们要修改配置文件:vi /etc/sysconfig/iptables在中间的位置复制如下代码(如果有就跳过):-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT重启一下防火墙service iptables restartdone!。