Apache Httpd + Subversion 搭建HTTP访问的SVN服务器
最近要搭建一个SVN服务器。简单安装之后,本地访问没有问题,但作为服务器肯定是需要HTTP访问。搜索之后,以下是我按照网上的资料搭建的过程,以备后用和参考。(所有软件安装步骤略,没有特殊的,如果没有特殊要求,默认下一步执行完即可,后面再搭建环境的时候,再截图补充。软件都已经安装,全部再重新安一遍比较费时,看客请谅解!)
所需软件:
Subversion:Setup-Subversion-1.7.9.msi
TortoiseSVN:TortoiseSVN 1.7.11
Apache httpd:httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
1,安装安装Subversion,TortoiseSVN ,Apache httpd步骤略,执行“”,下一步即可。
2,配置SVN
生成配置库:
在一个空目录里的任意空白位置,选择右键,在弹出的右键菜单中选择
创建成功将收到如下提示。
可以选择“Create folder structure”,工具会自动生成“trunk”,“tags”,“branches”三个空目录。
trunk--内容主目录,用于存放主版本文件
tags—标签主目录,用于版本基线
branches--分支主目录,可将主版本切出多个分支同时进行,各分支完成后,合入主版本
在另一个本地空白位置,可以选择右键—“SVN CheckOut”,生成本地拷贝。
设置用户验证
配置SVN鉴权(默认SVN是关闭鉴权的)
打开上一步创建的SVN仓库,进入conf目录,打开svnserver.conf文件,找到


svnserver.conf#[general]
#password-db=passwd
改为:
[general]
password-db=passwd
配置用户必须登录才能访问


svnserver.conf### "none"--禁止读写
### "read"--只读
### "write"--读写
# anon-access = read ###未登录
# auth-access = write ###已登录
启动密码文件,并修改passwd文件,添加用户或用户组


passwd### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line. [users]
# harry = harryssecret
# sally = sallyssecret
admin = adnin
并配置权限文件authz,配置目录权限


authz### 定义名称的别名
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average ### 定义一些用户组
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe ### 指定路径下,哪些用户或组的读写权限
# [/foo/bar]
# harry = rw
# &joe = r
# * = ###
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
配置httpd服务及集成SVN
1.运行“Monitor Apache Servers”(安装后默认已运行,执行文件在“%Apache2.2%\bin\ApacheMonitor.exe”),启动httpd服务。
2.在浏览器中输入“http://localhost”,显示如下图,表示服务里其中成功(此页面文件在“%Apache2.2%\htdocs\index.html”)。
3.使用文本编辑工具(尽量不适用记事本,会修改文件编码格式为DOS)打开“%Apache2.2%\conf\httpd.conf”,做如下修改后保存。(注意文件中不能包含汉字)


httpd.conf### 将以下两行内容去掉注释:
# LoadModule dav_module modules/mod_dav.so
# LoadModule dav_fs_module modules/mod_dav_fs.so ### 在LoadModule区的最后附加下面这两行内容:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so ### 在文件最后加上以下内容:
<Location /wl> # svn路径(http://server:port/wl)
DAV svn # 默认,使用svn
SVNPath E:\repository\wl # SVN的仓库位置
AuthType Basic # 使用基础的鉴权类型
AuthName "test" # 鉴权名称,此名称会在提示用户输入用户名和密码时显示
AuthUserFile E:\repository\wl\httpd\passwd # 用户及密码文件位置
AuthzSVNAccessFile E:\repository\wl\httpd\authz # 权限文件位置
Require valid-user # 是否必须鉴权 http方式模式必须鉴权
</Location>
4.将”%Subversion%\bin”下的dll文件拷贝至“%Apache2.2%\bin”下。(开始按网上的方案,拷贝了1个文件,服务一直起不来,后来将所有dll拷贝过去成功了。)
5.生成passwd和authz文件。


passwd和authz### 生成密码文件命令
%Apache2.2%\bin\htpasswd -c passwd_url <username> ### authz文件内容
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin,zwh
users = @admin,test # [/foo/bar]
# harry = rw
# &joe = r
# * = # [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[test:/svn/test]
@admin = rw
@users = r
至此,重启一下httpd服务,在浏览器中输入“http://localhost/wl”,有如下提示,表示整个过程成功。
由于第一次搭建,也犯了一些低级错误。整个过程因为是搭建成功后写的,一些过程没有图片。后期再搭建时再补充。
Apache Httpd + Subversion 搭建HTTP访问的SVN服务器的更多相关文章
- [jmeter]linux下自动测试环境+持续集成ant+jmeter+Apache(httpd)环境搭建与使用
前言:考虑搭建一个接口性能自动化测试平台,时间又比较紧急,所以就现想到了用jenkins+ant+jmeter完成,考虑到在linux环境中本身就可以设置定时任务,暂时该自动化用例还不与项目集成关联, ...
- 配置可以通过http协议访问的svn服务器
通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活. 关于mode_day_svn模块: 由于Subversion需要版本化 ...
- 搭建Linux下的SVN服务器
______________________________________________配置SVN步骤______________________________________________ ...
- 利用同步网盘搭建个人或团队SVN服务器
这篇文章是以前写的,现在强烈推荐两个站.1.http://git.oschina.com 2.http://www.coding.net. 推荐理由:1.可创建私有项目.2.免费稳定.3.VS2013 ...
- 搭建一个简单的svn服务器
cenos 6.5,svnserver 1.6.11 默认可能已经安装,没有的话就: yum install svn -ysvnserver --version 创建一个svn仓库: svnadmin ...
- 搭建一个简单的svn服务器(旧)
cenos 6.5,svnserver 1.6.11 默认可能已经安装,没有的话就: yum install svn -ysvnserver --version 创建一个svn仓库: svnadmin ...
- 搭建一个自己的SVN服务器
其实方法非常简单,点点鼠标就好了. 上网搜索“VisualSVN Server”,一般来说都是会找到 https://www.visualsvn.com/server/ 这个网站的. 点击上边的Dow ...
- 版本控制-svn服务器搭建和常用命令(centos 6.3)
Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...
- 版本控制-https svn服务器搭建和常用命令(centos 6.3)
Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...
随机推荐
- 电源相关知识—S0、S1(POS)、S2、S3(STR)、 S4、S5、睡眠、休眠、待机
转 http://blog.sina.com.cn/s/blog_52f28dde0100l3ci.html APM https://en.wikipedia.org/wiki/Advanced_Po ...
- 引入git flow分支管理
git flow是Vincent Driessen提出了一个分支管理的策略,非常值得借鉴.它可以使得版本库的演进保持简洁,主干清晰,各个分支各司其职.井井有条. 先看下Vincent Driessen ...
- 自定义控件之 Combobox
var ComboboxObj = function (id, url) { this.URL = url; //Ajax url this.ID = id; //combobox id this.m ...
- composer -vvv
然后在使用Composer install 或者 composer update 的时候会停住不动.使用-vvv可以输出更多信息,其命令参数输出的级别是Debug.具体可以查看composer hel ...
- Android 每次访问网络时,都需要判断是否有网络
/** * 在执行网络操作之前判断网络是否链接可用 * * @return true 可用 false 不可用 */ private boolean isOnline() { Connectivity ...
- ubuntu安装无线驱动
一.无线驱动的安装. 首先查看自己的网卡类型:lspci -vnn | grep 14e4 查看内核版本: -uname -r 去www.broadcom.com/support/802.11/lin ...
- 保留json字符串中文的函数,代替json_encode
// 格式化json中的汉字函数 protected function encode_json($str) { $strs = urldecode(json_encode($thi ...
- 诺基亚XL中Intent.ACTION_VIEW无效的问题
今天测试播放视频的时候,发现在诺基亚XL机型里不能弹出视频应用列表. 我的代码是: Intent intent = new Intent(Intent.ACTION_VIEW); intent.set ...
- android4.x获取(也可监测)外置sd路径和读写
先上图: 这个小demo是判断手机上是否插入了sd卡(手动插入到手机卡槽的情况),如果拔出sd卡,也会检测到,检测到没有sd的话会提示退出.大家可以修改代码达到自己想要的效果. sd的卡装载状态是从系 ...
- 装饰模式(Decorate Pattern)
在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. (1) 装饰对象和真实对象有相同的接口.这样客户端对象就能以和真实对象相同的方式 ...