Apache2.0.63与Subversion集成安装与配置

来源:互联网 发布:淘宝 资质认证 编辑:程序博客网 时间:2024/04/30 02:28

 

ApacheSubversion集成安装与配置

 

1.      使用工具如下:

Apacheapache_2.0.63-win32-x86-no_ssl.msi

Subversionsvn-1.4.5-setup.exe

TortoiseSVN:高于1.4.5版本即可

1.   下载地址:

     Apache apache_2.0.63-win32-x86-no_ssl.msi

 Subversionhttp://bbs.iusesvn.com/download/1.4/svn-1.4.5-setup.exe

3.安装软件

  首先安装apache,安装过程中会让你填写相关的domain或者别的,比如:email什么的,可以随便的填写,另外你的电脑上80端口不能被占用,否则你的http服务是启动不起来的.装好apache以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入http://localhost看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个页面的.
  
然后,再安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对apacheHTTP服务器提供支持的选项,这个默认是勾上的,不要去反选它,其它的你可以反选掉.然后svn就宣布安装成功了.你可以到CMD下面去试一下svn这个命令,如果有输出,则说明安装成功了,如果提示svn不是内部或外部命令,也不是可运行的程序或批处理文件。那就说明没有装好.或者没有把这个命令加入到path,所以最好的办法是到svn的安装目录下的bin里面去看一下.

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

4.下面我们建库并进行配置。

  4.1 创建一个仓库

  我们在E盘目录svnroot文件夹下创建一个仓库名为MyProject,在dos里面输入如下命令:svnadmin create E:/svnroot/MyProject ,进到E盘文件夹下面,看看是不是多了几个文件,如果有,说明创建仓库成功.

  4.2 配置MyProject下面的相关文件

首先打开项目文件想的conf文件夹,打开里面的svnserve.conf文件,找到如下行  # password-db = passwd ,然后把它前面的#去掉,表示MyProject是需要密码验证的.但是我们密码设在哪里呢,这个时候我们再打开conf文件夹下面的passwd文件,用文本编辑器打开,[users]下面加上我们需要启动的人员的用户和密码,比如
[users]
svnadmin = svnadmin
yanyan = 123456

这个的话,我们就启动了两个用户,一个叫svnadmin,密码是svnadmin,一个叫yanyan,密码是123456.然后我们保存passwd文件.然后,我们再建一个文件,access.auth,这个文件是设置访问权限的,里面内容如下:
[MyProject:/]
svnadmin = rw


[MyProject:/trank]
yanyan = rw
svnadmin = rw

这表示,MyProject下面的所有子目录svnadmin都是有权限读写的,但是yanyan只有权限读写此项目下面的trank目录,这个各自的访问权限就分的更细致了.有关于MyProject文件夹下面的设置,大家自己去捉摸吧,我们现在开始设置apache,使它能和subvertion一起工作.

4.3配置apache端的相关内容

首先来到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:/ProgramFiles/Apache Group/Apache2/bin>htpasswd -cb users.auth svnadmin svnadmin  
D:/Program Files/Apache Group/Apache2/bin>apache的安装目录)


我们就会发现在bin目录生成了users.auth,我们可以看到,hadeslee用户名已经被添加进去了,密码是用MD5加密过的.然后我们还要增加用户呢,可以用如下方法:
D:/ProgramFiles/Apache Group/Apache2/bin>htpasswd –b users.auth yanyan 123456

 

只是在生成密码的时候,小了一个c的参数,因为c表示重新生成一个这样的文件,我们第一次的时候是要加的,后面我们要添加用户的时候,就不用这个c.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth移到E:/svnroot/MyProject/conf/里面去,使我们上面的设置生效.

这个时候,我们的设置就完成了.可以在浏览器里面输入

(如果是本机访问:http://localhost/svn/MyProject ),

(如果是远程访问,那么就输入:http://172.16.25.26/svn/MyProject)

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