Назад | Перейти на главную страницу

Установите модули Apache по настраиваемому пути

Я установил apache2 в свою домашнюю папку, указав ./configure --prefix = "$ HOME". Работает нормально. Сейчас пытаюсь установить mod_wsgi. Я пробую ./configure --prefix = "$ HOME", а также --libexecdir = "$ HOME", однако при выполнении make install получаю следующее:

/usr/sbin/apxs -i -S LIBEXECDIR=/usr/libexec/apache2 -n 'mod_wsgi' mod_wsgi.la
/usr/share/httpd/build/instdso.sh SH_LIBTOOL='/usr/share/apr-1/build-1/libtool/mod_wsgi.la /usr/libexec/apache2
/usr/share/apr-1/build-1/libtool --mode=install cp mod_wsgi.la /usr/libexec/apache2/
libtool: install: cp .libs/mod_wsgi.so /usr/libexec/apache2/mod_wsgi.so
cp: /usr/libexec/apache2/mod_wsgi.so: Permission denied
apxs:Error: Command failed with rc=65536

Я предполагаю, что это потому, что я не делаю sudo, но я не хочу. Как я могу установить его в Home, чтобы в sudo не было необходимости. Я чувствую, что это должно быть очевидно, но, возможно, я что-то упускаю.

Правильный способ - не копировать файл mod_wsgi.so вручную, а использовать параметр --with-apxs для настройки mod_wsgi при его сборке, чтобы указать ему, где находится сценарий apxs вашей установки Apache:

./configure --with-apxs=$HOME/bin/apxs

Не делая этого, вы скомпилировали mod_wsgi для неправильного Apache, и результат может быть несовместим с Apache, который есть в вашем домашнем каталоге.

Использование опции --with-apxs четко описано в начале инструкций по установке.

Пока вы используете --with-apxs, шаг установки должен скопировать его в правильную установку Apache.

в Инструкция по установке в нем говорится, что:

Чтобы установить модуль Apache в стандартное место для модулей Apache в соответствии с указаниями Apache для вашей установки, выполните:

сделать установку

Установка должна выполняться от имени пользователя root или команды sudo, если это необходимо.

Если вы хотите установить модуль Apache в нестандартное место, определяемое тем, как дистрибутив вашей операционной системы структурирует файлы конфигурации и модули для Apache, вам необходимо вручную скопировать файл на место.

При установке модуля Apache вручную файл называется mod_wsgi.so. Если вы используете Apache 1.3, скомпилированный модуль Apache можно найти в исходном каталоге. Если вы используете Apache 2.X, скомпилированный модуль Apache можно найти в подкаталоге ".libs". Имя файла должно оставаться неизменным при копировании в соответствующее место.

Поэтому вам нужно переместить модуль в каталог, который вы настроили для установки Apache2.