任何本地主機資源上的 403
無論我請求哪個資源
localhost
,我都會收到403 Forbidden HTTP 錯誤。我有 Apache(包含在 Debian 10 發行版中),並cat /var/log/apache2/error.log
給了我這個相關的行:[Sun Aug 09 22:55:01.943309 2020] [authz_core:error] [pid 3568] [client ::1:48672] AH01630: client denied by server configuration: /home/morten/NetBeansProjects
我可能會提供
localhost
orlocalhost/existing_url
或localhost/wrong_url
– 都給我相同的 HTTP 403 錯誤和相同類型的錯誤日誌條目。權限:
$ ls -l | grep NetBeansProjects drwxr-xr-x 4 morten morten 4096 aug 9 20:25 NetBeansProjects
和
$ ls -l Dropbox/NetBeansProjects/ totalt 620 drwxr-xr-x 3 morten morten 4096 aug 9 20:25 bedom drwxr-xr-x 3 morten morten 4096 aug 2 17:05 ElevMonitorering -rwxrwxrwx 1 morten morten 5 aug 6 09:49 index.html
和
ls -l Dropbox/NetBeansProjects/bedom/ totalt 8 -rwxr-xr-x 1 morten morten 406 aug 9 20:27 index.php drwxr-xr-x 3 morten morten 4096 aug 9 20:25 nbproject
在 Apache2 中,
/etc/apache2/apache2.conf
顯示以下(選定的)行:<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> # <Directory /var/www/> <Directory /home/morten/Dropbox/NetBeansProjects> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
雖然
/etc/apache2/sites-available/default-ssl.conf
有:<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /home/morten/Dropbox/NetBeansProjects # /var/www/html
並且同時
/etc/apache2/sites-available/000-default.conf
顯示:<VirtualHost *:80> DocumentRoot /home/morten/NetBeansProjects
所以我的問題是:我需要更正什麼才能獲取 URL 的內容
localhost/index.php
(而不是錯誤 403)?編輯
localhost.localdomain
根據這個答案添加後,只有http://localhost/index.php
給我帶來麻煩,但我可能在生產目的中不需要那個索引文件,所以我會留下這個問題。我認為它解決了所需的http://localhost/bedom/index.php
響應。看看我自己對自己的評論。不好意思承認,404完全是微不足道的:雖然存在,但我在文件夾根目錄中index.html
請求…index.php``localhost
所有文件夾,整個路徑都必須具有所有人的權限,或者準確地說:Web 伺服器守護程序,可以讀取和執行。也就是說,路徑
/home/morten/NetBeansProjects
必須顯示如下:ls -l / | grep home drwxr-xr-x 3 root root 4096 maj 27 22:08 home $ ls -l /home | grep morten drwxr-xr-x 28 morten morten 4096 aug 10 22:23 morten $ ls -l /home/morten | grep Dropbox drwxr-xr-x 32 morten morten 4096 aug 10 22:25 Dropbox $ ls -l /home/morten/Dropbox/ | grep NetBeansProjects drwxr-xr-x 4 morten morten 4096 aug 9 20:25 NetBeansProjects
為所有者、組和其他設置
r
並設置。x
這將在問題中提到的我的設置中得到糾正。然後,該文件
/etc/apache2/sites-available/000-default.conf
應在指令中包含指向 Web 伺服器根目錄的正確路徑DocumentRoot
。此外,該
/etc/apache2/apache2.conf
文件應引用相同的文件夾<Directory /home/morten/Dropbox/NetBeansProjects>
我認為這將是修復 403 的全部內容。