我嘗試了所有我能找到的有關權限的建議,但沒有運氣。 Apache 似乎正常啟動
[ ok ] Restarting web server: apache2 ... waiting ..
訪問日誌說
192.168.15.51 - - [12/Feb/2016:04:19:48 -0800] "GET / HTTP/1.1" 403 498 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"
錯誤日誌:
[Fri Feb 12 04:19:48 2016] [error] [client 192.168.15.51] (13)Permission denied: access to / denied
ls -al /var/www:
root@AOScloud:/etc/apache2# ls -la /var/www
total 12
drwxr-xr-x 2 root root 4096 Feb 12 03:33 .
drwxr-xr-x 13 root root 4096 Feb 12 03:31 ..
-rwxr-xr-x 1 www-data www-data 177 Feb 12 03:33 index.html
ls -ld /var/www
root@AOScloud:/etc/apache2# ls -ld /var/www
drwxr-xr-x 2 root root 4096 Feb 12 03:33 /var/www
在 apache2.conf 中我加入了
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我正在運行 Debian 4.2.0 內核
這是 /etc/apache2/sites-available/default 的內容,如下所示:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案1
現在正在工作。由於某種原因 www-data 使用者已損壞...我新增了一個新使用者 www 並將所有內容變更為該使用者 www。現在它起作用了...
答案2
來自基於 Debian 的軟體包的 Apache 預設供以下審查:
https://catjcode.com/apache_conf.txt“預設 Apache 設定”
https://catjcode.com/apache_site.txt“預設 apache 網站”
嘗試更簡單的預設配置來獲取http://192.168.15.1/index.html或類似的可訪問的。然後添加回配置中每個需要的部分。
發布的日誌訊息中的另一個可能的問題:
access to / denied
伺服器可以配置為嘗試查看http://192.168.15.1/
被視為索引:Apache 目錄索引或檔案列表,這些通常在預設情況下關閉。預設處理程序index.html
可能缺少配置。建議嘗試直接查看http://192.168.15.1/index.html
日誌中的錯誤是否不同。
也要檢查符號連結(如果有)。假設您的網站實際上沒有使用/etc/apache2/sites-available/default
其配置,而是使用了不同的文件,從而否定了您的任何變更。下面是典型設定;注意符號連結和命名方案:
ls /etc/apache2/sites-enabled/ -lah
drwxr-xr-x 2 root root 4.0K Aug 29 11:43 .
drwxr-xr-x 8 root root 4.0K Aug 29 11:40 ..
lrwxrwxrwx 1 root root 35 Aug 29 11:38 000-default.conf -> ../sites-available/000-default.conf
為了幫助診斷權限問題:檢查 Apache 是否使用 www-data,啟動 Apache,然後檢查進程擁有者。請注意下面的 www-data:
ps -ef|fgrep apache
root 1495 1 0 Feb16 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 5239 1495 0 09:33 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 5240 1495 0 09:33 ? 00:00:00 /usr/sbin/apache2 -k start
檢查檔案系統權限;下面的例子:
ls -lah /var/www/html/
drwxr-xr-x 6 root root 4.0K Sep 9 13:30 .
drwxr-xr-x 3 root root 4.0K Aug 29 11:38 ..
drwxr-xr-x 2 www-data root 4.0K Aug 30 17:56 cgi-bin
drwxr-xr-x 2 www-data root 4.0K Sep 9 13:26 css
drwxr-xr-x 2 www-data root 4.0K Sep 8 12:36 images
drwxr-xr-x 2 www-data root 4.0K Sep 9 10:14 js
-rw-r--r-- 1 www-data root 3.4K Sep 9 13:14 index.html