SVN 服务器配置

来源:互联网 发布:暗黑破坏神2 mac目录 编辑:程序博客网 时间:2024/06/05 11:35

Subversion 服务器端安装及配置手册

Subversion具有两种服务模式,一个是自定义协议的Subserve服务,另一个是作为Apache的模块。两种服务平台的区别参[附四]

安装

双击运行配套安装程序目录中svn-1.4.4-setup.exe,安装目录可自定义,如D:\ Subversion

双击运行配套安装程序目录中TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi,这是一个将SVN集成到windows shell中的GUI管理工具,推荐使用。

双击运行配套安装程序目录中LanguagePack-1.4.4.9706-win32-zh_CN.exe,这是TortoiseSVN的汉化包。

创建版本库,该库中存放所有Subversion项目:

首先,手动创建一个目录,如D:\svnroot\yxv3\

然后,创建版本库:

第一种方式:在DOS命令行中运行svnadmin create D:\svnroot\yxv3

第二种方式:在yxv3目录中,单击鼠标右键,选择[TotoiseSVN]->[在此创建版本库...]进行创建,

版本库模式指定为默认的即可。两种版本的区别请参考[附三]

以上工作完成后,在yxv3目录中可看到以下内容:

其中:

conf目录存放配置信息; 

dav目录是提供给Apachemod_dav_svn使用的目录,让它们存储内部数据;

db目录就是所有版本控制的数据文件;

hooks目录放置hook脚本文件的目录;

locks用来放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;

format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;

配置

通过自带服务平台Subserver的实现

打开/conf/目录,打开svnserve.conf找到以下行,去除每行开头的#

[general]

anon-access = none #保证只有认证用户可以访问,即关闭匿名访问

auth-access = write #通过认证的使用权限

password-db = passwd #指定了用户密码文件

authz-db = authz #指定了授权文件

realm = yxv3 #客户端凭证缓存

打开/conf/目录,打开passwd文件,增加用户,一行一个,存储格式为用户名 密码” 

[users] 

定义用户信息

sy = sy

sj = sj

打开/conf/目录,打开authz文件,配置授权

[groups] 

定义组信息

group_yxv3 = sy,sj

[/]

指定对所有的版本库默认没有任何操作权限,group_yxv3可读写

* = 

@group_yxv3 = rw

[yxv3:/]

指定对版本库yxv3根目录的权限

* = 

@group_yxv3 = rw

创建及启动SVN服务

打开DOS窗口,将当前目录指向到Subversionbin目录下,输入:

sc create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r d:/svnroot/yxv3" displayname= "SVNService" depend= Tcpip start= auto

导入项目版本库

确定SVN服务(命令行或windows服务)运行后,

在你需要导入版本库的目录下单击右键选择[TortoiseSVN]-> [导入...],在弹开的窗口的URL框中输入版本库的目录地址(如svn://172.23.30.91/svnroot/yxv3,其中“svnroot”是共享目录,“yxv3”是版本库), 如下图所示:

点击 "确定" 执行导入,显示如下对话框,录入用户名及密码后确认

数据就全部加入SVN版本库目录树上了。加载截图如下:

通过Apache的服务实现

安装apache_2.0.59-win32-x86-no_ssl.msi

说明:Apache默认使用80端口,如果该端口被其它程序占用,可在安装完成后,停掉Apache服务,然后打开Apache安装目录下的conf\ httpd.conf文件,修改其使用的默认端口号,如81(可用搜索功能,应该有两处需要修改),安装中,如下的界面是需要注意的地方:

在安装目录的\conf目录下,找开httpd.conf文件,找到以下两行并去掉其最前面的“#”号:

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

加载SO文件。

Subversion安装路径中bin目录下的两个so文件复制到Apache安装目录下的modules目录下,并打开httpd.conf文件,在LoadModule段的最后加入以下两句:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

加载DLL文件。

Subversion安装路径中bin目录下的所有DLL文件复制到Apache安装目录下的bin目录下。

在httpd.conf文件的最后,加入以下行:

<Location /svn>

        DAV svn

        SVNParentPath "D:/svnroot"

        AuthType Basic

        AuthName "Subversion Repository"

        AuthUserFile "D:/Apache2.0/Apache2/svn.password"

#把以下两个#去掉后即可完成匿名用户也可登录,但只有注册用户才能提交修改

   #<LimitExcept GET PROPFIND OPTIONS REPORT>

                Require valid-user

#</LimitExcept>

</Location>

其中/svn代表用http的访问路径,D:\svnroot指定了svn的存放路径,AuthType Basic代表采用Basic方式进行认证,认证的用户名密码文件是D:\Apache2.2\passwd ,其中只允许认证的用户才能访问,“LimitExcept”的作用是保证只有注册用户才能提交修改,其它用户只能下载查看。

创建登录用户。

在运行窗口中通过CMD命令打开DOS命令窗口,转到Apache安装路径的bin目录下,在其中键入htpasswd.exe -c svn.password sy,回车后,就会在当前目录下创建一个svn.password的文件,其中新建一个用户,用户名是sy,在后来的命令提示里面会让你输入密码的,等密码得到确认以后,一个svn.password文件就完成了。再创建其它用户时“-c”参数就不需要了,直接键入htpasswd.exe svn.password sj,重复上述步骤就又创建了另一个用户,如此反复创建更多用户,如下图所示,用户全部创建好后,将当前目录下的svn.password文件复制到AuthUserFile关键字指定的目录下。

创建版本库:

在SVNParentPath关键字指定的目录下单击右键选择[TortoiseSVN]-> [在此创建版本库...]选择默认模式(FSFS)即可,如下图所示:

导入版本库

在你需要导入版本库的目录下单击右键选择[TortoiseSVN]-> [导入...],在弹开的窗口的URL框中输入版本库的目录地址(如http://172.23.30.70/svn/yxv3, 如下图所示:

在弹出的对话框中录入用户名和密码

确定后即可看到版本库导入完成的界面

打开浏览器,在地址栏中键入服务的IP地址及版本库的名称即可对服务器进行访问

配置Apache


1  拷贝Subversion module文件到Apache目录
开始-运行-cmd- C:\>cd c:\
 C:\> copy c:\Progra~1\Subver~1\bin\*.so c:\progra~1\apache~1\apache2\modules
 C:\> copy c:\progra~1\subver~1\bin\*.dll c:\progra~1\apache~1\apache2\modules
注意:路径为你自己的安装路径,千万注意按实际情况修改。
2  创建密码文件(w/user 'admin') 
 C:\> md c:\svn
 C:\> c:\progra~1\apache~1\apache2\bin\htpasswd -cm c:\svn\passwd admin
 提示输入密码:比如admin888


SVN
1、创建Repository版本库
命令方式(file://):
C:\> svnadmin create c:\svn\repo1

2、建立版本库目录(在c:\temp\project创建目录结构):
C:\> svn import c:\temp\project file:///c:/svn/repo1 -m "Initial Load"

3、建立本地版本:
C:\> svn checkout file:///c:/svn/repo1 c:\project

4、通过以下方式往密码文件中继续添加用户(此处apache安在C盘):
C:\> c:\progra~1\apache~1\apache2\bin\htpasswd -m c:\svn\passwd user