Почему разрешение /usr/bin/env запрещено серверу rails?
Я только что установил rails на сервере apache, работающем в Ubuntu, и когда я пытаюсь перейти на корневую страницу, выдается следующее сообщение об ошибке:
An error occurred while starting up the preloader. It exited before signalling successful startup back to Phusion Passenger.
/usr/bin/env:
bash: Permission denied
env и все каталоги в пути имеют разрешения 755. Я попытался настроить env, чтобы иметь разрешения 777, но все равно получил ту же ошибку. Rails работает как "никто". Почему это происходит? Я не знаю, что еще попробовать.
В /etc/apache2/sites-available/api.conf:
<VirtualHost *:80>
ServerName api.thinknation.ca
ServerAlias api.thinknation.ca
DocumentRoot /var/www/api/public
ErrorLog /var/www/logs/error.log
CustomLog /var/www/logs/access.log combined
RailsSpawnMethod smart
<Directory /var/www/api/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews -Indexes
# Uncomment this if you're on Apache >= 2.4:
Order allow,deny
Allow from all
#Require all granted
</Directory>
</VirtualHost>
Из config/database.yml в моем каталоге rails (с опущенными чувствительными именами пользователей и паролями):
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password:
socket: /var/run/mysqld/mysqld.sock
development:
<<: *default
database: api_development
test:
<<: *default
database: api_test
production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
database: api
username: ------------
password: ------------
Не уверен, что другие детали или файлы имеют отношение, я добавлю их, если это необходимо.
1 ответ
Проверьте AppArmor на наличие сбоев, но похоже, что Apache пытается выполнить файл и терпит неудачу.
Конфигурация кажется неправильной... взгляните на Пассажира или Единорога.