gpt4 book ai didi

django - 在 apache2 服务器上运行的 django 站点的 'correct' 权限设置是什么

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:29 25 4
gpt4 key购买 nike

我是 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 和目录的 0700 以及作为拥有 apache 进程的用户的所有者。此用户因操作系统和风格而异(例如,对于 OSX,它是 www,对于 Debian/Ubuntu,它是 www-data)。

这对于开发服务器来说可能太紧了。至少您希望能够通过文本编辑器的 IDE 修改所有文件,所以您应该为自己添加 ACL(即编辑 Django 文件、模板和静态文件的用户)。

此外,在生产服务器中,您希望 apache 用户能够写入保存网络上传内容的目录。那将在您的静态文件部分(或在不同的专用静态文件服务器上)的某个地方。

关于django - 在 apache2 服务器上运行的 django 站点的 'correct' 权限设置是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8856593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com