前提,svn已配好,apache已配好,httpd+svn的配置已正常工作。只是更改svn的认证为linux本地密码认证方式。
1,yum安装httpd-devel
2,安装mod_authnz_external,这个yum源上没有,只有下载安装包手工安装
从http://code.google.com/p/mod-auth-external/ 选择对应的版本
查看本地Apache版本为2.2,则安装3.2.6版本的mod-auth-external
解压后执行
#apxs -c mod_authnz_external.c (编译)
#apxs -i -a mod_authnz_external.la (安装)
3,安装最关键的pwauth这个也在yum源上没有,
从http://code.google.com/p/pwauth/downloads/list选择一个版本2.3.10
解压后更改config.h配置文件,设置这行、
#define SERVER_UIDS 48(这个数字是svnrepo目录的访问group id,比如这里是apache)
也可以是几个group的id
#define SERVER_UIDS 12,48,501
然后#make
得到pwauth,可以copy到指定目录比如/usr/local/bin/pwauth,注意这个文件的权限一定是root, chmod 755否则可能不能访问/etc/shadow/
4,配置subversion.conf
AddExternalAuth pwauth /usr/local/bin/pwauthSetExternalAuthMethod pwauth pipe
<Location /svnroot>
5,重启httpd服务
6,Done