2011-10-07 45 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