安装
所需要的四个软件:
1. Apache2.0及以上版本。
2. SubVersion —— 可以到官方网站上下载
3. TortoiseSVN——是SubVersion的客户端工具,可以到官方网站上下载
4. SVNService——将SubVersion自动以服务方式开机自动启动,是个小程序。
根据实际经验,安装的顺序如下:
1. 首先安装Apache。
2. 安装SubVersion。这样SubVersion会自动监测到已经安装了Apache,这样再配置Web服务器的时候节省了很多手动的工作。如果在这之后安装的Apache,则需要额外工作。
? 使用Windwos资源管理器,来到Subversion的安装目录(通常是c:/program files/Subversion
),找到文件/httpd/mod_dav_svn.so
和mod_authz_svn.so
,复制这些文件到Apache的模块目录(通常是c:/program files/apache group/apache2/modules
)。
? 从Subversion安装目录将/bin/libdb43.dll
复制到Apache的模块目录。
? 使用记事本之类的文本编辑器修改Apache的配置文件(通常是 C:/Program Files/Apache Group/Apache2/conf/httpd.conf
),做出如下修改:
去掉如下几行的注释(删除 '#
'标记):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
将下面几行添加到LoadModule
部分的最后。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3. 安装TorToiseSVN,安装之后,在右键菜单中会添加GUI菜单项。
4. 这个可安也可不安。
配置
最原始的配置有如下步骤:
现在你已经设置了Apache和Subversion,但是Apache不知道如何处理Subversion客户端,例如TortoiseSVN。 为了让Apache知道哪个目录是用来作为Subversion版本库,你需要使用编辑器(例如记事本)编辑Apache的配置文件(通常是c:/program files/apache group/apache2/conf/httpd.conf):
在配置文件最后添加如下几行:
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath D:/SVN
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>
这个配置告诉Apache你的所有的Subversion版本库在物理上位于D:/SVN,版本库对外的URL是: http://MyServer/svn/ ,访问需要文件passwd中的用户/密码限制。
为了创建passwd文件,再次打开命令行提示符(DOS),来到apache2目录(通常是c:/program files/apache group/apache2)通过输入下面的命令创建文件
bin/htpasswd -c passwd <username>
This will create a file with the name passwd which is used for authentication. Additional users can be added with
bin/htpasswd passwd <username>
再次重启Apache服务。
将浏览器指向http://MyServer/svn/MyNewRepository(MyNewRepository是你此前创建的版本库名),如果一切正常,你会被提示输入用户名和密码,然后你会看到版本库的内容。
解释 | |
<Location /svn> | 意思是Subversion版本库的URL是http://MyServer/svn/ |
DAV svn | 告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。 |
SVNListParentPath on | 对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。 |
SVNParentPath D:/SVN | 告诉Subversion需要查看的版本库位于D:/SVN之下 |
AuthType Basic | 激活基本认证,就是用户名/密码 |
AuthName "Subversion repositories" | 用来说明何时弹出要求用户输入认证信息的认证对话框 |
AuthUserFile passwd | 指定使用的认证密码文件 |
AuthzSVNAccessFile | 位置Subversion版本库的访问控制文件的路径 |
Require valid-user | 指定只有输入了正确的用户/密码的用户可以访问URL |