软件版本管理 Apache和Subversion集成安装与配置

因为工作需要,要架设一个Subversion和Apache一起工作的源码管理器.以便协同工作.于是网上找了一些资料,在找资料的过程中,也走了一些弯路,于是自己整理了一下安装的过程和一些注意的事项,希望能对大家有些帮助.

本文在参考别人的基础上,自己实际操作总结的经验。仔细排版、重点步骤着色加以区别。

我的百度空间:http://hi.baidu.com/anglecloudy

好了,言归正传吧,要准备的东西如下:

1,apache_2.0.63-win32-x86-no_ssl.msi
 
【最好选用这个版本,因为它与SVN1.4.5兼容性最好,其它版本很容易失败
免费下载地址:http://download.csdn.net/source/2628384 】

2,svn-1.4.5-setup.exe

下载地址:download.csdn.net/source/2628396

(特别提醒:很多朋友安装还有配置过程中会出现很多问题,很多都是因为版本原因引起的。呵呵,这两个版本本人测试用的很爽。安装SVN时可以自动把APACHE服务集成。)

好了,准备的两个软件都下载下来以后,就可以开始安装了.


   【一】 首先安装apache,一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了,Email可以随便填一个,安装时先择8080端口【一般别占用80,如果安装时选择8080端口后,安装完成后会发现没有APACHE服务,这时用命令提示符进入APACHE的BIN文件夹下,运行:apache.exe -k install -n apache2 命令,然后运行:net start apache2即可,其实就是安装APACHE服务,然后启动
.装好apache以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入 http://localhost:8080看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个页面的.

【二】然后,再安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对 apache的HTTP服务器提供支持的选项,这个默认是勾上的,不要去反选它,其它的你可以反选掉.然后svn就宣布安装成功了.你可以到CMD下面去 试一下svn这个命令,如果有输出,则说明安装成功了,

两者都装好了以后,就开始配置,当然,配置也是最重要的.


【三】 首先要建立一个数据仓库,我们在E盘下面就有了这个一个空文件夹:
E:/svnroot/MyProject

【四】然后我们用svnadmin的命令,使这个文件夹变成我们的数据仓库,命令如下:

svnadmin create E:/svnroot/MyProject

如果运行成功的话,什么也没有输出,这个时候,我们再来到MyProject文件夹下面,我们会发现多了几个文件夹和文件,

【五】我们打开
conf文件夹,然后再打开svnserve.conf文 件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密码验证的.

【六】但是我们密码设在哪里呢,这个时候我们再打开conf文件夹下面的 passwd文件,用文本编辑器打开,在[users]下面加上我们需要启动的人员的用户和密码,比如

[users]
yubaolee=123456

然后保存

【七】然后,我们再建一个文件,叫
access.auth,这个文件是设置访问权限的,里面内容如下:
[MyProject:/]
yubaolee= rw

这表示,MyProject下面的所有子目录yubaolee都是有权限读写的,


我们现在开始设置apache,使它能和subvertion一起工 作.
(如果你下载的是我上面提及到的两个版本,可以不用下面设置,因为已经配置好了。可以直接跳到SVN的目录设置部分)
/***********************************************************************************************************************************
首先来到Subersion的安装目录,进入它的bin目录,我们会发现如下两个文件:
mod_authz_svn.so
mod_dav_svn.so

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

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

************************************************************************************************************************************/


【八】 下面我们要设置SVN的目录,
以使我们的apache能知道访问不同的URL的时候,它去哪里寻找这个URL所对应的SVN目录.
httpd.conf文件中,增加如下内容:
<Location /svn/MyProject>
DAV svn
SVNPath E:/svnroot/MyProject

AuthzSVNAccessFile E:/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>


添加完上面这些,我们会发现
access.auth是我们刚才新建的,可是users.auth我们并没有新建啊.怎么就把它加进去了.不要急,现在我们就来生成users.auth文件.

【九】 进入apache的安装目录的bin文件夹,输入如下命令:


D:/Program Files/Apache Group/Apache2/bin>htpasswd -cb users.auth yubaolee

我们就会发现在bin目录生成了users.auth,我们可以看到,hadeslee用户名已经被添加进去了,密码是用MD5加密过的.
【如果增加用户呢,可以用
htpasswd -b users.auth tom 123456 ,如果没有其它用户就不管了 只是在生成密码的时候,小了一个c的参数


【十】 ,这个时候,我们把
users.auth移到E:/svnroot/MyProject/conf/里面去,使我们上面的设置生效.

这个时候,我们的设置就完成了.可以在浏览器里面输入
http://localhost:8080/svn/MyProject试试看.

如果以后我们还要加入其它的项目呢,可以有两点解决方式

1,把以后的项目也导入到我们的MyProject的仓库中,这个的话,就不用改什么配置了
2,新建一个数据仓库,然后只要按上面的步骤,把新的<Location...>设置放到httpd.conf里面就可以了.
当然,验证文件,访问权限文件,还有访问SVN的密码都要自己按上面的方法再设一遍.

【最后】建好了SVN服务器,怎么访问呢?下一个乌龟SVN客户端吧,个人觉得tortoise svn是做的最好的SVN客户端。
tortosieSVN下载地址:
download.csdn.net/source/2628421  英文原版+汉化包,喜欢用英文版还是中文版自己选吧,反正都是免费的

祝大家能够设置成功:)

你可能感兴趣的:(apache,SVN,HTTP服务器,Module,数据仓库,subversion)