软件准备
:
svn-win32-1.6.1.zip
(http://subversion.tigris.org/files/documents/15/45600/svn-win32-1.6.1.zip
)
和
apache_2.2.11-win32-x86-no_ssl.msi
注意版本要匹配,否则可能会报错误1
和2
(见
下面)
软
件安装:
1.
安装svn
1.1
直接解压下载的svn
压缩包
即可
1.2
(%svn%
为svn
的
主目录)使用%svn%/bin
下的svnadmin
命令创建工程:
svnadmin create d:/svn/myproject
注释:d:/svn
为svn
的
根目录,myproject
是我们的工程
2.
安装apache
:
2.1
按照提示安装即可
2.2
关于80
端口是否被占用
2.2.1
使
用命令
netstat
-ano|findstr ".*:80.*:.*"
即可查看80
端口是否被使用,一般安装iis
以及迅雷等
软件有可能把端口占用,如果80
被占用的话,最后一列的数字即为占用80
端口软件的pid
;
当然您可以把该软件关闭,也可以修改apache
的端口
2.2.2
(%apache%
为apache
的
主目录)修改apache
的端口可以修改%apache%/conf/httpd.conf
把里面的Listen 80
修改为:
Listen 81
这样您的apache
的端口就变成81
了,不会与80
冲
突啦,修改后端口再按照2.1
重新安装一次即可
2.3
在浏览器里输入http
://localhost:81
正
常显示说明安装成功。(81
是端口号)
3.
把svn
与apache
结
合
3.1
拷贝%svn%
下的文件到%apache%
下
3.1.1
把%svn%\bin\
下
的
mod_dav_svn.so
和mod_authz_svn.so
到%apache%\
modules
目录下
3.1.2
把%svn%\bin\
下的
九个dll
文件intl3_svn.dll,libapr-1.dll,libapriconv-1.dll,libaprutil-1.dll,libdb44.dll,libsvn_delta-1.dll,libsvn_fs-1.dll,libsvn_repos-1.dll,libsvn_subr-1.dll
拷
贝到%apache%\bin
目录下(
建议全部copy
过去,否则容易
报错误2
,见下面)
3.2
修改%apache%/conf/httpd.conf
文
件
3.2.1
把在httpd
中找到以下2
行,
并把前面的注释符#
删除:
#LoadModule dav_fs_module
modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
如果不删除容易报错误3
,见下面
3.2.2
在LoadModule
结尾
处添加以下2
行:
LoadModule dav_svn_module
modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3.2.3
在http.conf
文件的结尾处添加以下配置行:
<Location /svn>
DAV svn
SVNParentPath D:\svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:\svn\passwd
#AuthzSVNAccessFile D:\svnaccessfile
Require valid-user
</Location>
注释:1.
SVNParentPath D:\svn
为svn
的主目录,参加1.2
中设置
2 .AuthUserFile
D:\svn\passwd
密
码存储文件,(下面要使用)
说明:
<Location /svn/>
意
味着可以通过像这样的URL(http://MyServer/svn)
来访问Subversion版本库
DAV svn
告
诉Apache哪个模块
负责服务像那样的URL--在这里就是Subversion模块
SVNListParentPath on
在Subversion
1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库
SVNParentPath F:\svnROOT
告
诉Subversion在目录F:\svnROOT下寻找版本库
AuthType Basic
启
用基本的验证,比如用户名/密码对
AuthName "Subversion repositories"
当
一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile F:\svnROOT\htpasswd
指
定F:\svnROOT\htpasswd用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile F:\svnROOT\authz
指
定F:\svnROOT\authz来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限
定用户只有输入正确的用户名及密码后才能访问这个路径(此项表示,无论是IE还是Tortoise,只有通
过密码验证才能访问)。
下面表示允许匿名访问,对于读操作,不需要用户验证。
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#Require valid-user
#</LimitExcept>
AuthUserFile和AuthzSVNAccessFile
的
工作原理是,先使用Apache用户机制进行验证,通过之后将请求提交给mod_authz
_svn.so
进行认证,最后使用mod_dav
_svn.so提供的功能。
3.3
创建passwd
文件
来管理svn
的访问权限
3.3.1
使用%apache%\bin\
htpasswd
.exe
来创建密码
第一个用户的命令:
htpasswd
-c D:\svn\passwd
%username%
第二个用户的命令:
htpasswd
D:\svn\passwd
%username%
注释:1.-c
是创建新文,%username%
是
用户名,输入命令后还会提示输入密码二次。
2.D:\svn\passwd
为3.1.3
中设置的路径
文件
上面的配置仅仅是一个简单的示例。你还可以对Apache进行许许多多的配置。
1.如果你想让所有用户对版本库都有读的权限而只有特定的用户才有写的权限,你可以将这行
CODE:
Require valid-user
改为
CODE:
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
2.上面的配置使用了passwd文件将你所有的版本库作为一个单元来限定访问权限。如果你想获得更多的控制,如限定某个用户可以访问版本库中的哪个目
录,可以把下面这行的#去掉:
CODE:
#AuthzSVNAccessFile D:\svnaccessfile
然后用文本编辑器创建一个Subversion授权文件。Apache将确保只有有效的用户可以访问你的/svn位置,然后将用户名传到
AuthzSVNAccessFile模块,这样可以依据Subversion授权文件得到更精细的权限控制。注意,路径将被指定为[库:路径]或者简单
的[路径]。如果你不明确指定一个库,访问规则将应用到由SVNParentPath指定的目录下所有的版本库中。一个授权文件例子可能像这样:
CODE:
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限
[/]
* = r
@admin = rw
dangerman =
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw
# 培训人员可以完全访问培训版本库
[TrainingRepos:/]
@training = rw
Svn
与apache
结合容易产生的错误
:
1.
httpd.exe:
Syntax error on line 86 of D:/Program Files/Apache Software Fou
n/Apache2.2/conf/httpd.conf: API module structure 'dav_svn_module'
in file
ogram Files/Apache Software
Foundation/Apache2.2/modules/mod_dav_svn.so is
ed - expected signature 41503232 but saw 41503230 - perhaps this
is not an
e module DSO, or was compiled for a different Apache version?
Note the errors or messages above, and press the <ESC> key
to exit. 3....
解决办法就是使用2.0
版本的apache
2.
httpd.exe: Syntax
error on line 86 of D:/Program Files/Apache Software Foundatio
n/Apache2.2/conf/httpd.conf: Cannot load D:/Program Files/Apache
Software Founda
tion/Apache2.2/modules/mod_dav_svn.so into server:
\xd5\xd2\xb2\xbb\xb5\xbd\xd6\
xb8\xb6\xa8\xb5\xc4\xb3\xcc\xd0\xf2\xa1\xa3
Note the errors or messages above, and press the <ESC> key
to exit. 16...
可以看到已经说明了是2.2.9
以上的apache
3.
Syntax error on line 487 of D:/Program
Files/Apache Software Foundation/Apache2.
2/conf/httpd.conf:
Invalid command 'DAV', perhaps misspelled or defined by a module
not included in
the server configuration
Note the errors or messages above, and press the <ESC> key
to exit. 25...
把LoadModule dav_module modules/mod_dav.so
前
的注释去掉
转帖:http://hi.baidu.com/lubezhang/blog/item/bf7aa72ea2c7fa5b4ec226d2.html
分享到:
相关推荐
svn1.4.6+apache2.2 svn1.4.6+apache2.2
本文档是本人按照trac官网编写,所用的trac是最新的版本0.12
SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置
svn+apache+trac配置 svn+apache+trac配置 svn+apache+trac配置 svn+apache+trac配置
xp+apache2.2+subversion1.6.17搭建版本控制服务器
svn+apache安装配置 svn+apache安装配置
SVN+Trac+Apache的配置文件
subversion+apache+svn服务器配置图解
ubuntu下svn+apache安装配置
Windows XP SP3 专业版 Setup-Subversion-1.6.4.msi 服务器端 TortoiseSVN-1.6.3.16613-win32-...编辑Apache的配置文件(我的为C:\Program Files\Apache Software Foundation\Apache2.2conf\httd.conf),修改以下内容:
svn+apache svn离线安装包,需要的自取
安装Trac+SVN+Apache过程的详细记录。解决像我一样的初学者初次安装的难题,高手就表看了...
ubuntu linux中配置svn+apache+ssl
Windows7+_SVN+_Apache2+TortoiseSVN配置安装
SVN+APACHE服务器端配置及权限设置
NULL 博文链接:https://zfwdl2005.iteye.com/blog/1028838
redhat下搭建 SVN+Apache+Trac软件开发环境安装配置文档。支持包安装及配置命令手册。
教你如何搭建svn代码服务器,linux redhat系统,apache2.2.23+subversion1.6版本
步骤 1 假设安装Apache至D:\Apache...4 增加/svn的,(假设通过extra/httpd-vhosts.conf配置了vhost,则在httpd-vhosts.conf的中) <Location /svn> DAV svn # 指向SVN Repository的ROOT SVNPath d:/svnrepo </Location>