Lighttpd靜態檔案伺服器403禁止錯誤

Lighttpd靜態檔案伺服器403禁止錯誤

我在 Debian Jessie 上安裝了 lighttpd 來提供靜態文件,我在 /media/storage 安裝了一個 USB 驅動器,以 /media/storage/www 作為我的文檔根目錄,我的 lighttpd.conf 如下所示:

server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",
#       "mod_rewrite",
)

server.document-root        = "/media/storage/www/"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80


index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

我希望能夠使用我的普通用戶“jurre”編輯網站。所以我做了“sudo chown jurre:www-data /media/storage/www”和“sudo chmod 740 /media/storage/www”(這樣我就可以讀取、寫入和執行文件,但Web伺服器只能讀取)。當然,我登出並再次登錄,然後重新啟動lighttpd。我添加了一個簡單的index.html,其中包含“Hello World!”測試設置,但我在衝浪時不斷收到 403 禁止錯誤

/media/storage/www 中的 ls -l :

total 8
-rw-r--r-- 1 jurre www-data 58 May 16 16:43 index.html

我還檢查了lighttpd錯誤日誌,但它只顯示Web伺服器何時關閉並再次啟動,日誌中沒有任何錯誤。

答案1

您無法存取您的www資料夾,因為www-data使用者只有 4 個權限(使用者:群組jurre:www-data和權限 740),這表示對www資料夾沒有執行權限,只能讀取(讀取資料夾名稱和屬性)。

您需要直接在資料夾上執行,因為執行資料夾意味著打開它(列出檔案或輸入它)。您可以使用自己的使用者jurre(右 7)執行此操作,但www-data沒有設定執行位。

將此資料夾的權限變更為 750,然後重試。

答案2

另一個常見問題是電腦上的活動 SELinux。

即使對目錄樹具有正確的權限,如果目錄未在 SELinux 中註冊,您仍然會收到 403 錯誤。

chcon -R -h -t httpd_sys_content_t /absolute/path

會解決這個問題。

答案3

超級鵜鶘,

進一步上面的評論。可能想嘗試一下 “sudo chown -R www-data:www-data *” 或者“sudo chown -R www-data:www-data /media/storage/www/* ” 在該資料夾或子資料夾中/媒體/儲存/www 這樣,網頁伺服器就擁有資料夾和文件,而不是您作為使用者。

至於 chmod.. 也試試看類似的東西“須藤 chmod -R 755 /media/storage/www/* ” 更糟的情況 ”chmod -R 775「 Web 伺服器和實體作業系統本身之間存在不同層級的檔案安全性。 chown/chmod 更多地在作業系統層級。也會影響在伺服器上取得檔案和網頁。

希望這會有所幫助..乾杯..

相關內容