SVN安装要点及常见问题的解决

来源:互联网 发布:windows10未识别的网络 编辑:程序博客网 时间:2024/05/17 06:08

使用svn已有一段时间了,今天自己第一次在redhat AS4+apache上配,却不那么顺利..


1、编译安装源码包 apache2.2+subversion1.3.1

a、apache

./configure --prefix=/web/apache --enable-mods-shared=all

make && make install

b、subversion

./configure --with-apxs=/web/apache/bin/apxs --with-apr=/web/apache --with-apr-util=/web/apache

make && make install

提请注意的是:没有加上后面两个参数,服务器会出现500错误,apache的error_log显示如下:
 

Could not fetch resource information. [500, #0]

Could not open the root of the repository [500, #22]

Can't set position pointer in file '/web/www_root/svn/test/db/revs/0': Invalid argument [500, #22]


2、修改httpd.conf

如没有,添加以下几句(一般编译后会自动修改)

LoadModule dav_module modules/mod_dav.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

以下这段开启svn的虚拟目录,可以放在某个虚拟主机配置段内

<Location />

DAV svn

#SVNPath "/web/svn/project1" #如果你想对每个项目单独配置,使用该项

SVNParentPath /web/svn #设定一个根,所有项目均放在此目录下

</Location>

3、创建仓库

cd /web/svn

svnadmin create project1

更改权限:改变/web/svn目录为apache运行用户有权写入

chmod -R 757 /web/svn

4、控制存取权限
在<Location>段加入
 

# 存取权限控制文件所在地

AuthzSVNAccessFile /etc/svn.access

# 先尝试匿名操作,如有必要再转向用户认证

Satisfy Any

Require valid-user

#验证方式

AuthType Basic

AuthName "tim's SVN"

AuthUserFile /etc/svn.passwd

控制文件/etc/svn.access格式

[groups]

AdminGroup = tim,stardust

GuestGroup = guest

[/project1]

@AdminGroup = rw

@GuestGroup = r


密码文件/etc/svn.passwd使用htpasswd生成

/web/apache/bin/htpasswd -cbm /etc/svn.passwd username password
m参数表示使用md5加密,
可以以同样方式增加多个用户,之后添加的不需用c参数


5、问题及解决
a.服务器出现 HTTP 500错误,重编译subversion ,加上 --with-apr=/apache路径 及 --with-apr-util=/apache路径
b.客户端使用TSVN时出现 svn: PROPFIND of '/svn/project1': 301 Moved Permanently,修改httpd.conf,注释LoadModule dir_module

modules/mod_dir.so一行,类似错误还有可能是与mod_rewrite冲突,导致TSVN生成不识别的路径,修改相应的rewrite_rule即可
c.出现Can't create directory '/web/svn/projecct1/db/transactions/0-1.txn': Permission denied ,原因是权限不足,给相应目录加上

权限(chmod -R 757 /web/svn)


6、其它认证方式
可以采用多种其它方式的验证,以后再去试了
如:
SSL,mod_auth_sspi,mod_auth_mysql等 
原创粉丝点击