Subversion集成Apache搭建svn服务器

更新时间:2023-08-08 07:05:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Subversion集成Apache搭建svn服务器 <一>.选择apache来管理Subversion原因:

Subversion从1.3.1版本就可以独立与apache来进行配置并使用:但用apache来管理

1.在管理服务器启动,重启,关闭方面方面

2.在用户安全方面apache在传输用户的时候用的是md5加密的方式而纯subversion采用的是明码传输.

所以首选还是apache来管理subversion (闲话少说开始吧!)^_^。

<二>. 准备:

A. apache_2.0.63-win32-x86-no_ssl.msi (用来管理svn服务器)

B. svn-1.4.5-setup.exe (svn服务端)

C . TortoiseSVN-1.4.7.11792-win32-svn-1.4.6.msi (svn客户端)

准备的三个软件,就可以开始安装了:

1. 首先安装apache,一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了,Email你可以填你自己的Email,也可以随便填一个.其中要注意的是你的电脑上80端口不能被占用,否则你的http服务是启动不起来的.

2. 安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了. 你可以到CMD下面去试一下svn这个命令,如果有输出,则说明安装成功了,如果提示svn 不是内部或外部命令,也不是可运行的程序或批处理文件。那就说明没有装好.

3. 安装TortoiseSVN直接按下一步就可以了.

<三>.配置:

两者都装好了以后,就开始配置:

4. 我们先在E盘下面建立一个目录叫svnroot,然后在svnroot下面再建立一个我们专门放我们工程的目录,比如叫MyProject.于是我们在f盘下面就有了这个一个文件夹:f:\svnroot\MyProject,然后我们用svnadmin的命令,使这个文件夹变成我们的数据仓库,打开

图CMD命令如下: svnadmin create f:\svnroot\MyProject 如:

5. 如果运行成功的话,什么也没有输出,这个时候,我们再来到MyProject文件夹下面,我们

会发现多了几个文件夹和文件,我们打开conf文件夹,然后再打开svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密码验证的.

6. 既然MyProject是需要密码验证的那我们的密码文件在哪里呢?我们打开conf文件下的

passwd文件,它就是我们要找的密码文件. 在[users]下面加上我们需要启动的人员的用户和密码,比如

[users]

admin=123

admin1=123

这样的话,我们就启动了两个用户,一个叫admin,密码是123,一个叫admin1,密码是123.然后我们保存passwd文件.(注意大小写敏感的)。

7. 我们在建立一个access.auth文件用来进行文件管理: 再在里面填入如下内容:

[MyProject:/]

admin = rw

[MyProject:/mulu1]

admin=rw

admin1=r

上面配置说明只有用户admin对文件夹MyProject下的文件有读写的权利,文件夹MyProject下目录mulu1用户admin可以读写用户admin1只可以读.

8. 现在开始设置apache,使它能和subvertion一起工作:

首先来到Subersion的安装目录,进入它的bin目录,我们会发现如下两个文件:

mod_authz_svn.so (用来帮助apache对Subersion进行权限控制)

mod_dav_svn.so (用来帮助apache对Subersion进行用户管理)

我们把这两个文件复制一下,粘帖到apache的安装目录下的modules文件中,然后我们再打开apache安装目录下的conf文件夹,打开httpd.conf文件.增加如下两行:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

由于文件LoadModule dav_svn_module modules/mod_dav_svn.so需要文件LoadModule dav_module modules/mod_dav.so的支持,所以要确保下面这一行没有被注释,并且保证在LoadModule dav_svn_module modules/mod_dav_svn.so之前加载:

LoadModule dav_module modules/mod_dav.so

9. 下面我们要设置SVN的目录,以使我们的apache能知道访问不同的URL的时候,它去哪

里寻找这个URL所对应的SVN目录:

在httpd.conf文件中,增加如下内容:

<Location /svn/MyProject> #设计客户端访问的文件路径 它映射SVNPath

也就是说对外的访问路径为:http://ip地址/svn/MyProject 当然:/svn/MyProject可以改成你想要的路径

DAV svn

SVNPath f:/svnroot/MyProject # Subversion 版本库位于 D:\SVN

AuthzSVNAccessFile f:/svnroot/MyProject/conf/access.auth #设计访问的权限文件 Satisfy Any

Require valid-user

AuthType Basic

AuthName "Subversion repositories"

AuthUserFile E:/svnroot/MyProject/conf/users.auth #设计访问的用户文件如不要的话,登录服务器就不需要用户名和密码

Require valid-user

</Location>

10. 添加完上面这些,我们会发现access.auth是我们刚才新建的,可是users.auth我们并没有

新建啊.怎么就把它加进去了.不要急,现在我们就来生成users.auth文件.当然你也可以生成其他的文件名,但必须和<location> AuthUserFile :</location>配置的文件名一样 进入cmd进到apache group/apache2/bin目录下 输入 htpasswd –cb users.auth admin 123 (htpasswd 是Svn服务器的一个命令 -cb表示创建并追加数据 users.auth表示创建并追加数据的目标文件 admin 123分别表示追加的用户名和密码)如图

:

而后在输入htpasswd –b users.auth admin1 123 把用户admin1追加到文件users.auth中,以为前面已经创建了文件users.auth现在不要-cb了只要-b就可以了.如要增加其他的用户按照此方法增加就可以了.把所有的用户都增加完以后把 users.auth复制到版本库的conf文件夹下 如图路径

:

到此为止,所有配置都已经完成!

<四>.测试:

11. 重新启动apache 在浏览器中输入http://localhost/svnroot/MyProject看到一个

版本为0的界面。那么恭喜你! 你配置成功了,如你再在客户端commit一个文件那么就可以看到一个版本号和文家的内容!^_^ 到此为止!不懂的欢迎加QQ:314500811

本文来源:https://www.bwwdw.com/article/w40j.html

Top