Windows系統(tǒng)環(huán)境下安裝Apache并配置虛擬目錄的方法介紹
2024-02-22
更新時間:2024-02-22 00:08:19作者:佚名
Apache,版本2.2.8,安裝完成后,進行相關測試;
配置了下php的php.in文件,再次localhost打開發(fā)現錯誤:
HTTP 錯誤 403 - 禁止訪問,即403 Forbidden:You don't have permission to access / on this server.
可能是權限不足引起的問題。
解決方法:
打開apache的配置文件httpd.conf,逐行檢查。
找到:
復制代碼
代碼如下:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
由于配置了php后,此處“Deny from all”為拒絕一切連接。
把此行修改為 “Allow from all”,即可解決問題。
修改后的代碼為:
復制代碼
代碼如下:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
瀏覽器里打開http://localhost,顯示it works!問題解決。
總結:
在apache服務器中,遇到403禁止訪問時,重點關注下apache的httpd.conf配置文件中,是否有“Deny from all”這樣的代碼。
這個可能是修改了某些配置文件后,重啟apache,被自動更改的。
附,另外一個apache 403錯誤的例子。
apache 403錯誤,顯示信息如下:
您無權查看該網頁
您可能沒有權限用您提供的憑據查看此目錄或網頁
如果您確信能夠查看該目錄或網頁,請嘗試使用 192.168.1.5 主頁上所列的電子郵件地址或電話與網站聯(lián)系。
可以單擊搜索,尋找 Internet 上的信息。
HTTP 錯誤 403 - 禁止訪問
Internet Explorer
去掉顯示友好信息的鉤后顯示Forbidden You don't have permission to access / on this server.
檢查了一遍配置文件httpd.conf,找到這么一段:
復制代碼
代碼如下:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
Satisfy all
</Directory>
然后試著把deny from all中的deny改成了allow,保存后重起了apache,訪問測試網站完全正常了。
APACHE升級到2.2版本之后,提供和支持不少模塊的支持,性能和安全上也有不少改進。
以前配置好apache的httpd.conf之后,即可使用。
但現在必須額外對這個文件進行其他方面的配置,不然會出現 http 403權限問題錯誤。
解決方法。
以下為httpd.conf文件的其中一段原代碼。
把下面代碼紅色標志進行更改:
復制代碼
代碼如下:
<Directory "E:/wamp/www">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# [url]http://httpd.apache.org/docs/2.2/mod/core.html#options[/url]
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride all
#
# Controls who can get stuff from this server.
#
# onlineoffline tag - don't remove
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
紅色部分更改為 Allow from all ,也就是所有訪問允許通過。
下面是補充:
關鍵錯誤:You don't have permission to access / on this server
打開網頁,結果訪問提示:403錯誤!關閉了IE的"顯示友好的HTTP錯誤",顯示沒有權限訪問(You don't have permission to access / on this server)!
403 Forbidden主要原因分析
1你的IP被列入黑名單
2你在一定時間內過多地訪問此網站(一般是用采集程序),被防火墻拒絕訪問了
3網站域名解析到了空間,但空間未綁定此域名
4你的網頁腳本文件在當前目錄下沒有執(zhí)行權限
5在不允許寫/創(chuàng)建文件的目錄中執(zhí)行了創(chuàng)建/寫文件操作
6服務器繁忙,同一IP地址發(fā)送請求過多,遭到服務器智能屏蔽
END網站出現403 Forbidden解決辦法
用以下命令修改文件夾安全屬性
chcon -R -t httpd_user_content_t public_html/
所用命令解析:
ls -Z -d public_html/
#顯示文件/目錄的安全語境-Z, --context
Display security context so it fits on most displays. Displays only mode, user, group, security context and file name.-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
chcon -R -t httpd_user_content_t public_html/
#修改文件/目錄的安全語境-R, --recursive
change files and directories recursively-t, --type
set type TYPE in the target security context
END其他解決辦法:
重建dns緩存就行
在運行中輸入cmd,然后輸入ipconfig /flushdns即可
或HTTP 錯誤 403 - 限制為僅本地主機訪問 Internet 服務管理器 (HTML)
HTTP 錯誤 403 403.1 禁止:禁止執(zhí)行訪問
如果從并不允許執(zhí)行程序的目錄中執(zhí)行 CGI、ISAPI 或其他執(zhí)行程序就可能引起此錯誤。
如果問題依然存在,請與 Web 服務器的管理員聯(lián)系。
HTTP 錯誤 403 403.2 禁止:禁止讀取訪問
如果沒有可用的默認網頁或未啟用此目錄的目錄瀏覽,或者試圖顯示駐留在只標記為執(zhí)行或腳本權限的目錄中的 HTML 頁時就會導致此錯誤。
如果問題依然存在,請與 Web 服務器的管理員聯(lián)系。
HTTP 錯誤 403 403.3 禁止:禁止寫訪問
如果試圖上載或修改不允許寫訪問的目錄中的文件,就會導致此問題。
如果問題依然存在,請與 Web 服務器的管理員聯(lián)系。
HTTP 錯誤 403 403.4 禁止:需要 SSL
此錯誤表明試圖訪問的網頁受安全套接字層(SSL)的保護。要查看,必須在試圖訪問的地址前輸入 https:// 以啟用 SSL。
如果問題依然存在,請與 Web 服務器的管理員聯(lián)系。
HTTP 錯誤 403 403.5 禁止:需要 SSL 128
此錯誤消息表明您試圖訪問的資源受 128 位的安全套接字層(SSL)保護。要查看此資源,需要有支持此 SSL 層的瀏覽器。
請確認瀏覽器是否支持 128 位 SSL 安全性。如果支持,就與 Web 服務器的管理員聯(lián)系,并報告問題。403.6 禁止:拒絕 IP 地址
我想著大概是沒有權限去訪問該目錄,因為一般情況下,NTFS對訪問權限控制的很嚴格的!
于是打開目錄,一看,訪問權限居然是everyone的完全控制!那用戶在文件夾訪問權限上是絕對沒有問題了!肯定是apache的配置問題了,于是上網搜索,找到如下相關信息用于修改權限.
以下為引用的內容: <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all Satisfy all </Directory> |
根據配置文件提示,此設置是用于修改Apache對所有目錄的訪問權限的,如果任意修改,可能會帶來安全隱患的!那我們來看看到底是什么在作祟,讓我們無法訪問網頁的吧!
Deny from all 有點英文基礎的都可以看的出來,這里是關鍵:拒絕所有!
將Deny改為Allow試試!(因為可能會存在大小寫敏感的問題,所以推薦用首字母大寫,有興趣的可以自己嘗試小寫!)一下通過了,但是這樣配置的話服務器安全性會...
于是我繼續(xù)往下看配置文件!
發(fā)現了以下內容
#
# This should be changed to whatever you set DocumentRoot to.
#
以上這行注釋的意思:無論你的服務器根目錄設置為什么,你都必須保證此處配置保持一致!
以下為引用的內容: <Directory "默認目錄"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # </Directory> |
再將以上的"默認目錄"設置為"目標目錄",(當然已經將對所有權限訪問的設置修改為拒絕了!)刷新一下頁面,OK,通過了!