2011-10-07 110 views
1

我想测试Apache httpd web服务器的基本认证模块。出于某种原因,当我打开它时,浏览器似乎甚至无法连接到服务器。详情如下。任何帮助将不胜感激。启用Apache Basic Auth导致服务器连接失败

OS: Mac OSX 
Apache/Mysql 
Browser: Safari 

我有一个名为“login”的表中存储用户名和密码的mysql数据库“mydb”。密码使用SHA加密。

我有一个像

/Users/Myname/Sites 
/Users/Myname/Sites/Secret 

我要保护的秘密文件夹的目录结构。

在httpd.conf我有以下行

DBDriver mysql 
DBDParams "dbname=mydb user=admin password=myadminpasswd" 

DBDMin 4 
DBDKeep 8 
DBDMax 20 
DBDExptime 300 

<Directory "/Users/Myname/Sites/Secret"> 
# core authentication and mod_auth_basic configuration                              
    # for mod_authn_dbd                                      
    AuthType Basic 
    AuthName "My Server" 
    AuthBasicProvider dbd 

    # core authorization configuration                                   
    Require valid-user 

    # mod_authn_dbd SQL query to authenticate a user                               
    AuthDBDUserPWQuery "SELECT password FROM login WHERE username = %s" 
</Directory> 

这之后我重新启动Apache httpd的服务器。我什至不能访问http://localhost了。 它给出了以下错误: 由于Safari无法连接到服务器“localhost”,Safari无法打开“http:// localhost /”页面。

我希望能够访问本地主机,但不能http://localhost/~myname/Secret

有没有人有任何想法,以什么地方出了错?

我相信我可以通过 http://mysername:[email protected]/~myname/Secret

说明访问的秘密文件夹:我已经确定,以下是在httpd.conf加载

mod_authz_user.so 
mod_authn_dbd.so 

感谢 MBH

回答

0

请检查您的apache服务器记录并查看在启用身份验证后重新启动时出现的错误

+0

In m交流网络共享,它是绿色的,它说服务器正在运行。但是当我查看错误日志时,我发现它根本没有启动。没有错误。我删除了所有的验证码。然后它工作。要排除故障,即使我有第一行:DBDriver mysql - 服务器不根据错误日志启动 – mbh