WINDOW+TortoiseSVN+LINUX CENTOS 6+SVN服务器端安装
《WINDOW+TortoiseSVN+LINUX CENTOS 6+SVN服务器端安装》要点: 一、安装TortoiseSVN到官网下载 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这两个选项。 安装完之后重启一下电脑,不然以后导出的项目没有那个小对号,看着不爽(但也并不影响使用)。 至此,客户端安装完成,接下来安装服务端 二、TortoiseSVN常用操作:从SVN服务器下载项目 在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN检出: 然后,通过从SVN服务端获取的 资源库URL+具体的项目文件夹名 下载相应项目,并可以知道下载项目的保存位置
对项目的修改与提交 1:把项目下载到本机后,其实就是一个普通的项目文件而已,你可以在里面添加文件、修改文件、删除文件等等。
2:提交修改 在项目文件空白处右键,选择 SVN提交 然后,输入 本次提交的版本更新信息(所作修改的注释)、勾选要提交的操作内容,点击 确定,即可把本机项目提交到SVN服务器资源库,覆盖掉资源库项目从而实现更新。 (如果发生提交冲突,即两人都提交修改,后提交者由于版本落后会提交失败。这时可以先把自己的项目备份,然后从服务端下载最新的项目(下面有讲SVN更新),再把自己的项目覆盖到本地项目文件夹,最后SVN提交即可成功提交) (SVN不提供历史版本功能,所以项目被覆盖后就找不回来了,所以切记备份。如果需要历史版本的保存功能,推荐使用Git)
3:获取更新 如果别人修改了SVN服务端资源库上的项目,你想下载最新的项目,则在 本机项目文件空白处单击鼠标右键,选择 SVN更新 ,即可自动完成下载,并会提示所作的更新有哪些。注意:在原项目文件夹内选择SVN更新的话,会自动覆盖掉原有内容。建议:先备份,再更新,防止自己本来的项目内容丢失。
三、在CENTOS上安装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回车(意思是保存并退出,一定要有冒号~~) 【注意】
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:/] 赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录
@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文件的配置有问题,可以修改下: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |