在windows下使用Apache搭建Subversion (一) 基础搭建

  • Post author:
  • Post category:其他


【下载内容】

【文章简介】



本文记录总结了在局域网内,使用windows+Apache搭建Subversion服务端的经历。

【目录结构】

  • 准备工作
  • 搭建流程

    • Apache的安装
    • Subversion的安装
    • TortoiseSVN的安装
    • 建立版本库
    • 测试

【准备工作】



在开始之前,需要准备以下几个软件的安装包:

【搭建流程】



  • Apache的安装 :


    1. 这里没什么特别需要提醒的,只需要一直的点击next即可(因为没特殊的需求,因此并没特别的处理设置项);安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装;
    2. 修改Apache的监听端口:找到Apache的安装目录,打开conf目录下的httpd.config文件,搜索Listen,并将Listen后面的80改为9000(或者你希望的端口),保存并重启Apache即可。之所以修改监听端口,因为很多服务器会有多个不同的服务端,比如IIS等,避免端口冲突。
    3. 测试:打开浏览器,浏览http://localhost:9000/ 来测试是否安装正确,如果是“it works!”的界面表示apache已成功启动。



  • Subversion的安装:
    1. 一直点击next即可,直到安装向导完成。
    2. 然后打开Subversion的安装目录(我举例为c:\Subversion),打开其bin子目录,然后将以下文件复制到

      apache安装目录下(我举例为c:\Apache2.2)的对应文件夹里,具体如下:

      将c:\Subversion\bin目录下的”

      mod_dav_svn.so

      “与”

      mod_authz_svn.so

      “复制到

      c:\

      Apache2.2\modules 下,如果两个so文件已存在则忽略这步;

      将c:\Subversion\bin目录下的以下lib文件复制到c:\Apache2.2\bin目录下:




      intl3_svn.dll

      libdb48.dll

      libeay32.dll

      libsvn_delta-1.dll

      libsvn_fs-1.dll

      libsvn_subr-1.dll



      libsvn_repos-1.dll



      ssleay32.dll



    3. 修改c:\Apache2.2\conf\httpd.conf 配置



找到“Dynamic Shared Object”处,将



#LoadModule dav_module modules/mod_dav.so



#LoadModule dav_fs_module modules/mod_dav_fs.so



中的两个#去掉,即让Apache使用这两个模块




然后,加入:


LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so



然后退出Apache再重启动Apache,你会发觉Apache的左下脚提示为:”Apache/2.2.22 (Win32) SVN/1.7.2 DAV/2″,代表Apache与Subversion已集成。




  • TortoiseSVN的安装


    1. 不多说,直接Next到结束。
    2. 如果你对英文界面不熟悉,可下载

      中文包

      。安装完中文包后使用 右键 >>

      TortoiseSVN

      >> Setting >> General >> Language >> 中文(简体)>> 应用 >> 确定。



  • 版本库



在任一安全的盘上(本文为E盘)新建一个目录(名字任取,本文目录名取为SvnRepositories);在 e:\

SvnRepositories 下再建个项目目录( 版本库 , 本文里”m


yProject” ).然后使用 右键 >>

TortoiseSVN

>> 在此创建版本库 ,注意生成目录结构(标准目录,包括了分支,关键字等),可通过 版本库浏览 来对目录结构直接


进行调整。




新建完版本库后,需要再次对 c:\Apache2.2\conf\httpd.conf  进行配置,在最后处加入虚拟目录配置文件:


#



# SVN 项目配置文件,格式:Include 配置文件名



#为每个虚拟目录设置一个配置文件,用Include命令加载



#



Include

e:

/



SvnRepositories

/myProject/conf/*.project



然后在

e:/


SvnRepositories


/myProject/conf 目录下创建myProject.project文件,使用记事本打开,增加如下内容:



# 虚拟目录,

/svn/


myProject可任意配置


<Location /svn/

myProject

>



#SVN项目名



DAV svn



#SVN项目的路径



SVNPath E:\SvnRepositories\myProject



#项目的名称



AuthName “TestProject”



#验证方式



AuthType Basic



#用户信息



AuthUserFile  E:\SvnRepositories\

myProject

\SvnAccount



#SVN项目的路径权限授权文件存放路径



AuthzSVNAccessFile E:\SvnRepositories\

myProject

\UserAccess.access



#对于所有用户都需要身份验证



Satisfy Any



#<LimitExcept GET PROPFIND OPTIONS REPORT>



Require valid-user



#</LimitExcept>



</Location>



之后,同在

e:/


SvnRepositories


/myProject/conf 目录下创建 SVN账号信息文件:

SvnAccount ,具体如下:




在命令行下切换到$\apache group\apache2,执行bin\htpasswd -c

E:\SvnRepositories\


myProject


\SvnAccount

<username>,这里<username>是你想要加入 的用户名,比如doudou。

之后会提示你输入并重复确认密码。








这命令的意识为:

htpasswd -c

为创建个账号密码文件,


E:\SvnRepositories\


myProject


\SvnAccount 为文件路径以及最后的文件名,可依你的意愿任意改动。









完成后,你可找到生成的


E:\SvnRepositories\


myProject


\SvnAccount文件,用记事本打开,会发觉是账号名以及MD5的密码;如果需要继续添加,请改用









bin\htpasswd –

m


E:\SvnRepositories\


myProject


\SvnAccount

<username>

,

即修改账号密码文件。-m :如果是新的账号,则新增账号信息;如果是已存在的账号


,则修改密码。如果要删除一个账号,则使用大写的-D.

















最后手动创建个权限文件:UserAccess.access文件( 使用记事本,后缀保存为.access即可 ),内如如下:















[groups]

AdminGroup = admin

ClientGroup = wangchangyong,liukeping

ServerGroup = server

ArtGroup = art

DesignGroup = zhouqi

PlanGroup = wangyi

[/]

@AdminGroup = rw

@ServerGroup = rw

wangyi = r

[/foo/bar]

admin = rw

[repository:/baz/fuz]

admin = rw




其中

,[groups]下的是定义组,语法为”组名=成员1,成员2……成员N “; 必须注意的是成员必须是有效的账号。








[/]表示拥有对根目录的操作权限,通常为r:read,w:write,None;rw表示可读写.语法为“账号名= 权限” 如果是组,则需要在组名前加入@





















[/目录结构] 这里表示你自行设置的目录结构下的权限,如根目录,这里略过。




  • 测试



新建个目录,使用

TortoiseSVN

的检出测试,svn-url:http://你的IP地址:端口号/虚拟目录/trunk/你配置的目录



版权声明:本文为szwatson原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。