|
|
| Windows下Subversion的安装使用(快速搞定服务器端配置) |
| 作者 CMStruggling 查看 2766 发表时间 2008/6/18 20:04 【论坛浏览】 |
近来发现很多朋友对于Windows下的Subversion服务器端的配置还不熟悉;jituxghay
越是自己整理了一份文档(比较基础);jituxghay
希望对有这方面需求的朋友有所帮助。jituxghay
jituxghay
ok;jituxghay
闲话少叙;jituxghay
言归正传。jituxghay
jituxghay
1. 软件下载jituxghay
1.1 下载Subversion安装软件jituxghay
到Subversion官方网站:jituxghay
http://subversion.tigris.org/ser ... der=254&folderID=91 下载jituxghay
svn-win32-1.4.6.zip(目前最新版本;是一个压缩包形式;而且for Apache2.0.x)jituxghay
jituxghay
1.2 下载TortoiseSVN安装软件(Subversion的Windows客户端程序)jituxghay
到TortoiseSVN官方网站:jituxghay
http://tortoisesvn.net/downloads 下载jituxghay
TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi(最新版本)jituxghay
jituxghay
1.3 下载Apache安装软件jituxghay
到Apache官方网站:jituxghay
http://httpd.apache.org/download.cgi 下载jituxghay
apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi(最新版本)jituxghay
jituxghay
jituxghay
2. 基于独立服务器 SVNServer的配置(参考网上的一些资料)jituxghay
2.1 安装Subversion和ToitoiseSVNjituxghay
2.1.1 直接把前面下载的Subversion解压缩就好了,比如我这里解压缩到: C:\Program Files\Subversionjituxghay
2.1.2 安装TortoiseSVN时按照提示安装就好了,安装完成后会提示重启。jituxghay
jituxghay
2.2 建版本库(Repository)jituxghay
2.2.1 首先把E:\TEST_SVN作为所有版本库的根目录,用命令行创建(可以首先将Subversion的bin目录添加环境变量Path,方便以后;这个很简单,这里不详述了),如下图,运行命令: svnadmin create E:\TEST_SVN\test_onejituxghay
则可在E:\TEST_SVN下建立一个版本库test_one;jituxghay
jituxghay jituxghay jituxghay
jituxghay
2.2.2 用TortoiseSVN创建:先在E:\TEST_SVN下新建文件夹test_one,在test_one目录下“右键→TortoiseSVN→Create Repository here...”,然后选择版本库模式(这里使用默认的FSFS即可),即创建成功。jituxghay
jituxghay
2.3 配置用户和权限jituxghay
在E:\TEST_SVN\test_one\conf目录下,jituxghay
2.3.1 修改svnserve.conf文件:jituxghay
修改:jituxghay
# password-db = passwdjituxghay
改为:jituxghay
password-db = passwdjituxghay
2.3.2 然后修改同目录的passwd文件:jituxghay
修改:jituxghay
# harry = harryssecretjituxghay
# sally = sallyssecretjituxghay
改为:jituxghay
harry = harryssecretjituxghay
sally = sallyssecretjituxghay
(即是去掉前面的#和空格,去掉注释)jituxghay
jituxghay
2.4 运行独立服务器jituxghay
运行命令: svnserve –d –r E:\TEST_SVN\test_onejituxghay
如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
命令窗口不要关闭,关闭窗口会把服务停止。jituxghay
jituxghay
2.5 初始化导入jituxghay
比如在E盘下有个文件夹MemberShip(里面放的是MemberShip.doc),将其导入到版本库中,选中此文件夹“右键→TortoiseSVN→Import...”,输入地址;jituxghay
如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
输入“初始化导入”作为注释;jituxghay
点OK后会提示输入用户名密码,输入前面设置的用户:harry/harryssecret或sally/sallyssecret;完成后此文件夹MemberShip的全部内容都已导入到版本库test_one里;如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
此时可在客户端工具TortoiseSVN里浏览操作,如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
jituxghay
2.6 基本客户端操作(这里只是一些最基本的操作)jituxghay
2.6.1 check outjituxghay
取出版本库到一个工作拷贝:来到任意空目录下,比如我这里: E:\TEST_SVNdemo;选中此文件夹“右键→SVN Checkout”,输入URL,这样我们就得到了一份MemberShip 中内容的工作拷贝。jituxghay
如图:jituxghay
jituxghay jituxghay jituxghay
成功:jituxghay
jituxghay jituxghay jituxghay
jituxghay
jituxghay
2.6.2 commitjituxghay
在工作拷贝中作出修改并提交:jituxghay
在TEST_SVNdemo工作拷贝中打开文件MemberShip.doc,作出修改,然后“右键→SVN Commit...”,这样我们就把修改提交到了版本库。jituxghay
在修改过的文件上“右键→TortoiseSVN→Show Log”,可以看到对这个文件所有的提交,在不同的 revision 条目上“右键→Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别。jituxghay
jituxghay
jituxghay
3. 基于Apache服务器的配置(参考网上的一些资料)jituxghay
3.1 安装Apache服务器jituxghay
按照提示安装就好了,比如我这里安装到:jituxghay
C:\Program Files\Apache Software Foundation\Apache2.2jituxghay
如果80端口已经被占用了,如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
可以修改Apache的httpd.conf文件将端口修改为8088,如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
jituxghay
3.2 拷贝文件jituxghay
进入Subversion的安装目录(C:\Program Files\Subversion\bin),拷贝4个文件:jituxghay
intl3_svn.dll;libdb44.dll;mod_authz_svn.so;mod_dav_svn.so到Apache的modules目录(C:\Program Files\Apache Software Foundation\Apache2.2\modules)。jituxghay
jituxghay
3.3 配置jituxghay
3.3.1 修改Apache的httpd.conf文件jituxghay
(C:\Program Files\Apache Software Foundation\Apache2.2\conf),jituxghay
在LoadModule部分的最后添加如下4行(按顺序添加):jituxghay
LoadModule dav_module modules/mod_dav.sojituxghay
LoadModule dav_fs_module modules/mod_dav_fs.sojituxghay
LoadModule dav_svn_module modules/mod_dav_svn.sojituxghay
LoadModule authz_svn_module modules/mod_authz_svn.sojituxghay
jituxghay
3.3.2 修改Apache的httpd.conf文件,jituxghay
(C:\Program Files\Apache Software Foundation\Apache2.2\conf),jituxghay
在此配置文件的最后添加如下内容:jituxghay
jituxghay
DAV svnjituxghay
SVNParentPath E:\TEST_SVNjituxghay
AuthType Basicjituxghay
AuthName "Subversion repositories"jituxghay
AuthUserFile E:\TEST_SVN\passwdjituxghay
AuthzSVNAccessFile E:\TEST_SVN\Accessfilejituxghay
Require valid-userjituxghay
jituxghay
说明:这样配置的意思是;jituxghay
1. 你所有的版本库位于E:\TEST_SVN目录下;jituxghay
2. 保存用户名密码的文件是passwd;位于E:\TEST_SVN\passwd;jituxghay
3. 保存用户权限的文件Accessfile,位于E:\TEST_SVN\Accessfilejituxghay
jituxghay
3.4 用户名/密码验证jituxghay
上面已经提到用户名/密码的文件是passwd;要创建此文件需要用Apache下的htpasswd.exe文件进行创建。jituxghay
建议先将Apache的bin目录加到环境变量Path,方便以后。jituxghay
3.4.1 运行到E:\TEST_SVN;运行命令 htpasswd –c passwd test(此命令为创建passwd文件,test为用户名)jituxghay
如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
会提示输入密码,假定密码也为test。jituxghay
3.4.2 此时已经在E:\TEST_SVN下创建了一个passwd文件,此文件包含用户名/密码信息。jituxghay
jituxghay
3.4.3 同样运行命令 htpasswd –m passwd svntest(第一次用-c创建passwd文件;以后就用-m命令来添加用户了;更改用户的密码也用此命令);如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
3.4.4 命令 htpasswd –D passwd svntest为删除用户(此处命令用大写的D);如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
jituxghay
3.5 权限jituxghay
上面已经提到保存用户权限的文件是Accessfile。jituxghay
3.5.1 在E:\TEST_SVN下新建一个记事本之类的文档,然后将其改名为Accessfile。jituxghay
3.5.2 用记事本之类的文本编辑器打开Accessfile,然后在里面添加访问权限,类似的格式如下:jituxghay
[groups]jituxghay
admin = test,svntestjituxghay
test_two = testjituxghay
test_two_native = svnnativejituxghay
jituxghay
[/]jituxghay
* = rjituxghay
@admin = rwjituxghay
jituxghay
[/]jituxghay
[test_two:/]jituxghay
@test_two = rwjituxghay
jituxghay
[/]jituxghay
[test_two:/native]jituxghay
@test_two_native = rwjituxghay
说明:此前已经在E:\TEST_SVN目录下建了一个名称为test_two的版本库(方法前面已经有介绍);jituxghay
1. groups的意思是以群组的形式控制权限,而admin和test_two是各自群组的名称;jituxghay
2. *=r意思是所有的用户都有读的权限,rw是所有的用户都有读写的权限;jituxghay
3. [/]是指所有的版本库;而[test_two:/]是指test_two这个版本库;[test_two:/native]是指test_two这个版本库下的native目录,test_two_native这个组对其有读写权限;jituxghay
4. 这里只是一些最基本的权限设置,复杂一些的也类似如此。jituxghay
jituxghay
3.5.3 重启Apache服务。jituxghay
jituxghay
3.5.4 此时用TortoiseSVN客户端打开,可以成功浏览,如图:jituxghay
jituxghay jituxghay jituxghay
jituxghay
jituxghay
(PS:附件为此帖子的资料整理,方便不能经常上网的朋友下载下来。)jituxghay jituxghay 附件: jituxghay Windows下Subversion的安装使用.pdfjituxghay 2008/6/18 20:04, 539.59 KB, 下载次数: 34jituxghay
|
|