簡體   English   中英

在apache2服務器上運行的django站點的“正確”權限設置是什么

[英]What are the 'correct' permission setting for django site running on apache2 server

我是apache和django的新手,所以如果這個問題很簡單,那就來處理我。 我正在嘗試將現有站點部署到Apache服務器。 目前,該網站仍處於開發階段,因此我只將其部署為本地計算機上的虛擬主機。 我在部署中使用Django的WSGI模塊。 在我的網站的配置文件中,我有以下別名:

Alias /media/ /home/tester/Desktop/siteRootDir/media
Alias /content/ /home/tester/Desktop/siteRootDir/content
WSGIScriptAlias /c /home/tester/Desktop/siteRootDir/deploy/site.wsgi

當我運行apache並轉到localhost / c時,我在apache日志中收到了(13)PermissionDenied錯誤。 為了解決這個錯誤,我(非常愚蠢地)跑了

chmod -R 777 /home/tester/Desktop/siteRootDir

我知道這不是處理問題的方法,但我只是希望網站能夠運作,所以我可以繼續開發。

所以我的問題是,對於siteRootDir目錄及其子目錄的正確權限設置是什么,以便該站點將運行,並且我不會在目錄中公開不必要的文件。

此外,我意識到這不是一個理想的設置,當我在生產中部署網站時,我可能會遇到問題。 任何人都可以建議一個更好的組織方法嗎? 謝謝!

最嚴格的權限可能是文件為0600,dir為0700,擁有apache進程的用戶為擁有者。 這個用戶因操作系統和風味而異(例如對於OSX,它是www,對於Debian / Ubuntu,它是www-data)。

對於開發服務器來說,這可能太緊了。 至少您希望能夠通過文本編輯器的IDE修改所有文件,因此您應該為自己添加ACL(即編輯Django文件,模板和靜態文件的用戶)。

此外,在生產服務器中,您希望apache用戶能夠寫入包含Web上載內容的目錄。 這將在您的靜態文件部分(或在不同的專用靜態文件服務器上)的某個位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM