Как chroot Джанго

Можно ли запустить Django в chroot? Примечательно, что необходимо для того, чтобы настроить (например) /var/www в качестве chroot-каталога, а затем запустить Django в этом chroot-каталоге?

Спасибо - я благодарен за любой вклад.


person Brian M. Hunt    schedule 25.03.2010    source источник


Ответы (2)


Вам нужно будет добавить интерпретатор Python в этот каталог и, конечно же, добавить в него Django.

После того, как вы настроили среду, вам нужно будет создать скрипт-оболочку, который делает что-то вроде os.chroot('/var/www/'), и все готово :)

Чтобы создать изолированную/chroot-среду для Python, попробуйте один из следующих вариантов: 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 Параметр PyPy становится популярным с момента запуска Google используя его с App-Engine.

person Wolph    schedule 25.03.2010
comment
@WoLpH: Спасибо за информацию, но эта ссылка не работает. - person Brian M. Hunt; 25.03.2010
comment
@ Брайан М. Хант: ссылка снова исправлена, stackoverflow не понравился) в ссылке;) - person Wolph; 25.03.2010
comment
Большое спасибо! Этот вариант PyPy действительно очень интересен — спасибо. - person Brian M. Hunt; 30.03.2010

Существует множество причин, по которым mod_wsgi предпочтительнее для развертывания веб-приложений Python. Во-первых, стабильность, во-вторых, разнообразие параметров конфигурации... одним из которых является возможность chroot демона mod_wsgi (начиная с версии 3.00).

Параметр chroot еще не задокументирован для директивы WSGIDaemonProcess по адресу http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess, но достаточно документации в Изменения в версии 3.0.

Вы также можете прочитать обсуждение этой функции по адресу http://code.google.com/p/modwsgi/issues/detail?id=106

person Van Gale    schedule 25.03.2010
comment
@Van Gale - Спасибо - удобная ссылка. Мы используем не Apache, а Lighttpd (возможно, Nginx когда-нибудь). Есть ли аналогичный вариант конфигурации для Lighttpd, о котором вы знаете (я тоже сейчас ищу)? - person Brian M. Hunt; 25.03.2010
comment
Ну, если вы используете lighttpd, вы, вероятно, также используете flup (... и теперь у вас есть 2 проблемы... бада-бум...) fastcgi, что означает, что вы должны иметь возможность запуска/инициализации fastcgi. d выполняет chroot, как предложено WoLpH (хотя это может быть в сценарии оболочки вместо python). - person Van Gale; 25.03.2010