先安装apahce、mysql、svn
其中svn创建winsow服务的命令如下(可以将%SVN_HOME%換为svn的真实路径)
sc create svn binpath= "%SVN_HOME%\bin\svnserve.exe--service -r D:\SVNRepository" displayname= "Subversion Server"depend= Tcpip start= auto
1 准备软件
mod_auth_mysql.so http://202.116.160.97/apache/modules/
其大小为1.4M左右,注意要找window版本的,若是linux版本的则加载不了。
可以在google中输入mod_auth_mysql.sointitle:"index of" 进行搜索
注意选择与apache版本一致的mod_auth_mysql.so,如apache 2.0.x或apache 2.2.x
2 创建数据库
create database apache_auth;
use apache_auth;
create table mysql_auth(
username char(25),
passwd char(100),
primary key (username)
);
insert into mysql_auth(username,passwd)values('test', MD5("123"));
3 配置httpd.conf
把mod_auth_mysql.so复制到Apache SoftwareFoundation\Apache2.2\modules文件夹下。
在httpd.conf中加载模块,注意要写成mysql_auth_module,否则会报出
类似 Can't locate API module structure`mod_auth_mysql' 这样的错误
以下为httpd.conf添加的新内容
LoadModule mysql_auth_modulemysql_modules/mod_auth_mysql.so
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath D:\svn
AuthType Basic
AuthName "Subversionrepositories"
AuthzSVNAccessFile "D:\ProgramFiles\Apache Software Foundation\Apache2.2\svnaccessfile"
AuthMySQLHost localhost
AuthMySQLDB apache_auth
AuthMySQLUser informix
AuthMySQLPassword 123456
AuthMySQLPort 3306
AuthMySQLUserTable mysql_auth
AuthMySQLNameField username
AuthMySQLPasswordField passwd
AuthMySQLEnable On
AuthMySQLPwEncryption md5
Require valid-user
</Location>
4 重启apache
插入数据
编辑svn权限控制文件,例如
D:\Program Files\Apache SoftwareFoundation\Apache2.2\svnaccessfile文件
5 参考文档
svn结合apache使用http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html