最近要搭建一个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文件,找到

  1. svnserver.conf#[general]
  2. #password-db=passwd
  3. 改为:
  4. [general]
  5. password-db=passwd

配置用户必须登录才能访问

  1. svnserver.conf### "none"--禁止读写
  2. ### "read"--只读
  3. ### "write"--读写
  4. # anon-access = read ###未登录
  5. # auth-access = write ###已登录

启动密码文件,并修改passwd文件,添加用户或用户组

  1. passwd### This file is an example password file for svnserve.
  2. ### Its format is similar to that of svnserve.conf. As shown in the
  3. ### example below it contains one section labelled [users].
  4. ### The name and password for each user follow, one account per line.
  5.  
  6. [users]
  7. # harry = harryssecret
  8. # sally = sallyssecret
  9. admin = adnin

并配置权限文件authz,配置目录权限

  1. authz### 定义名称的别名
  2. [aliases]
  3. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  4.  
  5. ### 定义一些用户组
  6. [groups]
  7. # harry_and_sally = harry,sally
  8. # harry_sally_and_joe = harry,sally,&joe
  9.  
  10. ### 指定路径下,哪些用户或组的读写权限
  11. # [/foo/bar]
  12. # harry = rw
  13. # &joe = r
  14. # * =
  15.  
  16. ###
  17. # [repository:/baz/fuz]
  18. # @harry_and_sally = rw
  19. # * = 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”,做如下修改后保存。(注意文件中不能包含汉字)

  1. httpd.conf### 将以下两行内容去掉注释:
  2. # LoadModule dav_module modules/mod_dav.so
  3. # LoadModule dav_fs_module modules/mod_dav_fs.so
  4.  
  5. ### 在LoadModule区的最后附加下面这两行内容:
  6. LoadModule dav_svn_module modules/mod_dav_svn.so
  7. LoadModule authz_svn_module modules/mod_authz_svn.so
  8.  
  9. ### 在文件最后加上以下内容:
  10. <Location /wl> # svn路径(http://server:port/wl)
  11. DAV svn # 默认,使用svn
  12. SVNPath E:\repository\wl # SVN的仓库位置
  13. AuthType Basic # 使用基础的鉴权类型
  14. AuthName "test" # 鉴权名称,此名称会在提示用户输入用户名和密码时显示
  15. AuthUserFile E:\repository\wl\httpd\passwd # 用户及密码文件位置
  16. AuthzSVNAccessFile E:\repository\wl\httpd\authz # 权限文件位置
  17. Require valid-user # 是否必须鉴权 http方式模式必须鉴权
  18. </Location>

4.将”%Subversion%\bin”下的dll文件拷贝至“%Apache2.2%\bin”下。(开始按网上的方案,拷贝了1个文件,服务一直起不来,后来将所有dll拷贝过去成功了。)

5.生成passwd和authz文件。

  1. passwdauthz### 生成密码文件命令
  2. %Apache2.2%\bin\htpasswd -c passwd_url <username>
  3.  
  4. ### authz文件内容
  5. [aliases]
  6. # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
  7.  
  8. [groups]
  9. # harry_and_sally = harry,sally
  10. # harry_sally_and_joe = harry,sally,&joe
  11. admin = admin,zwh
  12. users = @admin,test
  13.  
  14. # [/foo/bar]
  15. # harry = rw
  16. # &joe = r
  17. # * =
  18.  
  19. # [repository:/baz/fuz]
  20. # @harry_and_sally = rw
  21. # * = r
  22. [test:/svn/test]
  23. @admin = rw
  24. @users = r

至此,重启一下httpd服务,在浏览器中输入“http://localhost/wl”,有如下提示,表示整个过程成功。

由于第一次搭建,也犯了一些低级错误。整个过程因为是搭建成功后写的,一些过程没有图片。后期再搭建时再补充。

Apache Httpd + Subversion 搭建HTTP访问的SVN服务器的更多相关文章

  1. [jmeter]linux下自动测试环境+持续集成ant+jmeter+Apache(httpd)环境搭建与使用

    前言:考虑搭建一个接口性能自动化测试平台,时间又比较紧急,所以就现想到了用jenkins+ant+jmeter完成,考虑到在linux环境中本身就可以设置定时任务,暂时该自动化用例还不与项目集成关联, ...

  2. 配置可以通过http协议访问的svn服务器

    通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活. 关于mode_day_svn模块: 由于Subversion需要版本化 ...

  3. 搭建Linux下的SVN服务器

    ______________________________________________配置SVN步骤______________________________________________ ...

  4. 利用同步网盘搭建个人或团队SVN服务器

    这篇文章是以前写的,现在强烈推荐两个站.1.http://git.oschina.com 2.http://www.coding.net. 推荐理由:1.可创建私有项目.2.免费稳定.3.VS2013 ...

  5. 搭建一个简单的svn服务器

    cenos 6.5,svnserver 1.6.11 默认可能已经安装,没有的话就: yum install svn -ysvnserver --version 创建一个svn仓库: svnadmin ...

  6. 搭建一个简单的svn服务器(旧)

    cenos 6.5,svnserver 1.6.11 默认可能已经安装,没有的话就: yum install svn -ysvnserver --version 创建一个svn仓库: svnadmin ...

  7. 搭建一个自己的SVN服务器

    其实方法非常简单,点点鼠标就好了. 上网搜索“VisualSVN Server”,一般来说都是会找到 https://www.visualsvn.com/server/ 这个网站的. 点击上边的Dow ...

  8. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

  9. 版本控制-https svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

随机推荐

  1. MySQL操作汇总[转]

      这学期学习了数据库系统原理,做了实验,mark一记. 目录(没有一键目录不开心...) 1.T—SQL的简单查询.连接查询 (1)用SQL语句建库.建表并插入记录. (2)修改表结构,包括修改属性 ...

  2. 2个集合比较——最高效解法(Java实现)

    优点:时间复杂度为O(n)级别: 缺点:只适用于Int,以及Int的数字不能过大,集合元素数量不能过多. 理论分析: 两个集合的元素之和以及之积相同则,这两个集合相等.(前提是两个集合的数量一致) 证 ...

  3. Java 设计模式泛谈&装饰者模式和单例模式

    设计模式(Design Pattern) 1.是一套被反复使用.多人知晓的,经过分类编目 的 代码设计经验总结.使用设计模式是为了可重用代码,让代码更容易维护以及扩展. 2.简单的讲:所谓模式就是得到 ...

  4. Mike的农场 (BZOJ 4177)

    题目大意: 给N个东西分AB类,分到A类和B类分别得到相应的钱记为A[i],B[i],然后有一些冲突关系<x,y,z>,如果物品x,y不同类需要付出z的钱.还有一些外快<S,x,y& ...

  5. oracle 11g ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)

    From :http://www.cnblogs.com/wangyt223/archive/2012/12/11/2812931.html em无法浏览,同时监听起不来.同时他的监听服务还是正常的, ...

  6. php变量函数,回调函数

    一,变量可以直接传递函数 <?php function demo($num , $n )//$n是个函数 { for($i=0;$i<$num;++$i) { if($n($i)) { e ...

  7. 再议C++的性能

    最近在公司里的项目做的是性能优化,相关性能调优的经验总结也在前一篇文章里说了.这里再说一说和性能相关的东西.主要针对的是C++类库中常用的一些数据结构,比方说std::string.顺序容器(vect ...

  8. 简单poi读取excel

    1.添加依赖jar包 maven配置: <!-- poi being --> <dependency> <groupId>org.apache.poi</gr ...

  9. 从零开始学习Node.js例子零 永远的Hello World

    index.js var http = require("http"); http.createServer(function(request, response) { respo ...

  10. js 开启video全屏模式

    方法一: function launchFullScreen() { var element = document.documentElement; if(element.requestFullScr ...