- 论坛徽章:
- 0
|
Subversion 安装配置详细指南(windows平台)
STEP 1:下载和安装:
1, 先到
Subversion的官方网站
下载subversion windows安装包,最新版本为1.3.2,下载后安装在本地机器上,这里注意的是最好将安装目录指定为纯英文名目录.
2, 到
TortoiseSVN
上下载最新的Subversion客户端,这是一个将svn集成到windows shell中的GUI管理工具,最新版本是1.3.5.6804,同时别忘记顺便下载中文语言包,这对E文不好的朋友来说是最重要的了。(强烈推荐使用)
安装没什么说的了就是一直下一步。如果你是本地个人使用svn那么现在就已跳过3,经可以开始使用了
3, 到
http://httpd.apache.org
下载Apache HTTP Server 2.0 版 for Windows 的安装程序,(千万注意不要使用2.2版本的,否则subversion将不能正常工作)最新版本为2.0.59
STEP 2:创建储存库:
首先创建SVN储存库(repository),可以选择命令行方式或者通过TortoiseSVN插件进行GUI操作,命令行运行如下:
svnadmin create E:\svn\repository
e:\svn\repository就是我指定的储存库目录,如果用GUI方式,可以在这个目录下点击右键选择[TotoiseSVN]->[Create Repository href...]进行创建,版本库模式指定为默认的即可。
repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部 数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
STEP 3:配置:
打开/conf/目录,打开svnserve.conf找到一下两句:
# [general]
# password-db = passwd
去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件
同样打开passwd文件,将
# [users]
# harry = harryssecret
# sally = sallyssecret
这几行的开头#字符去掉,这是设置用户,一行一个,存储格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户
STEP 4:运行SVN服务:
在命令行执行
svnserve --daemon --root E:\svn\repository
服务启动,--daemon可简写为-d,--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务,或者在这个地址http://clanlib.org/~mbn/svnservice/下载那个svnservice.exe文件,拷贝到E:\svn\bin目录下,再从命令行下执行:
svnservice -install --daemon --root "E:\svn\Repository"
sc config svnservice start= auto
net start svnservice
此文件会将SVN变成windows系统的一个服务,并默认为自启动,注意:执行第三句时确保前面以命令行方式运行的SVN服务已经停止,如果没停止可在其窗口中按Ctrl+C中止运行。
STEP 5:创建项目版本树 :
确定SVN服务(命令行或windows服务)运行后,在你需要导入储存库的目录下单击右键选择[TortoiseSVN]-> [Import...],在弹开的窗口的URL框中输入 "svn://localhost/myproject" 点击 "OK" 执行导入,如果没有报错,数 据就全部加入SVN储存库目录树上了。用命令行也可以完成这些操作,这需要你在系统变量中新建一个“SVN_EDITOR”的系统变量,变量值为本地的一 个文本编辑器执行文件路径,一般指到windows的记事本上就行了 "c:\windows\notepad.exe" ,然后新开一个CMD窗口,执行
svn mkdir svn://localhost/myproject
随即关闭记事本打开的log文件窗口后按"c"键继续后生成项目树。一般情况,我们在创建文件根路径后应该在创建三个目录:branches、tags、trunk,这三个目录是Subversion需要的三个目录。对于check out、commit、update等操作可以通过svn命令行方式执行,也可以用TortoiseSVN的windows右键菜单完成
你是个人使用的话,现在你就可以正常使用了,要是你需要为局域网或是互联网上用户提供subversion服务的话请你不要停继续向下做。
STEP 6:安装配置Subversion服务器:
1, 安装Apache HTTP Server
安装前你需要确认你的机器上是否安装了IIS,因为默认情况下Apache HTTP Server要使用80端口,会跟 IIS 的网站冲突,你必须把 IIS 的 Web 服务关闭,再安裝 Apache HTTP Server。
2, 安装过程十分简单就一个主要界面
图1
3, 手动安装Apache modules
3.1,将$ SVN_Install $/bin目录中的mod_authz_svn.so和mod_dav_svn.so复制到$ Apache2_Install $/ modules目录中
3.2,将$ SVN_Install $/bin目录中的intl3_svn.dll,libdb43.dll,libeay32.dll及ssleay32.dll复制到$ Apache2_Install $/bin目录中(千万不要将所有dll都复制过去,这将造成Apache HTTP Server无法正常启动)
3.3,打开$ Apache2_Install $/conf/httpd.conf找到如下两行:
#LoadModule cgi_module modules/mod_cgi.so
#LoadModule dav_module modules/mod_dav.so
将这两行前面的“#”去掉,再在其后添加如下两行:
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
完成后应该为
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
3.4重新启动Apache HTTP Server
4, 重新启动Apache HTTP Server
常见问题:
Apache HTTP Server无法正常启动
原因:
一, Subversion 的安装路径没有添加到系统变量%path%中;
二, Apache HTTP Server安装路径下bin目录下的libapr.dll,libapriconv.dll及libaprutil.dll被改动
三, $ Apache2_Install $/conf/httpd.conf中的设置不正确(mod_dav_svn.so 和mod_authz_svn.so必须在其他mod_dav*.so 模组之后。)
5, 设置Subversion档案库的路径
在Apache http.config中SVN URL路径与档案库实际路径的对应关系。对应的方式有两种,分别是SVNPath和SVNParentPath。
5.1 SVNPath
DAV svn
SVNPath /absolute/path/to/repository
其中“/svn/repos_name”就是用户端存取特定档案库的URI(Uniform Resource Indentifier),SVNPath后面指定的路径是档案库的绝对路径,假设我们的档案库实际存放的路径是E:\svn\repository,并且希望用户端使用
http://localhost/svn/test 的URL
>来存取文档库那么要加入httpd.conf的内容就是:
DAV svn
SVNPath d:\svn\test
注意 Location 标签后面的 /svn/test的第一个“/”不能少!
5.2 SVNParentPath
如果你的档案库都集中放在某个目录之下,例如:d:\svn,那你就可以使用SVNParentPath的方式指定档案库的根路径,例如:
DAV svn
SVNParentPath d:\svn
这表示可以让任何人都可以透过
http://localhost/svn/
档案库名称的方式,存取位于d:\svn 这个目录以下的所有的档案库。也就是说,这个设定动作只需要一次,如果使用SVNPath,你必须为各个档案库分别指定对应的路径。
以上两种设定方式都可以,方便起见,这里我用SVNParentPath来统一指定所有档案库的上级URL路径。将这个设定加到Apache HTTP Server的httpd.conf档案尾就行了。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20678/showart_151253.html |
|