Проблема при попытке запустить пассажира на Apache - PullRequest
0 голосов
/ 25 сентября 2018

Я получаю эту проблему при запуске

httpd -t

httpd: Syntax error on line 545 of /private/etc/apache2/httpd.conf: Syntax error on line 1 of /private/etc/apache2/other/passenger.conf: Cannot load /Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/b uildout/apache2/mod_passenger.so into server: dlopen(/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so, 10): no suitable image found. Did find:\n\t/Users/sbaidon/.rv m/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so: code signature in (/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passenger.so) not valid for use in p rocess using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.\n\t/Users/sbaidon/.rvm/gems/ruby-2.2.5/gems/passenger-5.3.5/buildout/apache2/mod_passen ger.so: stat() failed with errno=22

Установка с пассажиром в порядке.

Ответы [ 3 ]

0 голосов
/ 13 октября 2018

Для тех, у кого есть эта проблема или любая проблема с проверкой библиотеки в MacOS Mojave, я нашел невероятно простое решение, чтобы отключить ее.https://github.com/mologie/macos-disable-library-validation

0 голосов
/ 29 марта 2019

Это исправлено в macOS 10.14.4

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

Я тоже столкнулся с этим: проблема в том, что во встроенном httpd, который поставляется с macOS Mojave, включена проверка библиотеки, что означает, что все загружаемые модули должны быть правильно подписаны.К сожалению, mod_passenger.so не подписан, поэтому загрузка не удалась.На самом деле, у многих людей возникает эта проблема с загрузкой модулей Apache в MacOS Mojave (особенно во время бета-тестирования), некоторые примеры ссылок:

https://github.com/GrahamDumpleton/mod_wsgi/issues/357 https://github.com/phpredis/phpredis/issues/1406

Iполагаю, что можно где-то установить plist, чтобы дать httpd право отключать проверку библиотеки (com.apple.security.cs.disable-library-validation), как описано в https://developer.apple.com/documentation/security/com_apple_security_cs_disable-library-validation. Например, вот недавний WebKitпатч, где они добавляют его, чтобы разрешить загрузку плагинов: https://bugs.webkit.org/show_bug.cgi?id=183252. Точно так же, люди из Mozilla говорят о том, как им нужно включить эти (и другие) свойства: https://bugzilla.mozilla.org/show_bug.cgi?format=default&id=1470597.

К сожалению, я нея не занимаюсь разработкой macOS (я просто занимаюсь разработкой на macOS), и я совершенно не знаю, как применить ее к встроенному Apache, извините.

На данный момент яЯ немного устал от всех крупных обновлений macOS, терзающих все мои настройки httpd и, как правило, испытывающих боль (это редко, но все же раздражает), поэтому я делаю то, что должен был сделать много лет назад: stоп, используя встроенный httpd, который поставляется с OS / X, и просто используйте Homebrew httpd.

Вот несколько инструкций, которые я нашел относительно установки http для Homebrew (и отключения встроенного в macOS httpd), это довольно просто ивам не нужно следовать всем инструкциям о нескольких версиях PHP и т. д .: https://getgrav.org/blog/macos-mojave-apache-multiple-php-versions

Если кто-то может понять, как отключить проверку библиотеки во встроенном httpd, илиесли есть какой-нибудь способ обеспечить подпись на mod_passenger.so (кажется маловероятным, поскольку и Homebrew, и gem passenger должны быть собраны из исходного кода), вам не нужно мусорить встроенный httpd.Но я лично считаю, что лучшее решение - полностью отказаться от него и использовать вместо него версию Homebrew.

...