苍天有泪 发表于 2017-1-10 06:31:50

svn和apache傻瓜式集成和手动集成

  1.傻瓜式实现:
  用SVN可视化服务器喽.去下个最新的VisualSVN,也就是SVN服务器和apache服务器都已经集成好的东西.不用再去看那么一堆堆的贴子.一跳NEXT安装使用.就可以轻松+HAPPY的完成svn服务器的搭建.
  重要的是.visulSVN这东西商家脑子有问题:服务器是免费的,客户端是收费的.(用的就是你方便的服务器 - -,真傻.客户端我们有TortoiesSVN嘛~).安好后,用这东西新建个仓库.
  OK了.加开Brows->https://127.0.0.1/svn/仓库名/
  一切就这么简单!
  2.人工手动,就是麻烦: - -
  参考:http://www.blogjava.net/hadeslee/archive/2008/03/12/185788.html

  下面的请注意着点看:不然会晕的.
  准备:
  
1,apache_2.2.x-win32-x86-no_ssl.msi

2,svn-1.6.x-setup.exe
  依然TortoiseSVN
  首先要建立一个数据仓库,我们假设建在E盘.
  我们先在E盘下面建立一个目录叫svnroot,然后在svnroot下面再建立一个我们专门放我们工程的目录,比如叫MyProject.
  于是我们在E盘下面就有了这个一个文件夹:E:\svnroot\MyProject,然后我们用svnadmin的命令,使这个文件夹变成我们的数据仓库,命令如下:
svnadmin create E:\svnroot\MyProject(其实完全可以用tortoiseSVN的create Repositry,用工具干麻不用.我这种小菜,以应用为王~)
  如果运行成功的话,什么也没有输出,这个时候,我们再来到MyProject文件夹下面,我们会发现多了几个文件夹和文件,我们打开conf文件夹,然后再打开svnserve.conf文件,找到如下行
  # password-db = passwd,
  然后把它前面的#去掉,表示MyProject是需要密码验证的.但是我们密码设在哪里呢,这个时候我们再打开conf文件夹下面的passwd文件,用文本编辑器打开,在下面加上我们需要启动的人员的用户和密码,比如
  

  
  bacon=123
  admin=123
  这个的话,我们就启动了两个用户,一个叫hadeslee,密码是hadeslee1234,一个叫tom,密码是123456.然后我们保存passwd文件.然后,我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面内容如下:
  

  
bacon= rw

bacon=rw
admin=rw
  ##svn结束,开始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:\Program Files\Apache Group\Apache2\bin>htpasswd -c -b users.auth bacon 123
Automatically using MD5 format.
Adding password for user hadeslee

D:\Program Files\Apache Group\Apache2\bin>

我们就会发现在bin目录生成了users.auth,我们可以看到,hadeslee用户名已经被添加进去了,密码是用MD5加密过的.然后我们还要增加用户呢,可以用如下方法:
D:\Program Files\Apache Group\Apache2\bin>htpasswd -b users.auth admin 123
Automatically using MD5 format.
Adding password for user tom

D:\Program Files\Apache Group\Apache2\bin>

只是在生成密码的时候,小了一个c的参数,因为c表示重新生成一个这样的文件,我们第一次的时候是要加的,后面我们要添加用户的时候,就不用这个c了.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth移到E:/svnroot/MyProject/conf/里面去,使我们上面的设置生效.
页: [1]
查看完整版本: svn和apache傻瓜式集成和手动集成