用mod_auth_mysql实现subversion(svn)的身份验证

1 编译生成mod_auth_mysql.so

要用到的文件:
mod_auth_mysql.c
可以通过:
http://heanet.dl.sourceforge.net/sourceforge/modauthmysql/mod_auth_mysql-3.0.0.tar.gz
进行下载,并放在/home/upload。
cd /home/upload
tar zxvf mod_auth_mysql-3.0.0.tar.gz
cd mod_auth_mysql-3.0.0
/usr/app/apache2/bin/apxs -c -L "/usr/app/mysql5/lib/mysql"
-I "/usr/app/mysql5/include/mysql"
-lmysqlclient -lm -lz mod_auth_mysql.c
(-I参数用来指定mysql.h文件的路径,-L参数用来指定libmysqlclient.so文件的路径)
/usr/app/apache2/bin/apxs -i mod_auth_mysql.la
通过以上操作,就在/usr/app/apache2/modules下面生成了mod_auth_mysql.so
2 下载htpasswd.sql(创建相应的数据库,已经相应的mysql表)
http://www.heuer.org/mod_auth_mysql/
到/home
cd /usr/app/mysql5/bin
./mysql -u root -ppasswd
create database subversion;
use subversion;
source /home/htpasswd.sql;
insert into host_info(id,host,hostgroup)
values ( null, "www.foo.com", 1 );
insert into host_info(id,host,hostgroup)
values ( null, "www.bar.com", 2 );
insert into user_info (id, user_name,user_password, hostgroup)
values (null,"myself", MD5("secret"),1);

insert into user_info (id, user_name,user_password, hostgroup)
values (null,"myself", MD5("password"),2);

3 配置subversion的http访问机制
cd /usr/app/apache2/conf
vi httpd.conf
增加:
LoadModule auth_mysql_module modules/mod_auth_mysql.so
<Location /svn>
DAV svn
SVNPath /usr/app/svn_demo
AuthType Basic #svn的验证方式
AuthName subversion #可以不写
AuthMySQLHost localhost #主机
AuthMySQLUser root #登陆数据库名
AuthMySQLPassword passwd #登陆数据库密码
AuthMySQLDB subversion #数据库名
# AuthMySQLPort 3306
AuthMySQLUserTable user_info #验证的表
AuthMySQLNameField user_name
AuthMySQLPasswordField user_passwd
AuthMySQLAuthoritative On
AuthMySQLEnable On
AuthMySQLPwEncryption md5
Require valid-user
</Location>

4 重启apche。在ie中输入:
http://localhost/svn
就会出现提示输入用户名和密码的对话框
输入myself/password或者myself/secret就可以登陆svn。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值