Как установить модули для Apache 2.4 (OSX)? - PullRequest
0 голосов
/ 30 мая 2018

Я установил apache с помощью Homebrew.Когда я запускаю установку по умолчанию, я получаю эту ошибку:

httpd: синтаксическая ошибка в строке 85 файла /usr/local/etc/httpd/httpd.conf: невозможно загрузить lib / httpd / modules / mod_auth_basic.so на сервер: dlopen (/usr/local/var/www/lib/httpd/modules/mod_auth_basic.so, 10): изображение не найдено

Я прокомментировал необнаруженные модули, но этокажется, что он пропускает все из них, особенно полезные, такие как mod_auth_basic.Глядя на учебные пособия по установке apache с помощью homebrew, я заметил, что пути, по которым он установлен на моем компьютере, сильно отличаются от тех, что указаны в учебном пособии.

Как установить эти модули (желательно с полностьюпакет in-one, а не по одному за раз)?

Редактировать:

Посмотрев на секунду сообщение об ошибке, я понял, что dlopen() использует мой ServerRoot в качествеБаза для модулей.Вместо

dlopen (/usr/local/var/www/lib/httpd/modules/mod_auth_basic.so)

должно быть

dlopen (/usr/libexec/apache2/mod_auth_basic.so

Так, как мне указать загрузчику модулей на правильный каталог?

Редактировать:

Я решил проблему с модулями, не загружающимися, но я все еще хотел бы знать, как добавить модули.

1 Ответ

0 голосов
/ 27 сентября 2018

Если ваш модуль dir /usr/libexec/apache2, то вам может потребоваться отключить SIP, чтобы иметь возможность скопировать туда файл модуля (*.so).Следующее обсуждение может помочь: https://apple.stackexchange.com/questions/193368/what-is-the-rootless-feature-in-el-capitan-really

В любом случае, если вы хотите больше свободы при установке httpd, вы можете загрузить и собрать исходный код.Это довольно просто, и вы можете установить его в любой каталог, который не защищен (рекомендуемое значение по умолчанию - /usr/local/apache2, что хорошо), поэтому вам не нужно проходить через процедуру отключения SIP.

...