这两天整了一下SVN的服务器,网上资料的确挺多的,多少都有些遗漏,以至于我配置的时候找了好多资料来参考。废话少说,将这两天使用的资料整理一下。
一、首先准备好软件:这些官网上都是可以找到的。
1、APACHE(httpd-2.2.17-win32-x86-no_ssl.msi)
2、SVN服务器(Setup-Subversion-1.6.16.msi http://subversion.tigris.org)官网上可以下载的
3、SVN客户端(TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi http://tortoisesvn.net/downloads)
这个最好选择与服务器相对应的,下载时有提示
4、语言包(LanguagePack_1.6.6.17493-win32-zh_CN.msi )
5、SVNService.zip 用于建立windows服务
二、安装
1、安装APACHE(参考的是http://tech.163.com/06/0206/11/299AMBLT0009159K.html图文并茂写的很详细)
和装普通的软件一样,只是安装完了需要配置一下。
查找关键字“DocumentRoot”,主要是一般文件地址的“/”在Apache里要改成“/”。
DirectoryIndex(目录索引),比如有些网站的首页是index.htm,就在光标那里加上“index.htm ”文件名是任意的。
把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要强制输出的语言,中文是“zh-cn”,保存,关闭。
2、安装SVN的服务器和客户端。(参考http://lionsadness.iteye.com/blog/744412)
安装完了之后会重启一下,之后安装语言包。将 5 SVN服务 解压到 2 中安装目录下的 bin 目录中。
找到 Subversion 安装目录下的以下文件:
bin/mod_authz_svn.so
bin/mod_dav_svn.so
复制到 Apache 安装目录下 modules 目录中
bin/intl3_svn.dll
bin/libdb*.dll
复制到 Apache 安装目录下 bin 目录中(这里似乎并不是必须的)
三、创建版本仓库 (参考http://blog.163.com/air-blue55/blog/static/9708657020105612454398/)
1、新建一空文件夹 E:/svn,作为所有版本库的根目录。
然后,进入命令行并切换到subversion的bin目录。输入如下命令:svnadmin create E:/svn/repos1
此命令在 E:/svn 下建立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件。
我们也可以使用 TortoiseSVN 图形化的完成这一步:
先建立空目录 E:/svn/repos1 ,注意一定是要空的。然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。
这两种方式我都用过了,似乎图形化的方式创建的时候,不用选择版本库模式。
2、修改配置文件
对三个文件进行配置,在svn/conf目录下,分别为svnserve.conf,passwd,authz。
<1> 文件svnserve.conf中把下面前面的#号去掉,修改如下:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
<2> 文件passwd增加用户,修改如下:
[users]
yao = 123(随用户自己命名和取的密码)
<3> 文件authz修改如下:
[groups]
admin = yao
[/]
@admin = rw
*= r
当然还有开发者、测试者的配置,权限不一样。详细参考Windows下Subversion配置管理员指南(http://www.uml.org.cn/pzgl/200611151.htm)
四、创建SVN服务和启动服务
1.创建服务
DOS窗口下
D:/Subversion/bin>SVNService -install -d -r E:/svn
或者D:/Subversion/bin>svnserve -d -r E:/svn(和上面差不多)
2.启动服务
直接进入服务 启动“SVNService”服务。
五、APACHE配置
修改Apache的配置文件 httpd.conf ,使用LoadModule来加载mod_dav_svn模块。
去掉#LoadModule dav_module modules/mod_dav.so前面的“#”号。
添加:
LoadModule dav_svn_module modules/mod_dav_svn.so
一定确定它在 mod_dav 之后。
现在你已经设置了Apache和Subversion,但是Apache不知道如何处理Subversion客户端,例如TortoiseSVN。为了让Apache知道哪个目录是用来作为Subversion版本库,在httpd.conf 配置文件最后添加如下几行:
<Location /repository>
DAV svn
SVNParentPath E:/svn
</Location>
这个配置告诉Apache首先需要启用 dav_module,然后加载 dav_svn_module 。版本库对外的URL是:
http://服务器IP/repository 所有的Subversion版本库在物理上位于D:/SVN/svnAllproject。
配置完毕后重新启动 Apache,打开浏览器,输入 http://服务器IP/ repository +"具体的版本仓库" 如
http://服务器IP/ repository/repos1
六、权限
使用 Apache 安装目录下的 bin/htpasswd.exe 可执行文件生成授权文件
第一次生成,使用 -cb 参数:
htpasswd -cb [filename] [username] [password]
例如:
htpasswd -cb passwd.apache islee 123
添加新用户,使用 -b 参数:
htpasswd -b passwd.apache another 456
将生成的 passwd.apache 文件移动到 D:/svn/repos1/conf目录下
我使用的时候这个命令不是完全对的,根据命令提示操作即可。当时做的时候没有完全记下来。
还要将这些信息加入到 Apache配置文件里,conf/httpd.conf
<Location /repository>
DAV svn
SVNParentPath E:/svn
AuthType Basic
AuthName "enterprisesys"
#AuthzSVNAccessFile "E:/svn/repos1/conf/authz"
AuthUserFile "E:/svn/repos1/conf/passwd.apache"
Require valid-user
</Location>
七、插件Myeclipse与SVN整合
插件地址:http://subclipse.tigris.org/update
方法一:(我用的是这种方法,而且没有问题)
<1>若没有该选项,则采用以下方法,点击Help—Software Updates---And / Remove Software…在出现的对话框中选择 Add---Add Site---输入name为SVN,URL为http://subclipse.tigris.org/update 点击确定 安装完成即可。
打开MyEclipse菜单---Window---Show View---Other….选择SVN---SVN资源库在Myeclipse中出现SVN透视图
<2> 在空白处右击---新建---资源库位置,在URL选项中写入:svn://localhost/repository/repos1/,确定即可
在弹出的对话框中输入用户名和密码(为之前在文件修改的用户名和密码),确定 (路径一定要正确,不然会出错)。
<3> 右击建立的资源库位置,新建一个远程文件夹,填入文件夹名,Next—Finish
<4>右击新建的远程文件夹,选 导入 选项,选择导入目标文件的目录,点击确定即可
<5>打开file菜单---New---Others….---SVN---从SVN中出去项目---next---选定资源库位置---Next---选择目标远程文件夹---Next---为项目命名---Finish
方法二:(这种方法安装的subclipse会比较麻烦,这种方法没有试)
<1>subclipse.tigris.org 下载subclipse , site-1.0.6
<2>解压文件,在Myeclipse菜单--help--Software Update--Add/Remove Software --- Add --Add Local ---选中site-1.6.10.zip---选中 Personal Sites--完成安装。
以上是参考了很多网上的资料,以及自己配置服务器的过程的情况,总结的。以后配置的时候就方便了,留着以后看。