关于配置 Apache + SVN 1.5 + SSL

1. 由于 CollabNetSubversion-server-1.5.0-23.win32.exe 中包含了Apache + SSL 因此安装过程非常简单。

2. 关于配置

http.conf

______________________________________________________

Listen 443

...

LoadModule ssl_module modules/mod_ssl.so

LoadModule dav_module modules/mod_dav.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

...

<VirtualHost _default_:443>

SSLEngine On

SSLCertificateFile conf/ssl/server.crt

SSLCertificateKeyFile conf/ssl/server.key

</VirtualHost>

...

<Location /svn>

DAV svn

SVNParentPath X:\Subversion\repository

AuthType Basic

AuthName "Repository Server(E2TOX)"

AuthUserFile "X:\Subversion\passwords.auth"

AuthzSVNAccessFile "X:\Subversion\access.auth"

Require valid-user

SSLRequireSSL

</Location>

.................................................................................................

passwords.auth

______________________________________________________

username:password

注:使用明文也可以

.................................................................................................

access.auth

______________________________________________________

[groups]

developers = user1,user2,user3

docs = doc1

[repo1:/trunk]

@developers = rw

@docs = r

[repo2:/trunk]

@developers = rw

@docs = r

注:这个配置为X:\Subversion\repository目录内有多个版本库: repo1, repo2

.................................................................................................

server.crt和server.key的生成方法在其他类似的文章中有详细介绍,这里就不多说了,大家可以google一下。

这里需要注意的是如果出现

[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file C:/Program Files/CollabNet Subversion Server/httpd/conf/server.key)

是因为 SSLPassPhraseDialog 这个对话框(输入密码对话框)不能在win32下显示

解决办法是在创建证书的过程中不要输入challenge password,保持空白即可。

end