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”,有如下提示,表示整个过程成功。

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

时间: 2024-08-03 20:35:55

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

用 Apache 和 Subversion 搭建安全的版本控制环境

用 Apache 和 Subversion 搭建安全的版本控制环境 作为新一代的开源版本控制工具,Subversion 以其目录版本化.原子提交.版本化的元数据.更加有效的分支和标签等优良特性,正逐渐受到开源软件社区的重视,并有望取代 CVS,成为开源软件开发中版本控制的首选系统.在服务端,Subversion 最大的独特之处,在于它可以通过一个扩展模块与 Apache 的HTTP 服务器相结合,实现很多高级的管理功能和安全特性.与 CVS 相比,Subversion 实现了更加先进和安全的用户

CentOS6搭建证书验证的SVN服务器

本人搭建SVN服务器,通过https协议发布到互联网中的.我需要的服务有apache(httpd)网站服务器.subversion版本库服务器.ssl证书. 一.通过yum安装环境 安装httpd网站服务器:yum install -y httpd安装版本库服务器:yum install -y subversion 安装网站SSL模块到服务器: yum install -y mod_ssl 安装网站SVN模块到服务器:yum install -y mod_dav_svn mod_authz_sv

apache httpd.conf 配置局域网访问

<Directory "E:/wamp/www/">    #    # Possible values for the Options directive are "None", "All",    # or any combination of:    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews    #    # Note

搭建一个简单的svn服务器

cenos 6.5,svnserver 1.6.11 默认可能已经安装,没有的话就: yum install svn -ysvnserver --version 创建一个svn仓库: svnadmin create /root/myrepo/ 配置这个仓库(这里简单设置为匿名可写),vi /root/myrepo/conf/svnserve.conf [general]anon-access = write 配置svnserver,vi /etc/sysconfig/svnserve OPTIO

搭建两个实时同步的SVN服务器

服务器系统版本:# cat /etc/redhat-release CentOS release 6.4 (Final) 结构:SVN服务器1 主库IP 192.168.16.201SVN服务器2 从库IP 192.168.16.202 搭建目标:在SVN服务器1上执行svn ci操作,SVN服务器2上的版本库会同步更新. 说明: 本文只涉及到搭建简单的SVN服务器,并不涉及配置Apache的高级配置以及SVN结合LDAP认证登陆.1.搭建两个SVN服务器###在这一部分,如无特殊说明,所有操作

SVN服务器搭建(一)

本教程以64位win10系统为例在本地搭建svn服务器,安装完成后,即可访问本地svn服务器上的项目,也可以访问网上其他svn服务器上的项目. 一.首先准备三个软件: 1.VisualSVN-Server-3.6.3-x64.msi(svn服务端) 2.TortoiseSVN-1.9.6.27867-x64-svn-1.9.6.msi(svn客户端) 3.LanguagePack_1.9.6.27867-x64-zh_CN.msi(TortoiseSVN 的汉化包) 软件下载地址:http://

使用VisualSVN Server搭建SVN服务器(测试通过)

1. VisualSVN Server  下载地址如下    http://www.visualsvn.com/visualsvn/download/ 2.  TortoiseSVN (SVN 客户机) 的下载地址如下    http://tortoisesvn.net/downloads.html 3 安装VIsualSVN. 1. 选择 visualVSN服务器和管理控制台 或只有管理控制权限 2.  选择程序安装的路径.Subversion Repository(库)的路径和所使用的协议和

Mac下SVN服务器环境的搭建和配置(除展示图片外,所有命令在Linux/Unix下适用)

这几天领导没有安排工作,闲着没事就想把自己这两年做iOS开发时感觉知识有欠缺的地方想好好深入地补习一下,昨天和今天就计划好好学习下SVN和git的从创建和到原理,到命令,到界面的使用.一不小心被另一领导发现我在研究这个,又看我没事就想让我帮忙帮她的组把SVN权限给改一改,我也挺乐意,能让自己所学的东西派上用场那是何等的幸运,而且她也让我更相信准备着被人宰,总比等死好,起码能卖个价钱(微笑). 我们多数开发公司都是在windows下使用VisualSVN搭建代码版本控制服务器环境的,这一块我也已经

mac下svn服务器搭建及使用

---------------------------------------------svn服务器搭建mac上创建svn服务器管理 -------------step1$ svnadmin create svndir -------------step2conf > svnserve.conf修改配置 # anon-access = read # auth-access = write # password-db = passwd # authz-db = authz 去掉这几个前面的#和空