winson 发表于 2016-12-30 11:04:08

整合SVN与APACHE

整合SVN与Apache
一种比较常用的使用SVN的方式是将其与apache整合。通过http协议来访问代码,通过web界面来浏览察看,通过http服务器的安全控制来进行权限认证。
安装要点记录如下:
1. 假设安装Apache至D:/Apache2查看服务中是否有apache2的服务,如果没有需要在apache2的bin下运行apache -k install 生成apache服务,修改conf/httpd.conf 改Listen 80 --〉Listen 9081
重新启动apache服务,http://127.0.0.1:9081/ 如果apache正常可以看到apache启动成功的界面
2. 复制%SVN_HOME%/bin/libdb42.dll、intl3_svn.dll 、libeay32.dll、以及 ssleay32.dll到%APACHE_HOME%/bin
3. 复制%SVN_HOME%/bin/*.so到%APACHE_HOME%/modules
4. 修改%APACHE_HOME%/conf/httpd.conf,增加或修改:如果是svn-1.4.5-setup.exe就不用修改,但要检查是否有,没有就添加
LoadModule dav_module modules/mod_dav.soLoadModule dav_fs_module modules/mod_dav_fs.soLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so
  5. 版本库的创建
在Subversion/bin目录下运行svnadmin create d:/svnrepo生成版本库
6. 在<VirtualHost>中增加/svn的<Location>

<Location /svn>DAV svn# 指向SVN Repository的ROOTSVNPath d:/svnrepo</Location>
  7. 重起apache,通过浏览器访问http://localhost:9081/svn 可看到Subversion的信息。
8. 在访问控制的方面,采用文件方式,首先建立一个保存密码的文件
%APACHE_HOME%/bin/htpasswd -b -m d:/passwd/ApacheUsers.conf 你的用户名 你的密码
生成的文件内容如下:

#格式username:passworduser1:$$FGDFSFS
  如果要按照Group的方式来控制权限,可同时建立一个groups文件,内容如下:

#格式:GroupName: username1 username2 svngroup: user1 user2
  在httpd.conf中的/svn处增加权限控制部分:

<Location /svn>DAV svn# 指向SVN Repository的ROOTSVNPath d:/svnrepoRequire valid-userAuthType BasicAuthName "Subversion Repository"AuthUserFile d:/passwd/ApacheUsers.conf</Location>
  重起服务器,浏览http://localhost:9081/svn,出现安全对话框,输入用户名密码即可成功。
相关网站
http://httpd.apache.org/ Apache Web Server 官方网站
参考资料
http://www.douzhe.com/docs/ApacheManual/ Apache2.0 中文参考
http://httpd.apache.org/docs-2.0/ Apache2.0 文档


页: [1]
查看完整版本: 整合SVN与APACHE