要装个svnmanager,网上文章看得我一头雾水一堆编译安装看得蛋痛,特别是很久没用apache以后配置文件还看得我楞了,绕了半圈才搞明白
首先,svnmanager是个php页面,和apache可以说一点关系都没。
但是网上却都没有svnmanager+nginx的,为什么捏
原因在于svnmanager生成的password文件是apache的htpasswd生成的,svn服务器的svnserve读取的password文件是明文的账号等于密码。
所以svn服务器不能用
svnserve来启动,而必须用apache来做svnserve服务(这种情况下项目中的conf/下的文件都是没用的,因为完全由apache来管理账号)......
所以就有2个问题
1、那么svnmanager如何搭配nginx呢?
这个简单......把他当普通的php页面处理就是了,apahce照样启动开到另外一个端口充当svnserve服务器......
2、svnmanager如何搭配svnserve呢?
这个稍微就麻烦点,其实也很简单,修改svnmanager的密码生成方式,直接生成明文密码
然后在创建项目后面也加点代码,创建后修改对应项目中的conf/svnserve.conf
修改password-db和authz-db两个地方,把这两分别指svnmanager配置文件里定义的passfile和accessfile(这个文件的格式apache和svnserve是一样的)就可以了
因为不熟悉php,最后还是用apache算了.....
简单说下流程
安装apache,安装php,
yum install mod_dav_svn
pear install VersionControl_SVN-0.5.1
如果你apache同时用来来运行php页面和当svn服务器
直接修改conf.d/subversion.conf
-
LoadModule dav_svn_module modules/mod_dav_svn.so
-
LoadModule authz_svn_module modules/mod_authz_svn.so
-
-
-
DocumentRoot /home/www/php/svnmanager
-
ServerName 192.168.1.2
-
-
DAV svn
-
SVNParentPath /home/svn
-
AuthType Basic
-
AuthName "Authorization Realm"
-
AuthUserFile /home/svn/passwdfile
-
AuthzSVNAccessFile /home/svn/accessfile
-
Require valid-user
-
-
/home/www/php/svnmanager
就是svnmanager的php页面放的目录
/home/svn就是svn的根目录,就是你svnserve -d制定的目录
启动apache就能以192.168.1.2访问php页面
用svn客户端访问(location定义的位置)就能访问svn根目录
阅读(2320) | 评论(0) | 转发(0) |