一.相关下载
svn-1.4.0 apache_2.0.55-win32-x86-no_ssl mod_auth_mysql-2.0.49-w32.zip site-1.0.4.zip(subclipse用于eclipse3.1.x) site-1.2.2.zip(subclipse用于eclipse3.2.x) TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi 二.安装配置
首先安装apache,安装过程中会提示填写ServerName等,有的话就填,没有的话就写上IP,我填的是localhost.
安装完apache,如果没有出错的话ApacheMonitor会出现在系统任务栏,并显示已运行状态.
安装svn-1.4.0,安装过程中svn会检测到系统中已经运行apache,apache会在期间自动重新启动,
ApacheMonitor的状态栏也会自动改为"Apache/2.0.55(Win32) SVN/1.4.0 DAV/2",说明svn安装成功.
如果apache和svn没有自动集成成功,也可以手动修改apache httpd.conf文件如下3步:
1.找到以下两行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
改为:
LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so(网上很多说法是把这一行也去掉#注释,但好像并非必须去掉.)
2.添加以下两行:
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
# "C:/Program Files/Subversion"是Subversion的安装目录
3.在httpd.conf的最后添加如下内容:
<Location /svn>
DAV svn
SVNParentPath "E:/svndemo"
# SVNParentPath指向svn资源库的上一级目录
# SVNPath "E:/svndemo/repository"
# SVNPath指向svn资源库目录
# 使用SVNParentPath或SVNPath根据相应需求
# 关于如何创建svn资源库目录在本文最后有补充
</Location>
现在已经可以通过http://localhost:8080/svn/repository/来访问资源库了.
三.使用apache身份验证
使用apache身份验证就要使用apache的htpasswd.exe命令生成密码文件,示例如下:
命令行下执行:htpasswd –c E:\svndemo\svn_auth_passwd plmm
参数-c创建密码文件svn_auth_passwd并添加用户plmm,然后会提示输入密码.
继续添加用户:htpasswd -m E:\svndemo\svn_auth_passwd klmm
参数-m在已有的密码文件中添加新用户klmm,并用MD5加密密码.
这样就创建了一个密码文件添加了两个用户.
修改apache httpd.conf文件,添加如下内容:
<Location /svn>
DAV svn
SVNParentPath "E:/svndemo"
AuthType Basic
AuthName "Subversion repository"
Require valid-user
AuthUserFile "E:/svndemo/svn_auth_passwd"
# AuthUserFile指向密码文件
</Location>
现在通过http://localhost:8080/svn/repository/访问资源库需要输入用户名密码.
四.结合mysql实现身份验证
1.解压上面下载的mod_auth_mysql-2.0.49-w32.zip文件,拷贝mod_auth_mysql.so文件至apache下modules目录.
2.修改apache httpd.conf文件,添加如下内容:
使apache加载mysql身份验证模块:
LoadModule mysql_auth_module modules/mod_auth_mysql.so
配置apache用来验证用户名密码的数据库表:
<Location /svn>
DAV svn
SVNParentPath "E:/svndemo"
AuthType Basic
AuthName "Subversion repository"
#AuthUserFile "E:/svndemo/svn_auth_passwd"
Require valid-user
AuthMySQLHost localhost
AuthMySQLUser root
# AuthMySQLUser 数据库登陆用户名
# AuthMySQLPassword 1234
AuthMySQLDB svn
# AuthMySQLDB 数据库名
AuthMySQLUserTable users
# AuthMySQLUserTable 数据库表名
AuthMySQLNameField user_name
# AuthMySQLNameField 用户名字段
AuthMySQLPasswordField user_passwd
# AuthMySQLPasswordField 密码字段
# AuthMySQLMD5Passwords On
AuthMySQLCryptedPasswords Off
</Location>
3.重启apache,现在通过http://localhost:8080/svn/repository/访问资源库需要输入mysql表中的用户名密码.
五.相关命令
安装apache服务:apache -k install
卸载apache服务:apache -k uninstall
启动apache服务:apache -k start或net start Apache2
停止apache服务:apache -k stop 或net stop Apache2
svn创建资源库:svnadmin create E:\svndemo\repository
启动资源库服务:svnserve -d -r E:\svndemo\repository
拷贝my.ini到c:\winnt
安装MySQL服务:mysqld-nt -install
启动MySQL服务:net start mysql
停止MySQL服务:net stop mysql
卸载MySQL服务:mysqld-nt -remove