2010-03-25 68 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