#python #django #virtualenv #mod-wsgi
#python #django #virtualenv #mod-wsgi
Вопрос:
Мне нужно скомпилировать mod_wsgi без привилегий root на CentOS. В системе есть предварительно скомпилированная версия mod_wsgi, но она предназначена для python2.6. Для моего приложения django требуется python2.7, и, следовательно, мне нужно скомпилировать mod_wsgi с помощью python2.7 Я загрузил и скомпилировал python2.7 и создал virtualenv. Теперь я использую это для компиляции mod_wsgi : ./configure --with-python=/MYHOME/.MYENV/bin/python2.7
. Шаг настройки работает нормально, и так make
оно и есть. Однако, когда я это делаю make install
, я получаю сообщение об ошибке:
cp: cannot create regular file `/usr/lib64/httpd/modules/mod_wsgi.so': Permission denied
apxs:Error: Command failed with rc=65536`
Неудивительно, поскольку я не root. Что я могу сделать сейчас, можно ли указать apache для загрузки mod_wsgi.so
из другого места? Вероятно, я могу попросить системного администратора отредактировать конфигурационные файлы apache.
РЕДАКТИРОВАТЬ: я должен был упомянуть, что мой файл http.conf содержит директиву Include /path/to/user-owned/directory/*.conf
. Я ищу вариант, который требует как можно меньшего вмешательства со стороны системного администратора.
Комментарии:
1. Если вы можете попросить администратора отредактировать конфигурационный файл apache, попросите его скомпилировать mod_wsgi.
2. если у вас нет привилегий root, как вы собираетесь скопировать его в каталог Apache и / или отредактировать конфигурацию Apache?
3. хорошо, хорошая точка зрения, едподтрзитко. Я должен был упомянуть об этом в своем вопросе. http.conf содержит
Include /path/to/user-owned/directory/*.conf
.
Ответ №1:
Я смог решить это с помощью системного администратора.
После настройки mod_wsgi с ./configure --with-python=/MYHOME/.MYENV/bin/python2.7
помощью я отредактировал Makefile, вставив следующее: DESTDIR=/path/to/local/dir
.
Затем make
и make install
запустить без ошибок, как mod_wsgi.so записывается в разрешенный каталог.
В конфигурационном файле apache (благодаря которому я могу редактировать без привилегий root Include /path/to/user-owned/directory/*.conf
) я установил LoadModule wsgi_module /path/to/local/dir/mod_wsgi.so
.
Надеюсь, это поможет кому-либо с аналогичной настройкой.