Подтвердить что ты не робот

Почему эта ошибка разрешений возникает с mod_passenger.so?

Я создаю серийный сервер RHEL 6 с RVM и Passenger. Я прошел через установку RVM (в мой домашний каталог), установив Passenger и добавив необходимые строки в httpd.conf:

LoadModule passenger_module /home/em/.rvm/gems/[email protected]_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/em/.rvm/gems/[email protected]_3_production/gems/passenger-3.0.11
PassengerRuby /home/em/.rvm/wrappers/[email protected]_3_production/ruby

Но когда я перезапускаю Apache, я получаю эту ошибку...

$ sudo /sbin/service httpd restart
Stopping httpd:                                            [FAILED]
Starting httpd: httpd: Syntax error on line 218 of /etc/httpd/conf/httpd.conf: Cannot load /home/em/.rvm/gems/[email protected]_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so into server: /home/em/.rvm/gems/[email protected]_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so: cannot open shared object file: Permission denied
                                                           [FAILED]

Экспериментально, я установил весь путь, начиная с ~/.rvm/... до 777, но я все еще получаю ту же ошибку.

Любые мысли?

4b9b3361

Ответ 1

Оказалось, что это связано с SELinux.

Пассажирские документы обсуждают это здесь.

После установки Passenger найдите корень пассажира...

passenger-config --root

Затем запустите это...

chcon -R -h -t httpd_sys_content_t /path-to-passenger-root

Ответ 2

$ sudo setenforce 0

помог мне

надеюсь, что это поможет другим!

UPDATE

Я должен сказать, что выше решение является временным (до перезагрузки)

поэтому, поскольку этот ответ имеет популярность, позвольте мне показать, как отключить SELinux вообще...

вот он:

бег

$ sudo vi /etc/sysconfig/selinux

или

$ sudo vi /etc/selinux/config

тогда найдите эту строку

SELINUX=enforcing

и измените его на

SELINUX=disabled

сохранить конфигурацию selinux.

теперь SELinux полностью отключен.

веселит