出現403 Forbidden報錯,一般兩種可能性
可能性一、DocumentRoot選項,忘記配置新目錄的通路權限
預設安裝成功參數設定:DocumentRoot /usr/local/www/data
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
1.1 問題一、重新指定web存放目錄,忘記修改Directory後面的路徑
例如 DocumentRoot /usr/local/www/data,忘記指定Directory項的路徑,造成通路所有目錄都出現403,必須同時指定directory "/usr/local/www/data"才行。
1.2 問題二
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
其中Deny from all已經拒絕了所有的請求連結。應該修改成allow from all
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
可能性二、
配置了VirtualHost,并且有某個VirtualHost的DocumentRoot不在全局的DocumentRoot目錄下。
解決:此時必須在全局中單獨增加對該項目的Directory項設定,否則所有通路該VirtualHost下的請求都會403
問題原因:主要是因為Apache2對權限和安全的更高要求,對分布在不通磁盤上的目錄檔案進行嚴格管理。
通常嘗試辦法:第一:看看是不是Directory配置錯了,好像一般不會是這個原因
第二:看看User Group指定的使用者有沒有權限通路那個目錄,否則用chown修改目錄的所有者
第三:看看是不是seLinux搞得鬼,一般沒事把selinux停了再重新開機linux,selinux的配置檔案在/etc/selinux/config,改成disable
第四:我把所有的都做了發現還是不行,那麼可能是apache是用root安裝的,把apache卸了用一個非root使用者重新安裝。