快速学会搭建SVN服务器
原文:快速学会搭建SVN服务器
SVN是一个版本控制工具,常用于我们软件开发项目中,用来管理我们团队共同使用的代码,文档等历史版本的管理,保持代码的更新,避免混乱。
需要工具:
svn安装程序:免费下载
apache的http服务器,免费下载
svn的eclipse插件,免费下载
TortoiseSVN图形化工具64位和32位版本,免费下载
安装svn及基本DOS操作:
首先安装svn是非常的简单,就像我们安装其他的windows软件是一样的,安装完成后安装程序自动将我们svn安装目录下的bin目录加载在了我们的环境变量里。所以我们可以直接在我们的cmd窗口内运行我们的svn命令。我们先来学习第一个命令,创建一个svn仓库,我们先在E盘下创建一个目录
E:\\svn\db 这个目录就是我们svn的仓库,我们日后所以上传都svn上的资源其实都是存在这个目录下的,只是格式已经被svn给加密我们无法直接识别,就像是用数据库管理我们数据一样。我们在cmd里输入:
svnadmin create E:\\svn\db
这个就是将我们刚才的目录指定为存储仓库。然后我们运行我们的svn服务在cmd内输入:
svnserve –d –r E:\\svn\db
该命令含义为让 我们的SVN 将此目录作为仓库,并侦听客户端的请求。其中-d 的作用为后台模式,而-r
的作用为指定服务器的仓库路径。现在我们的svn服务器就已经启动成功了,是不是很简单,然后我们开始向我们的svn上上传我们的资源。我们再次打开一个cmd窗口,刚才的cmd窗口不能关闭,在cmd内跳转到我们的资源文件夹内执行:
svn import svn://localhost
这个时候会出现一个错误,命令执行失败,因为我们需要指定打开svn日志信息的工具,这里我们在环境变量里增加一个增加一个键名为SVN_EDITOR
键值为notepad的记录。我们再次运行刚才的命令,这时我们的日志文件自动用记事本打开,我们直接关掉输入c继续操作。再次出现认证失败的信息,这次其实是我们已经这说明我们已经连接到了 SVN 服务器,但是默认是svn服务器是不允许匿名访问的,我们打开我们的E:\svn\db目录改变一下
SVN 的认证权限。用文本编辑器打开 svnserve.conf 文件找到第 12 行:anon-access = read,这表示匿名用户的访问权限是读,并且大家注意到,该行前面有一个警号:#。这表示该行是被注释掉的。我们将注释去掉,并且加上一行anon-access = write。我们打开一个cmd开启svn服务再开启一个cmd执行上面的上传操作,是不是操作成了,我们所在文件夹目录下的文件是不是都上传了上去。
这样大家是不是觉得svn上的管理太乱了,没关系svn是支持虚拟目录的
svn mkdir svn://localhost/xunimulu
这样便可以帮助我们在svn上创建一个虚拟的文件夹。我们如果想将svn上的文件下载下来如何?在svn的操作中这个叫做检出。checkout命令(检出):将命令行当前目录转到该目录,输入如下命令:
svn checkout svn://localhost/xunimulu
这样就可以将这个文件夹下的资源下载到们的当前目录,如果我们修改文件后,需要与服务器上的文件进行同步,我们需要执行
svn commit test2.txt
如果执行该行出现错误,则我们清除锁定,输入:svn
cleanup
SubVersion的密码验证
匿名访问我们的svn服务器是不是太危险了,我们接下来就是使用svn自带的配置文件来对我们的svn进行权限控制,我们用文本编辑器来打开刚才的
svnserve.conf配置 文件将 password-db = passwd 之前的#号删掉,在用文本编辑器打开passwd 文件加入账号密码形式为username=password
注意:在一次登录后,SVN 会将我们的登录信息保存起来存放在硬盘上的文件中,其存放位置为: C:\Documents and Settings\[你的登录系统用户名] \Application Data\Subversion,如果想要删除该信息,只需要将该目录中的 auth 文件夹删除即可。
图形化工具安装
刚才的dos操作是不是很不方便,我们的下载软件中包括一个图形化工具,非常简单实用,大家可以安装上用一下,安装非常简单。安装完成后我们的右键菜单中多出了很多svn的操作。还是以上的功能,只是变成了图形化界面操作,大家可以自己体验一下,在此不再赘余。
整合apache服务器
刚才大家肯定也注意到我们的svn服务器只能一直依托一个cmd窗口,这样是不是很不方便,接下来我们让我们的svn来整合apache的httpd服务器,首先安装apache
的http服务器。它的默认端口号是80如果有端口号冲突,我们的服务器是无法正常启动的,只需要修改配置文件更改端口号重启即可。安装完成后在浏览器输入:http://localhost如果跳转到apache的网页则说明安装成功。然后我们开始进行整合,首先到svn安装目录的bin目录下找到
mod_authz_svn.so 与 mod_dav_svn.so 两个文件,拷贝到 Apache 的安装目录下的modules 子目录中。然后修改apache的配置文件,打开apache安装目录下的,conf 目录,用文本编辑器打开 httpd.conf 文件(这个文件是 Apache 的配置文件,非常重要)找到第 145 行和 146 行。将前面的#号去掉,不能有空格,然后再增加如下两行内容:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
表示将我们之前拷贝的模块导入到 Apache 中,转到该文件的最后,增加如下内容:
<Location /svn>
DAV svn
SVNParentPath e:\\svn\db #svn仓库主目录
</Location>
重新启动 Apache,在浏览器中输入如下地址:http://localhost/svn我们就已经将svn跟apache服务整合成功,这样我们只需要启动apache服务器就相当于启动了我们的svn服务器。
整合apache密码设置
svn的密码认证也是非常的弱,在这里我们也与apache整合,我们将刚才的apache配置文件最后加的内容修改为一下内容:
<Location /svn>
DAV svn
SVNParentPath e:\\svn\db #svn仓库主目录
AuthType Basic
AuthName "Subversion test"
AuthUserFileE:/passwd/passwords
Require valid-user
</Location>
这些信息的内容分别是:
AuthType 表示验证类型,这里我们采用 BASIC 即基本方式,也是最常用的验证方式。AuthName
表示出现登录对话框时,窗口的标题名。AuthUserFile 表示用户登录信息的存放文件,这里我们将该文件保存为 E:/passwd/passwords,目前该文件还不存在,不过不要着急,我们稍后就会创建该文件。#保存用户名和密码,这个文件需要用Apache的htpasswd工具创建。Require
valid-user 表示只有认证的用户才能访问,否则匿名用户也可以访问。首先创建E:/passwd文件夹
打开cmd命令跳转到apache的安装目录下的bin目录下执行htpasswd –c E:/passwd/passwords
hello (hello是用户名)接下来的提示要求输入 hello 用户的密码,其中密码默认使用 MD5 方式加密。
现在我们再创建一个用户 google,密码也为 world。方式同前。在命令行输入:htpasswd
E:\passwd\passwords google因为该用户信息文件之前已经创建好,所以这里不必再使用-c 参数
在浏览器地址栏输入http://localhost/svn则需要密码验证
SubVersion 整合 Eclipse
我们只需要将我们的插件包放到eclipse的dorpin目录下重启eclipse即可。
友情提示:转载请注明出处【作者:idlear
博客:http://blog.csdn.net/idlear】
快速学会搭建SVN服务器的更多相关文章
- 【SVN】CentOS7.0下搭建SVN服务器
SVN服务器搭建 最近接手了天赋吉运的SVN项目管理,那么学会搭建SVN服务器就成为了必须的技能.这篇文章就来讲一讲在CentOS7.0下如何搭建SVN服务器 1,下载安装SVN版本 yum inst ...
- Ubuntu 14.04快速搭建SVN服务器及日常使用【转】
转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 1.介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务 ...
- Ubuntu 14.04快速搭建SVN服务器及日常使用
1.介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可以很方面恢复到以前的版本,并可以查看数据更改 ...
- centos7 搭建svn服务器&客户端的访问&备份迁移
当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...
- [源码管理] Windows下搭建SVN服务器
前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效 ...
- 如何搭建SVN服务器,详细安装步骤。
SVN服务器端安装 下载: VisualSVN是一款图形化svn服务器.官网 http://www.visualsvn.com/server/ 下载地址: http://www.visualsvn.c ...
- CentOS 7搭建SVN服务器
安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...
- Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法
首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion ...
- 记录第一次搭建svn服务器
搭建svn服务器需要另外的软件, 在此以32位的为例: 安装过程非常简单, 一直下一步下一步确定就好了, svn安装完毕再安装中文语言包, 安装完成后可以在设置里面找到中文简体选择就OK了 主要记录一 ...
随机推荐
- VIM IDE
打造VIM IDE(针对C语言开发者) ================================使用vim打造IDE, 针对C语言开发者建议使用gvim================== ...
- Ajax技术——带进度条的文件上传
1.概述 在实际的Web应该开发或网站开发过程中,经常需要实现文件上传的功能.在文件上传过程中,经常需要用户进行长时间的等待,为了让用户及时了解上传进度,可以在上传文件的同时,显示文件的上传进度条.运 ...
- int 转换成 CString(VC2008里有这个问题)
int s = 123; CString str; str.Format("%d",s); 这样就可以了,但是有的会提示这个错误 如果出现这个错误,就改成下面这个就OK了: st ...
- asp.net 生成xml文件 与 asp生成xml文件
一.asp.net 生成xml文件 webservice方式,调用接口: public XmlDocument List() { XmlDocument doc = new XmlDocument() ...
- Python中使用Flask、MongoDB搭建简易图片服务器
主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...
- JAVA EE 项目经常使用知识 之AJAX技术实现select下拉列表联动的两种使用方法(让你真正理解ajax)
ajax 下拉列表联动的使用方法. ajax的定义: AJAX 是一种用于创建高速动态网页的技术. 通过在后台与server进行少量数据交换,AJAX 能够使网页实现异步更新.这意味着能够在不又一次载 ...
- 跨平台编程中的宏定义(__LINE__和__DATE__极其有用)
要用师兄的计算机算东西,无赖那上面是WINDOWS的系统,为了写出能够跨平台的代码,需要在代码中用到宏来选择编译.一种方法是自己在Makefile里面定义好该平台对应的宏.实际上,编译器基本上都会有一 ...
- 如何获得getElementById的length这个数值?
a=document.getElementById("a").innerHTML.length;我觉得你应该这么写 如果是文本框的话document.getElementById( ...
- delphi删除只读文件
只读文件就是不能删除的文件,用DeleteFile函数对它来说是毫无意义的,要删除只读文件,只有先改变它的属性.如果你要删除一个文件,最好先作两个方面的考虑: (1)判断该文件的属性.可以用上面提到的 ...
- android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过
前两天,公司有一个利用android远程操作sqlserver的项目,对此我是毫无头绪的,但也挺感兴趣的,于是开始上网搜索方法,网上有挺多方法了,发现使用webservice的挺多的,不过我对这些技术 ...