Почему эта ошибка прав доступа возникает с mod_passenger.so? - PullRequest
14 голосов
/ 18 февраля 2012

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

LoadModule passenger_module /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11
PassengerRuby /home/em/.rvm/wrappers/ruby-1.9.2-p290@rails_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/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so into server: /home/em/.rvm/gems/ruby-1.9.2-p290@rails_3_production/gems/passenger-3.0.11/ext/apache2/mod_passenger.so: cannot open shared object file: Permission denied
                                                           [FAILED]

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

Есть мысли?

Ответы [ 2 ]

17 голосов
/ 22 февраля 2012

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

Документы для пассажиров обсуждают это здесь .

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

passenger-config --root

Тогда запустите это ...

chcon -R -h -t httpd_sys_content_t /path-to-passenger-root
16 голосов
/ 29 июля 2012

$ sudo setenforce 0

помог мне

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

UPDATE

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

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

вот оно:

пробег

$ sudo vi /etc/sysconfig/selinux

или

$ sudo vi /etc/selinux/config

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

SELINUX=enforcing

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

SELINUX=disabled

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

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

ура

...