设为首页 收藏本站
查看: 629|回复: 0

[经验分享] SVN Server与Apache的联协配置

[复制链接]

尚未签到

发表于 2017-1-9 12:15:18 | 显示全部楼层 |阅读模式
SVN Server与Apache的联协配置
  关键字: svnserver apache

好久没有配置SVN服务器了,已经学到的知识有还给老师了。昨天一个同事让安装一个SVN服务器,和Apache联协。
Apache的安装路径:C:\Apache2.2,安装端口8090
安装是很简单的事,我用的SVNServer是zip包格式的。解压到C:\根目录下,重命名成C:\svnserver,因为我喜欢短的路径名。它的目录下面会有一个README.txt
在安装部分如下

Java代码 DSC0000.gif





  •   
  • For an Apache server here's the essentials:   
  •   

  • 1. Copy bin/mod_dav_svn.so and bin/ mod_authz_svn.so to the Apache modules directory.   
  •     复制 bin下的mod_dav_svn.so和 mod_authz_svn.so到Apache的 modules目录。   

  •     在我的机器上是从C:\svnserver\bin到C:\Apache2.2\modules   

  • 2. Add the Subversion/bin directory to the SYSTEM PATH and reboot so all the Subversion   
  •    support dll's are visible to the Apache service.   
  •     把subversion/bin目录添加到系统的环境变量path中,重启机器。   
  •     另外说明:这里可以不用重新启动机器,也可以正常使用,如果有问题的话,可是重启机器看看能不能解决,网上的还有一种解决方法是把这subversion/bin下面的dll文件复制到Apache/bin下,我不推荐这种方式,好像它们有重名的文件具体没有试过。   

  • 3. Edit the Apache configuration file (httpd.conf) and make the following changes:   

  •     按如下操作修改apache的配置文件,在我的机器上是C:\Apache2.2\conf\httpd.conf.   
  •   3a. Uncomment the following two lines:   
  •     取消如下两行的注释,即去掉前面的#号。   
  •       #LoadModule dav_fs_module modules/mod_dav_fs.so   
  •       #LoadModule dav_module modules/mod_dav.so   
  •   
  •   3b. Add the following two lines to the end of the LoadModule section:   
  •     添加下面两行到 LoadModule的结束部分,我添加到了   
  •     #LoadModule vhost_alias_module modules/mod_vhost_alias.so和   
  •     <IfModule !mpm_netware_module>的中间   
  •       LoadModule dav_svn_module modules/mod_dav_svn.so   
  •       LoadModule authz_svn_module modules/mod_authz_svn.so   
  •   
  •   3c. Add the following to end of the file. Note: This Location directive is a   
  •       minimal example with no authentication directives. For other options,   
  •       especially authentication options, see the Subversion INSTALL file,   
  •       the Subversion Book, or the TortoiseSVN Manual.   
  •   

  •         把下面这一段复制到文件的结尾部分,就完成了SVN和Apache的集成。但是要把 your/repository/path改成你的资源库位置。这只是一个最小化的配置,在我的机器上,库名是repo,这样你就可以用http://localhost:8090/svn/repo来访问。   
  •      <Location /svn>   
  •         DAV svn   
  •         SVNPath your/repository/path   
  •       </Location>   
  • 我在我的服务器上设置了多项目和权限控制。和以上安装过程不同的部分也只有在资源库设置的不同,配置如下   
  • <Location /svn>   
  •     DAV svn   
  •     SVNParentPath C:\SVNREPO #资源库的父目录,因为要设置多个项目   
  •     AuthType Basic  #验证方式   

  •     AuthName "SVN Reop's Authentication" #输入密码时的提示信息   
  •     AuthUserFile C:\SVNREPO\svn_passwd_file #用户密码文件   
  •     AuthzSVNAccessFile C:\SVNREPO\svn_access_file #用户权限控制文件   
  •     Require valid-user #使用密码验证登录   
  • </Location>  



For an Apache server here's the essentials:
1. Copy bin/mod_dav_svn.so and bin/ mod_authz_svn.so to the Apache modules directory.
复制 bin下的mod_dav_svn.so和 mod_authz_svn.so到Apache的 modules目录。
在我的机器上是从C:\svnserver\bin到C:\Apache2.2\modules
2. Add the Subversion/bin directory to the SYSTEM PATH and reboot so all the Subversion
support dll's are visible to the Apache service.
把subversion/bin目录添加到系统的环境变量path中,重启机器。
另外说明:这里可以不用重新启动机器,也可以正常使用,如果有问题的话,可是重启机器看看能不能解决,网上的还有一种解决方法是把这subversion/bin下面的dll文件复制到Apache/bin下,我不推荐这种方式,好像它们有重名的文件具体没有试过。
3. Edit the Apache configuration file (httpd.conf) and make the following changes:
按如下操作修改apache的配置文件,在我的机器上是C:\Apache2.2\conf\httpd.conf.
3a. Uncomment the following two lines:
取消如下两行的注释,即去掉前面的#号。
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
3b. Add the following two lines to the end of the LoadModule section:
添加下面两行到 LoadModule的结束部分,我添加到了
#LoadModule vhost_alias_module modules/mod_vhost_alias.so和
<IfModule !mpm_netware_module>的中间
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3c. Add the following to end of the file. Note: This Location directive is a
minimal example with no authentication directives. For other options,
especially authentication options, see the Subversion INSTALL file,
the Subversion Book, or the TortoiseSVN Manual.
把下面这一段复制到文件的结尾部分,就完成了SVN和Apache的集成。但是要把 your/repository/path改成你的资源库位置。这只是一个最小化的配置,在我的机器上,库名是repo,这样你就可以用http://localhost:8090/svn/repo来访问。
<Location /svn>
DAV svn
SVNPath your/repository/path
</Location>
我在我的服务器上设置了多项目和权限控制。和以上安装过程不同的部分也只有在资源库设置的不同,配置如下
<Location /svn>
DAV svn
SVNParentPath C:\SVNREPO #资源库的父目录,因为要设置多个项目
AuthType Basic  #验证方式
AuthName "SVN Reop's Authentication" #输入密码时的提示信息
AuthUserFile C:\SVNREPO\svn_passwd_file #用户密码文件
AuthzSVNAccessFile C:\SVNREPO\svn_access_file #用户权限控制文件
Require valid-user #使用密码验证登录
</Location>



其中C:\SVNREPO的目录结构如下:


Java代码





  •   
  • C:\SVNREPO   
  •     ├─svn_passwd_file   
  •     ├─svn_access_file   
  •     ├─ChatProject   
  •     │  ├─conf   
  •     │  ├─dav   
  •     │  ├─db   
  •     │  ├─hooks   
  •     │  ├─locks   
  •     │  ├─format   
  •     │  └─README.txt   
  •     └─DailyBuildTestProject   
  •        ├─conf   
  •        ├─dav   
  •        ├─db   
  •        ├─hooks   
  •        ├─locks   
  •        ├─format   
  •        └─README.txt  



C:\SVNREPO
├─svn_passwd_file
├─svn_access_file
├─ChatProject
│  ├─conf
│  ├─dav
│  ├─db
│  ├─hooks
│  ├─locks
│  ├─format
│  └─README.txt
└─DailyBuildTestProject
├─conf
├─dav
├─db
├─hooks
├─locks
├─format
└─README.txt



ChatProject和DailyBuildTestProject是两个repo目录。
可以使用svnadmin create 命令来创建,这样就会创建一个项目。
【图片】创建ChatProject



svn_passwd_file 在密码文件,svn_access_file是权限控制文件。密码文件使用apache的htpasswd.exe来创建,在此不再多说。
svn_access_file文件的创建,原先我一直以为这个文件应该是UTF-8格式的,可是今天测试了一下,发现并不是这样,它是支持ASCII和UTF-8 without signature,也就是不带BOM(Byte Order Mark)的UTF-8格式。有关BOM参见http://wiki.bmforum.com/BOM。
如果你没有特殊的文件编辑器的话,就只能使用ASCII的,用Windows自带的记事本就可以处理,在这里面最好不要写除ASCII以外的字符。用Em-editor可以创建UTF-8 without signature,它可以支持更多的文字,也许我们用不到。关于这个问题我也不太清楚。但是按这种做法是一定可以的。如果出现403错误,大部分的原因是权限文件不正常,如格式不对,或是文件的编码不正确.
【图403错误】



当前,svn_passwd_file,svn_access_file的文件名不是必须这样,它们只是在配置文件中指定的。
svn_access_file 文件格式示例如下

Java代码





  • [groups]   
  • CML = admin,cml   
  • everyone = aaa,bbb,ccc,ddd   
  • PM = aaa   
  • PG = bbb,ccc   
  • TESTER = ddd   
  •   
  • ChatProject_CML = admin,cml   
  • ChatProject_ALL = aaa,bbb,ccc,ddd   
  • ChatProject_SE = aaa   
  • ChatProject_PG = bbb,ccc   
  • ChatProject_TESTER = ddd   
  •   
  • [/]   
  • * =    

  • @everyone = r    
  •   
  • [DailyBuildTestProject:/]   

  • @everyone = r    

  • @CML = rw   
  •   
  • [ChatProject:/]   

  • @everyone = r    
  • [ChatProject:/tags]   

  • @ChatProject_ALL = r   

  • @ChatProject_SE = rw   

  • @ChatProject_CML = rw   
  • [ChatProject:/trunk]   

  • @ChatProject_ALL = rw   

  • @ChatProject_SE = rw   

  • @ChatProject_CML = rw   
  • [ChatProject:/branches]   

  • @ChatProject_ALL = rw   

  • @ChatProject_SE = rw   

  • @ChatProject_CML = rw  



[groups]
CML = admin,cml
everyone = aaa,bbb,ccc,ddd
PM = aaa
PG = bbb,ccc
TESTER = ddd
ChatProject_CML = admin,cml
ChatProject_ALL = aaa,bbb,ccc,ddd
ChatProject_SE = aaa
ChatProject_PG = bbb,ccc
ChatProject_TESTER = ddd
[/]
* =
@everyone = r
[DailyBuildTestProject:/]
@everyone = r
@CML = rw
[ChatProject:/]
@everyone = r
[ChatProject:/tags]
@ChatProject_ALL = r
@ChatProject_SE = rw
@ChatProject_CML = rw
[ChatProject:/trunk]
@ChatProject_ALL = rw
@ChatProject_SE = rw
@ChatProject_CML = rw
[ChatProject:/branches]
@ChatProject_ALL = rw
@ChatProject_SE = rw
@ChatProject_CML = rw

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326040-1-1.html 上篇帖子: openSUSE 11.3 Apache httpd.conf 文件配置 下篇帖子: Apache 2.0性能优化—MPM的选择与配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表