Назад | Перейти на главную страницу

Почему для сервера rails отказано в разрешении / usr / bin / env?

Я только что установил рельсы на сервере 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: ------------

Не уверен, какие еще детали или файлы актуальны, я добавлю их, если потребуется.

Проверьте AppArmor на наличие сбоя, но похоже, что Apache пытается выполнить файл и терпит неудачу.

Конфигурация кажется неправильной ... взгляните на Пассажира или Единорога.