快速学会搭建SVN服务器

简介: 原文: 快速学会搭建SVN服务器          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

目录
相关文章
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
3月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SVN服务器搭建教程】
现在,你已经成功在Ubuntu系统上搭建了SVN服务器。其他用户可以通过SVN客户端连接到你的SVN服务器,进行代码版本管理和协作开发。注意,为了安全起见,建议配置SSL加密以保护数据传输。
39 1
|
3月前
|
Apache 项目管理 数据安全/隐私保护
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
46 0
|
1月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
2月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
4月前
|
算法 程序员 Apache
Windows下搭建SVN服务器并配置eclipse和idea
Windows下搭建SVN服务器并配置eclipse和idea
53 1
|
4月前
|
网络安全 数据安全/隐私保护
Centos8下快速搭建SVN服务器
Centos8下快速搭建SVN服务器
89 0
|
7月前
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
Linux Shell 数据安全/隐私保护
CentOS 搭建SVN服务器
CentOS 搭建SVN服务器
410 0
CentOS 搭建SVN服务器
|
4月前
|
小程序 Linux Shell
SVN配置服务器自动更新
使用svn做版本控制服务器,其实还是比较方便的,不管是从搭建还是配置上,相对于git,都要简单很多。 Linux如何搭建SVN服务器,请移步《Centos7安装SVN》
51 0

热门文章

最新文章