《WINDOW+TortoiseSVN+LINUX CENTOS 6+SVN服务器端安装》要点:
本文介绍了WINDOW+TortoiseSVN+LINUX CENTOS 6+SVN服务器端安装,希望对您有用。如果有疑问,可以联系我们。
到官网下载 https://tortoisesvn.net/downloads.html
注意有安装程序和语言包,本文是V1.9,安装后再安装语言包。
双击开始安装
点击Next
点击Next
这里我们把command line client tools也装上,点击它,选择Entire feature will be installed on local hard drive
然后点击Next
点击Install开始安装。
点击Finish,安装就完成了
TortoiseSVN并没有管理界面,但当你鼠标右击的时候,会多出SVN Checkout…和TortoiseSVN这两个选项。
安装完之后重启一下电脑,不然以后导出的项目没有那个小对号,看着不爽(但也并不影响使用)。
至此,客户端安装完成,接下来安装服务端
从SVN服务器下载项目
在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN检出:
然后,通过从SVN服务端获取的 资源库URL+具体的项目文件夹名 下载相应项目,并可以知道下载项目的保存位置
对项目的修改与提交
1:把项目下载到本机后,其实就是一个普通的项目文件而已,你可以在里面添加文件、修改文件、删除文件等等。
2:提交修改
在项目文件空白处右键,选择 SVN提交
然后,输入 本次提交的版本更新信息(所作修改的注释)、勾选要提交的操作内容,点击 确定,即可把本机项目提交到SVN服务器资源库,覆盖掉资源库项目从而实现更新。
(如果发生提交冲突,即两人都提交修改,后提交者由于版本落后会提交失败。这时可以先把自己的项目备份,然后从服务端下载最新的项目(下面有讲SVN更新),再把自己的项目覆盖到本地项目文件夹,最后SVN提交即可成功提交)
(SVN不提供历史版本功能,所以项目被覆盖后就找不回来了,所以切记备份。如果需要历史版本的保存功能,推荐使用Git)
3:获取更新
如果别人修改了SVN服务端资源库上的项目,你想下载最新的项目,则在 本机项目文件空白处单击鼠标右键,选择 SVN更新 ,即可自动完成下载,并会提示所作的更新有哪些。注意:在原项目文件夹内选择SVN更新的话,会自动覆盖掉原有内容。建议:先备份,再更新,防止自己本来的项目内容丢失。
一般服务器上都默认有svn了,如果没有,则直接yum -y install subversion 即可,运行rpm -qa subversion,就会发现svn已经下载并安装好了。
具体安装不详解,这里重点说配置:
1.创建svn版本库,命令如下:
svnadmin create /liyang/svn/project
可以看见project目录下面生成了很多文件夹,进入版本库中的配置目录conf,此目录有三个文件:用户名口令文件、权限配置文件、svn服务综合配置文件
2.修改svnserve.conf文件,命令如下:
vi svnserve.conf
开始配置,注意前边不要有空格,要顶齐。
找到下面这些地方
删除前面的#好,注意英文要左对齐,不要留空格。改成如下图所示这个样子:
这里anon-access必须为none,因为只有设为none,在客户端才能看到每次提交的备注信息
修改好之后按 ESC,然后输入 :wq回车(意思是保存并退出,一定要有冒号~~)
【注意】
anon-access =
read
这个是表示是否匿名访问,要改成 none
realm 是注释,在登录验证时会显示。可以改成你自己的提示内容。
password-db 表示密码文件,可以指定路径另外存放。
authz-db 认证文件,也是可以指定路径另外存放。如 authz-db = /var/authz
3.修改authz文件,命令如下:
vi authz
修改完成后如图所示,依旧保存并退出。
备注:
admin = liyang,usertest1 #创建admin组,组成员为: liyang,usertest1,在[groups]下面添加
#用户组格式 用户组名 = 用户1,用户2
#一个组可以包含多个用户,英文逗号间隔,用户名必须是在passwd中存在的
user = test1 创建用户组,用户成员:test1
[test:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录
SVN目录格式:
[/目录名]
@用户组名 = 权限
用户名 = 权限
* =
@admin = rw admin组有读写的权限
@user = r user组只有读的权限
Leo = r 用户leo有读的权限
*= 表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
备注:版本库的目录格式如下:
[<版本库>:/项目/目录]
@<用户组名> = 权限
<用户名> = 权限
其中[]內容有許多写法:
[/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限
[test:/],表示对版本库test设置权限;
[test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;
[test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;
权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户
权限分为:r ,w, rw和null ,null空表示没有任何权限。
auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。
4.修改passwd文件,命令如下:
vi passwd 密码随意设置(别忘了就好)
svn的配置就到此为止了,接下来可以启动svn服务试试啦~
启动svn,命令如下:注意不要包含项目名,比如这里的project.
svnserve -d -r /liyang/svn/
如果想监听其它端口,则可以:
svnserve -d -r /liyang/svn/ --listen-port 88
然后查看一下svn的进程,命令 ps -ef|grep svnserve ,如图所示:
svn启动成功啦~~
# netstat -antup | grep svn
服务正常
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 17107/svnserve
5.设置防火墙:
iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
service iptables save
service iptables restart
6.停止SVN服务:
可以这样三种任一方式:
ps -aux|grep svnserve kill -9 ID号 或: kill -9 `ps -A |grep "svnserve"| awk '{print $1}'` 或: killall svnserve
1),使用windows的客户端来进行连接
2)在Linux使用如下命令行:svn co svn://192.168.xxx.xxx/test
如果失败的话,基本上可以断定authz文件的配置有问题,可以修改下: