首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > CVS SVN >

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

2012-10-26 
用mod_auth_mysql实现subversion(svn)的身份验证1 编译生成mod_auth_mysql.so 要用到的文件:mod_auth_mysq

用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。



热点排行