| 導購 | 订阅 | 在线投稿
分享
 
 
 

Apache-2.2.4+mod_auth_mysql3.0.0+mysql4.0.x的配置

來源:互聯網網民  2008-05-21 09:45:22  評論

千辛萬苦Google後,終于把Apache 2.2.x + mod_auth_mysql配置出來了。記錄下來.

本來看文檔使用modules.apache.org推薦的mod_auth_mysql 1.9.1 應該是可以的。但貌似文檔沒提到支持

plain text密碼。而這個系統需要密碼是plain text.只好使用這個mod_auth_mysql 3.0.0了。

需要軟件和補丁的下載地址附後.

OS:Redhat ES 3.0

apache-2.2.4,mysql-4.0.x 早已經安裝完成。

打補丁mod_auth_mysql

首先需要打補丁使mod_auth_mysql 支持apache 2.2.x:

wget http://cvs.mandriva.com/cgi-bin/viewvc.cgi/SPECS/apache-mod_auth_mysql/mod_auth_mysql-3.0.0-apr1x.patch

patch -p0 < mod_auth_mysql-3.0.0-apr1x.patch

注意:這個是非官方的patch,官方的patch據參考地址2說有,我沒有找到。另外一個google到的patch我用了後,編譯沒問題,訪問時會出段錯誤。

編譯安裝mod_auth_mysql:

apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c

apxs -i mod_auth_mysql.la

配置mod_auth_mysql

add the following directive to httpd.conf:

LoadModule mysql_auth_module modules/mod_auth_mysql.so

在httpd.conf中配置需要認證的目錄

<Directory "/var/www/testmysqlauth">

Options FollowSymLinks

AllowOverride AuthConfig

Order allow,deny

Allow from all

</Directory>

/var/www/testmysqlauth/.htaccess中內容:

AuthName "MySQL Auth Testing"

AuthType Basic

AuthUserFile /dev/null

AuthBasicAuthoritative off

AuthMySQLEnable On

AuthMySQLHost localhost

AuthMySQLPort 3306

AuthMySQLSocket /tmp/mysql.sock

AuthMySQLUser myuser

AuthMySQLPassword mypass

AuthMySQLDB mydb

AuthMySQLUserTable usertable

##AuthMySQLUserCondition

AuthMySQLNameField username

AuthMySQLPasswordField password

AuthMySQLNoPasswd Off

AuthMySQLPwEncryption none

## AuthMySQLPwEncryption none | crypt | scrambled | md5 | aes | sha1

AuthMySQLSaltField <>

AuthMySQLGroupTable usertable

###AuthMySQLGroupCondition

AuthMySQLGroupField username

##AuthMySQLKeepAlive Off

AuthMySQLAuthoritative On

##AuthMySQLCharacterSet

<limit GET POST>

require valid-user

</limit>

此配置使用了localhost 上mysql 的數據庫mydb中的usertable表,其中有2個字段username,password.

password字段密碼是明文。

至此,配置成功.restart apache .測試通過。

注意問題:

注意紅色字體部分AuthUserFile /dev/null

如果沒有這行,apache的error_log中會出現這樣的錯誤:

[error] Internal error: pcfg_openfile() called with NULL filename

[error] [client ip] (9)Bad file descriptor: Could not open password file: (null)

如果沒有AuthBasicAuthoritative off

會出現錯誤:

[error] [client ip] user yourusername not found:

相關地址:

Apache 2.2.3/2.2.4編譯

ubuntu 6.10 安裝後記(六)- MySQL 5.0.x,Apache 2.2.3/2.2.4,Firebird ,PHP 5.2.0/5.2.1 的安裝

下載地址

Apache 下載地址:

http://httpd.apache.org

mod_auth_mysql 下載地址:

http://sourceforge.net/projects/modauthmysql

Mysql下載地址:

http://www.mysql.com

參考地址1:

http://oldtimeynerd.net/index.php/Error_Messages_and_Answers

參考地址2:

http://www.vhcs.net/new/modules/newbb/viewtopic.php?topic_id=5028&start=10

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
  千辛萬苦Google後,終于把Apache 2.2.x + mod_auth_mysql配置出來了。記錄下來.   本來看文檔使用modules.apache.org推薦的mod_auth_mysql 1.9.1 應該是可以的。但貌似文檔沒提到支持   plain text密碼。而這個系統需要密碼是plain text.只好使用這個mod_auth_mysql 3.0.0了。   需要軟件和補丁的下載地址附後.   OS:Redhat ES 3.0   apache-2.2.4,mysql-4.0.x 早已經安裝完成。   打補丁mod_auth_mysql   首先需要打補丁使mod_auth_mysql 支持apache 2.2.x:   wget http://cvs.mandriva.com/cgi-bin/viewvc.cgi/SPECS/apache-mod_auth_mysql/mod_auth_mysql-3.0.0-apr1x.patch   patch -p0 < mod_auth_mysql-3.0.0-apr1x.patch   注意:這個是非官方的patch,官方的patch據參考地址2說有,我沒有找到。另外一個google到的patch我用了後,編譯沒問題,訪問時會出段錯誤。   編譯安裝mod_auth_mysql:   apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c   apxs -i mod_auth_mysql.la   配置mod_auth_mysql   add the following directive to httpd.conf:   LoadModule mysql_auth_module modules/mod_auth_mysql.so   在httpd.conf中配置需要認證的目錄   <Directory "/var/www/testmysqlauth">   Options FollowSymLinks   AllowOverride AuthConfig   Order allow,deny   Allow from all   </Directory>   /var/www/testmysqlauth/.htaccess中內容:   AuthName "MySQL Auth Testing"   AuthType Basic   AuthUserFile /dev/null   AuthBasicAuthoritative off   AuthMySQLEnable On   AuthMySQLHost localhost   AuthMySQLPort 3306   AuthMySQLSocket /tmp/mysql.sock   AuthMySQLUser myuser   AuthMySQLPassword mypass   AuthMySQLDB mydb   AuthMySQLUserTable usertable   ##AuthMySQLUserCondition   AuthMySQLNameField username   AuthMySQLPasswordField password   AuthMySQLNoPasswd Off   AuthMySQLPwEncryption none   ## AuthMySQLPwEncryption none | crypt | scrambled | md5 | aes | sha1   AuthMySQLSaltField <>   AuthMySQLGroupTable usertable   ###AuthMySQLGroupCondition   AuthMySQLGroupField username   ##AuthMySQLKeepAlive Off   AuthMySQLAuthoritative On   ##AuthMySQLCharacterSet   <limit GET POST>   require valid-user   </limit>   此配置使用了localhost 上mysql 的數據庫mydb中的usertable表,其中有2個字段username,password.   password字段密碼是明文。   至此,配置成功.restart apache .測試通過。   注意問題:   注意紅色字體部分AuthUserFile /dev/null   如果沒有這行,apache的error_log中會出現這樣的錯誤:   [error] Internal error: pcfg_openfile() called with NULL filename   [error] [client ip] (9)Bad file descriptor: Could not open password file: (null)   如果沒有AuthBasicAuthoritative off   會出現錯誤:   [error] [client ip] user yourusername not found:   相關地址:   Apache 2.2.3/2.2.4編譯   ubuntu 6.10 安裝後記(六)- MySQL 5.0.x,Apache 2.2.3/2.2.4,Firebird ,PHP 5.2.0/5.2.1 的安裝   下載地址   Apache 下載地址:   http://httpd.apache.org   mod_auth_mysql 下載地址:   http://sourceforge.net/projects/modauthmysql   Mysql下載地址:   http://www.mysql.com   參考地址1:   http://oldtimeynerd.net/index.php/Error_Messages_and_Answers   參考地址2:   http://www.vhcs.net/new/modules/newbb/viewtopic.php?topic_id=5028&start=10
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有