首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》17.6 使用mod_auth_mysql身份验证

关灯直达底部

正如我们已经提到的,在Apache上使用mod_auth易于安装并且效率很高。因为它将用户信息保存到一个文本文件中,因此对于拥有广泛用户群的繁忙网站,mod_auth的使用是不实际的。

幸运的是,使用mod_auth_mysql,将拥有使用mod_auth的易用性,同时又获得访问数据库的更快速度。该模块的工作方式与mod_auth非常类似,但是因为它使用MySQL数据库而不是文本文件,所以可以在大量用户中进行搜索。

要使用它,需要在系统中编译和安装该模块,或者请系统管理员安装它。

17.6.1 安装mod_auth_mysql

要使用mod_auth_mysql,需要首先安装Apache和MySQL,安装说明请参阅附录A,然后再完成几步额外的步骤。在Apache和MySQL软件包中附带的README和USAGE文件都给出了完善的安装说明,但是某些地方是针对以前版本的。

在这里,我们只给出总结。

1)获得模块的存档文件。它包含在随书附带的文件中,但是也可以从下列网址得到最新版本:http://sourceforge.net/projects/modauthmysql/

2)解压缩源代码。

3)切换到mod_auth_mysql目录,分别运行make和make install命令。必须在make文件(MakeFile)中告诉它MySQL的安装位置。

4)在httpd.conf文件中添加如下所示行,以便动态地将模块加载到Apache

LoadModule Mysql_auth_module libexec/mod_auth_mysql.so

5)创建数据库和包含身份验证信息的MySQL表。它并不需要是一个单独的数据库或表;可使用一个已有表,例如在本章前面的示例创建的auth数据库。

6)在httpd.conf文件添加mod_auth_mysql用来连接MySQL所需的参数,该指令如下所示:

Auth_MySQL_Info hostname user password

检查编译是否正常工作的最简单方法是查看Apache是否可以启动。要启动具有SSL支持类型的Apache,可以使用如下命令:

/usr/local/apache/bin/apachectl startssl

如果没有启用SSL支持类型,可以输入如下命令:

mod_auth_mysql was successfully added.

如果启动后在httpd.conf文件中有Auth_MySQL_Info指令,mod_auth_mysql模块就已经成功添加。