使用mysql为apache做用户验证的实践

发表于:2007-05-25来源:作者:点击数: 标签:
apache版本:1.3.28 所需模块:mod_auth_mysql 下载站点:ftp://ftp.kciLink.com/pub/mod_auth_mysql.c.gz apache要求DSO方式编译安装,具体安装方法本论坛有介绍,apache安装在/usr/local/apache目录下,mysql假设安装在了/usr/local/mysql目录下. #cd/usr/lo

apache版本:1.3.28
所需模块:mod_auth_mysql
下载站点:ftp://ftp.kciLink.com/pub/mod_auth_mysql.c.gz
apache要求 DSO方式编译安装,具体安装方法本论坛有介绍,apache安装在/usr/local/apache目录下,mysql假设安装在了/usr/local/mysql目录下.
#cd /usr/local/src
#wget ftp://ftp.kciLink.com/pub/mod_auth_mysql.c.gz
#gunzip mod_auth_mysql.c.gz
#/usr/local/apache/bin/apxs 
−c −I/usr/local/mysql/include 
−L/usr/local/mysql/lib/mysql 
−lmysqlclient −lm mod_auth_mysql.c
#cp mod_auth_mysql.so /usr/local/apache/libexec/
编辑httpd.conf,添加
LoadModule mysql_auth_module libexec/mod_auth_mysql.so
AddModule mod_auth_mysql.c
##让apache启动时加载mod_auth.mysql模块
<directory />
   AuthType Basic
 AuthUserfile /dev/null
 AuthName Testing
 AuthGroupFile /dev/null
 AuthMySQLHost localhost
 AuthMySQLCryptedPasswords Off
 AuthMySQLUser root
 AuthMySQLDB users
 AuthMySQLUserTable user_info
 require valid−user
</Directory>

###结束###

准备mysql
/usr/local/mysql/bin/mysql -u username -p < authmysql.sql
下面是authmysql.sql的内容
create database users;
use users;
CREATE TABLE user_info (
user_name CHAR(30) NOT NULL,
user_passwd CHAR(20) NOT NULL,
user_group CHAR(10),
PRIMARY KEY (user_name)
);
/usr/local/mysql/bin/mysql -u username -p 
mysql>use users;
mysql>insert into user_info values('username','password','group');


打开浏览器http://domainname/

 seacaptain 回复于:2003-09-25 17:44:50
自己顶一下

 lianyong 回复于:2003-09-25 20:52:43
看你自己顶的挺辛苦,帮你顶以下。。。

 fzgang 回复于:2003-09-26 11:22:50
我也来顶一下,希望写得详细点

这应该是访问服务器根目录就需要认证的吧?

其它目录是否也可以这样控制?

 seacaptain 回复于:2003-09-26 14:16:22
当然可以。只要<Directory 你想要验证的目录>......</Directory>

原文转自:http://www.ltesting.net