2010-03-25 51 views
1

可以在chroot中运行Django吗?值得注意的是,为了将/ var/www设置为chroot'd目录,然后让Django在该chroot的目录中运行,有什么必要?如何chroot Django

谢谢 - 我很感激任何输入。

回答

2

您将不得不添加一个Python解释器到该目录,并添加Django它当然。

后你已经得到了环境设置,你必须创建一个包装脚本,它像os.chroot('/var/www/')就大功告成了:)

要创建一个用于Python的沙盒/ chroot环境尝试之一以下选项:http://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20run%20an%20untrusted%20Python%20script%20safely%20%28i.e.%20Sandbox%29?highlight=%28chroot%29 自Google开始将它与App-Engine结合使用以来,PyPy选项似乎越来越流行。

+0

@WoLpH读取功能的disussion:感谢您的信息 - 该链接的破损,虽然。 – 2010-03-25 02:49:39

+0

@Brian M. Hunt:链接再次修复,stackoverflow不喜欢)链接;) – Wolph 2010-03-25 19:52:26

+0

非常感谢! PyPy选项真的非常有趣 - 谢谢。 – 2010-03-30 03:41:00

3

有很多原因mod_wsgi是Python Web应用程序部署的首选。一个是稳定性,另一个是各种配置选项......其中一个是能够chroot mod_wsgi守护进程(从版本3.00开始)。

chroot选项尚未记录在WSGIDaemonProcess指令http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess,但Changes in Version 3.0中有足够的文档。

您还可以在http://code.google.com/p/modwsgi/issues/detail?id=106

+0

@Van Gale - 感谢 - 方便的参考。我们没有使用Apache,但是Lighttpd(可能有Nginx)。是否有Lighttpd的等价配置选项,您知道(我现在也在看)? – 2010-03-25 02:48:54

+0

错误,如果你使用的是lighttpd,你可能也使用flup(...现在你有2个问题... bada boom ...)fastcgi这意味着你应该可以让你的fastcgi启动/ init .d脚本按照WoLpH的建议做chroot(尽管它可能在shell脚本而不是python中)。 – 2010-03-25 16:21:43