一、软件准备
Setup-Subversion-1.6.6.msi,
下载地址:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=11149
httpd-2.2.17-win32-x86-no_ssl.msi,
下载地址:
http://www.meisei-u.ac.jp/mirror/apache/httpd/binaries/win32/
TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi
下载地址:
http://sourceforge.net/projects/tortoisesvn/files/Application/
注意:上述Subversion和Apache版本要匹配,具体可以在下载Setup-Subversion-1.6.6.msi时能够看到。
二、具体安装
1、安装Apache
一直点击Next按钮即可,直到出现Server Information页面:
在三个文本框中分别填写
Network Domain:localhost、
Server Name:localhost
Administrator’s Email Address:web@163.com
?
其中Email随便填写就可以了,然后一路Next,直到安装成功为止。
?
2、测试Apache
在IE里输入http://localhost/,如果页面显示:It Works!,恭喜你安装Apache成功
?
3、安装Subversion
非常简单一路Next,直到安装成功为止
?
4、测试Subversion是否安装成功
进入cmd 执行svn,,出现如下提示代表安装成功
C:\Documents and Settings\Administrator>svn
使用“svn help”得到用法。
?
5、Subversion数据仓库建立及相关配置
建立数据仓库:
C:\Documents and Settings\Administrator>svnadmin create e:\svnroot\project_name
执行上述命令后如果没有输出,代表创建数据仓库成功,进行e:\svnroot\project_name下会看到如下目录和文件:
conf
dav
db
format
hooks
locks
README.txt
我们重点关注conf目录,进入conf目录,会看到有如下文件:
svnserve.conf:基础配置文件
authz:配置用户权限文件
passwd:配置用户名和密码文件
?
svnserve.conf文件变更如下:
找到#password-db = passwd,去掉#
找到#anon-access = read???? 去掉#,改read为none
找到#auth-access = write ????去掉#
找到#authz-db = authz?????? 去掉#
?
passwd:变更如下:
在文件的最后加入:
hello_one = 123456
hello_two = 123456
上述含义为增加两个用户hello_one和hello_two密码均为123456
?
authz:变更如下:
增加组
[groups]
dept_manager = hello_one
dept_member = hello_two
根据组配置权限控制
[project_name:/]
@dept_manager = rw
* = r
?
[project_name:/src]
@dept_manager = rw
@dept_member = rw
?
6、Apache配置
进入目录C:\Program Files\Subversion\bin>
找到如下两个文件:mod_authz_svn.so、mod_dav_svn.so
将其拷贝至C:\Program Files\Apache Software Foundation\Apache2.2\modules目录下
进入目录C:\Program Files\Apache Software Foundation\Apache2.2\conf>
修改httpd.conf
找到:
#LoadModule dav_module modules/mod_dav.so,去掉#号
#LoadModule dav_fs_module modules/mod_dav_fs.so,去掉#号
增加[我是加在LoadMoudle最后]:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
?
在httpd.conf末尾加上:
<Location /svn/project_name>
DAV svn
SVNPath e:/svnroot/project_name
?
AuthzSVNAccessFile e:/svnroot/project_name/conf/authz
Satisfy Any
Require valid-user
?
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile? e:/svnroot/project_name/conf/users.auth
Require valid-user
</Location>
?
6、users.auth生成
C:\Program Files\ Apache Software Foundation\Apache2.2\bin>htpasswd -cb users.auth
hello_one 123456
Automatically using MD5 format.
Adding password for user hello_one
C:\Program Files\ Apache Software Foundation\Apache2.2\bin>
我们就会发现在bin目录生成了users.auth,我们可以看到, hello_one用户名已经被添加进去了
,密码是用MD5加密过的.然后我们还要增加用户呢,可以用如下方法:
C:\Program Files\ Apache Software Foundation\Apache2.2\bin>htpasswd -b users.auth
hello_two 123456
Automatically using MD5 format.
Adding password for user hello_two
C:\Program Files\ Apache Software Foundation\Apache2.2\bin>
注意加入第二个用户的命令参数少了c,第一次新建的时候要加,后面追加用户的时候,就不用这个c了.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth移到e:/svnroot/project_name/conf/里面去,
使我们上面的设置生效.
7、测试
重新启动Apache,发现有如下错误:
Syntax error on line 174 of C:/Program Files/Apache Group/Apache2/conf/httpd.con
f:
API module structure 'dav_svn_module' in file C:/Program Files/Apache Group/Apac
he2/modules/mod_dav_svn.so is garbled - expected signature 41503230 but saw 4150
3232 - perhaps this is not an Apache module DSO, or was compiled for a different
?Apache version?
Note the errors or messages above, and press the <ESC> key to exit.? 14...
解决办法:C:\Program Files\ Apache Software Foundation\Apache2.2\bin>目录下的所有dll文件拷贝到一个临时目录,然后删除他,从C:\Program Files\Subversion\bin>目录拷贝所有的dll文件至C:\Program Files\ Apache Software Foundation\Apache2.2\bin>目录下,再将临时目录的文件覆盖至C:\Program Files\ Apache Software Foundation\Apache2.2\bin>目录下。
重新启动Apache,成功。
在IE中输入:http://localhost/svn/prject_name 页面出现如下内容:
project_name - Revision 0: /
代表您已经安装成功
?