svn搭建与TortoiseSVN客户端的使用

原创 2007年10月11日 15:58:00

      站在巨人的肩膀上,才能攀登更高峰。。有了高手的文档,SVN +Apache配置真是简单啊,赞一个。这拷一个,那删一个一步步下来就o了。。。
      这个和cvs基本上差不多,关键是在内部实现机制上有点不同,好像主要体现在认证上哈,客户端可以同过windows专用的TortoiseSVN,像什么新建create repository here,导入import导出export ,check out ,commit啊

等等皆可以通过鼠标右键完成。嘻嘻,下一步搬到linux上头去,现在要做的就是破解JiRA,还让我做一个软件工程工具的培训,靠。净干边缘活 了,奶奶的。想把文档传上了 不知道怎么传啊,散了,拷过来吧。

  声明:转贴哈 ,来自javaeye

所有资料来源于
http://www.iusesvn.com
我用Subversion - SVN|TortoiseSVN下载安装配置使用技术交流社区
SVN 服务端 安装和配置
1.Windows环境下 基于 Apache 的SVN 服务器安装及配置
1.1安装
1.1.1安装Apache
1)下载Apache
地址http://httpd.apache.org/download.cgi
 注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。当前建议下载Apache 2.0.59
   (2) 安装
下载完成后运行apache_2.0.59-win32-x86-no_ssl.msi ,根据提示进行操作。遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址。
   注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录/Apache Group/Apache2/conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 81,然后重新启动-这样就不会那个问题了。
 (3)检查
安装完成后浏览 http://localhost/ 若成功,可看到apache页面。
 
1.1.2安装Subversion
 (1)下载 Subversion
地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
2)安装
运行svn-1.4.3-setup.exe 安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。
 (3)后续
步骤1 从C:/Program Files/Subversion/bin 中将
mod_authz_svn.so mod_dav_svn.so复制到
C:/Program Files/Apache Group/Apache2/modules下
intl3_svn.dll libdb*.dll
C:/Program Files/Apache Group/Apache2/bin下
     步骤2 找到C:/Program Files/Apache Group/Apache2/conf/httpd.conf文件去掉如下几行的注释(删除 '#'标记):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
将下面几行添加到LoadModule部分的最后。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
 1.1.3安装TortoiseSVN(可选)
 
1.2配置
1.2.1配置服务
编辑c:/program files/apache group/apache2/conf/httpd.conf文件,
添加下面代码。
 
<Location /svn/>
DAV svn
SVNListParentPath on
#SVNPathAuthz off
SVNParentPath "C:/svndata"
 
#SVNIndexXSLT "/svnindex.xsl"
SSLRequireSSL
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "C:/svndata/passwd"
 
AuthzSVNAccessFile "C:/svndata/AuthzSVNAccessFile"
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#Require valid-user
#</LimitExcept>
#Satisfy Any
Require valid-user
</Location>
 
备注: <Location /svn/>可列出C:/svndata 下的版本库,若为<Location /svn>则不能访问https://127.0.0.1/svn下的项目只能这样访问,如https://127.0.0.1/svn/proj1
 
说明

设置
解释
<Location /svn>
意思是Subversion版本库的URL是http://MyServer/svn/
DAV svn
告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。
SVNListParentPath on
对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。
SVNParentPath D:/SVN
告诉Subversion需要查看的版本库位于D:/SVN之下
SVNIndexXSLT "/svnindex.xsl"
使用它可以在用浏览器浏览时更好看。
AuthType Basic
激活基本认证,就是用户名/密码
AuthName "Subversion repositories"
用来说明何时弹出要求用户输入认证信息的认证对话框
AuthUserFile passwd
指定使用的认证密码文件
AuthzSVNAccessFile
位置Subversion版本库的访问控制文件的路径
Require valid-user
指定只有输入了正确的用户/密码的用户可以访问URL
1.2.2建立版本库
与此配置对应,需要在C驱动器建立目录svn,其中可能包含多各项目得代码版本库,假设存在proj1、proj2、proj3,并已经建立了版本库。
例如 svn-win32-1.4.3/bin/svnadmin create --fs-type fsfs c:/svndata/proj1
 
1.2.3设置密码文件
在路径c:/program files/apache group/apache2下运行
bin/htpasswd -c passwd <username>
可在c:/program files/apache group/apache2创建passwd文件,可将它移动到其它位置,但要和AuthUserFile 的配置一致。
此后添加用户,使用如下命令:
bin/htpasswd passwd <username>
删除用户,使用如下命令:
bin/htpasswd -D passwd user
 
1.2.4设置权限文件
用文本编辑器在AuthzSVNAccessFile所指定的路径下生成名为svnaccessfile的文件,注意名称与配置文件一致,此处不使用扩展名。编辑一下内容:
[groups]
admin=lds
[/]
* = r
@admin = rw
dangerman =
[proj1:/]
@admin = rw
[proj2:/]
@admin = r
[proj3:/]
@admin =
基本含义是根目录下任何人有读权限,admin组有读写权限;admin对proj1读写权限 对proj2有读权限,对 proj3没有任何权限。
 
备注:如果有中文路径,那要把文件存成UTF8格式
1.3扩展
1.3.1Apache启用SSL
    1)将mod_ssl_etc.rar的mod_ssl.so拷到Apache的modules目录、openssl.exe、libeay32.dll、ssleay32.dll拷到bin目录、conf/ssl.conf拷到conf目录,在Apache的conf目录中用文本编辑器打开ssl.conf
将下面这些行用#注释掉:
DocumentRoot "c:/apache/htdocs"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog logs/error_log
TransferLog logs/access_log
   2)修改
SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateFile conf/ssl/my-server.cert
   3)修改
SSLCertificateKeyFile conf/ssl.key/server.key
SSLCertificateKeyFile conf/ssl/my-server.key
   (4)修改
SSLMutex file:logs/ssl_mutex
    
SSLMutex default
   (5)删除以下两行(如果有)
         <IfDefine SSL>
</IfDefine>
   (6)打开Apache配置文件(httpd.conf),去掉这行的注释
#LoadModule ssl_module modules/mod_ssl.so
  (7) 将压缩包openssl.cnf.rar 中openssl.cnf文件拷贝到C:/program files/apache group/apache2/bin下。
          然后C:/program files/apache group/apache2在用以下命令创建证书
bin/openssl req -config bin/openssl.cnf -new -out my-server.csr  
bin/openssl rsa -in privkey.pem -out my-server.key
bin/openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000
bin/openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
这时在Apache目录下创建了一些文件(my-server.der.crt, my-server.csr, my-server.key, .rnd, privkey.pem, my-server.cert)。将这些文件拷贝到目录conf/ssl
如果目录ssl不存在,你必须先创建一个。
 (8) 可以选择在<location>语句块中添加SSLRequireSSL语句强制使用ssl
 最后重启一下Apache服务
 
SSL补充
1.首先要生成服务器端的私钥(key文件):
openssl genrsa -des3 -out server.key 1024
运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:
openssl rsa -in server.key -out server.key

2.openssl req -new -key server.key -out server.csr -config openssl.cnf
生成Certificate Signing RequestCSR,生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.

3.
对客户端也作同样的命令生成keycsr文件:
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf

4.CSR
文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA.
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

5.
用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

现在我们所需的全部文件便生成了.

另:
client
使用的文件有:ca.crt,client.crt,client.key
server
使用的文件有:ca.crt,server.crt,server.key
.crt
文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)
 
 
 
1.3.2为用户提供密码修改服务
      根据 附件中Apache密码修改.rar中提示操作。
1.3.3外观
 (1)去掉 #SVNIndexXSLT "/svnindex.xsl" #号标志
 (2) 将附件中apache_svn_skin 中三个文件放到
C:/Program Files/Apache Group/Apache2/htdocs 下
 
 
ArthurLin 整理 (有问题一起讨论arthurjava@163.com
2007-6-1

我的svn配置

linux服务器: svnadmin create  /home/svn/myrepo (myrepo是版本库名) authz: [group] [/] name = rw passwd: nam...
  • leoking01
  • leoking01
  • 2014年11月29日 12:28
  • 3127

TortoiseSVN客户端入门使用教程

一直觉得,TortoiseSVN客户端使用很方便。当新员工入职后,总是要讲解一番基本操作。写了一个文档,介绍常用命令,这样一来新同事可以随时查找,另一方面,我也可以抽出时间来做其它事情。后期还是会陆续...
  • gwzz1228
  • gwzz1228
  • 2014年06月26日 19:24
  • 12871

客户端TortoiseSVN的安装及使用方法

一、客户端TortoiseSVN的安装 运行TortoiseSVN程序,点击Next,下面的截图顺序即为安装步骤:  图1:  图2: 图3: ...
  • qq_24887291
  • qq_24887291
  • 2015年03月27日 10:38
  • 1327

TortoiseSVN新人使用指南

这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。安装说明 使用说明 检出项目 导入项目 提交 更新 查看日志 版...
  • maplejaw_
  • maplejaw_
  • 2016年10月20日 16:32
  • 54917

TortoiseSVN搭建服务器

1.准备工作 下载TortoiseSVN-1.8.4.24972-win32-svn-1.8.5.msi  SVN安装包(SVN客户端) 下载setup-subversion-1.8.4.msi   ...
  • mafan121
  • mafan121
  • 2015年10月28日 11:37
  • 4435

TortoiseSVN使用教程[多图超详细]

安装及下载client 端 下载Windows 端程序:http://tortoisesvn.net/downloads。一般而言,如果是32-bit的Windows XP 应该使用TortoiseS...
  • zhenggaoxing
  • zhenggaoxing
  • 2015年05月11日 16:11
  • 1520

使用SVN对GitHub进行版本管理

对于使用GitHub的国人们,安装msysgit一直是很头痛的问题(本人接就没用安装成功过,8Kbps完全忍受不了),最近看到oschina的git貌似能使用svn,所以就去看了一下GitHub有没有...
  • r4p0_aaa
  • r4p0_aaa
  • 2015年07月18日 22:44
  • 1704

TortoiseSVN的安装及其简单使用

TortoiseSVN的安装及其简单使用
  • zsx157326
  • zsx157326
  • 2016年11月15日 20:43
  • 1539

TortoiseSVN 常用操作 svn教程

TortoiseSVN 常用操作 svn教程
  • DaveBobo
  • DaveBobo
  • 2017年04月19日 19:44
  • 824

SVN权限设置说明

SVN的权限设置信息记录在authz这个文件中。如果对含有中文名称的文件夹进行权限管理,需要把authz保存为UTF-8格式。不推荐使用Windows的记事本保存为UTF-8格式,可以用UltraEd...
  • kobi521
  • kobi521
  • 2013年03月28日 16:13
  • 4225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:svn搭建与TortoiseSVN客户端的使用
举报原因:
原因补充:

(最多只允许输入30个字)