Passenger и Apache2 отображают структуру каталогов файлов, а не приложение

#ruby-on-rails #apache2 #passenger

#ruby-on-rails #apache2 #passenger

Вопрос:

Я настраиваю приложение rails на passenger-3.0.9 и apache2. Но при выполнении rails через apache2, т. е. http / localhost, отображается файловая структура приложения rails. и не запускается приложение. Мои журналы

[Сб, 12 ноября, 21:20:36 2011] [примечание] Apache / 2.2.17 (Ubuntu) Phusion_Passenger /2.2.11 PHP /5.3.5-1ubuntu7.3 с настроенным Suhosin-Patch-обновлением — возобновление нормальной работы

 <VirtualHost *:80> 
  ServerName localhost 
  DocumentRoot /var/www/project_name 
  <Directory /var/www/project_name> 
    Options Indexes FollowSymLinks -MultiViews AllowOverride all Order allow,deny allow from all
  </Directory> 
</VirtualHost>
  

Комментарии:

1. Можете ли вы предоставить конфигурацию вашего виртуального хоста?

2. да, конфигурация моего виртуального хоста является конфигурацией по умолчанию

3. Пожалуйста, исправьте проблему с конфигурацией. Я не уверен, какова ваша конфигурация по умолчанию. Проблема, вероятно, связана с тем, что конфигурация не указывает правильный общедоступный путь.

4. <VirtualHost *:80> Имя_сервера localhost DocumentRoot /var/www/имя_проекта <Directory /var/www/project_name> Параметры Индексы, следующие за ссылками -MultiViews ALLOW переопределяют весь порядок разрешения, запрещают разрешать из всех </Directory> </VirtualHost>

Ответ №1:

Установите DocumentRoot в свою общую папку, чтобы:

 DocumentRoot /var/www/project_name/public
  

В рабочей среде, если вы выполняете развертывание с помощью capistrano, это, вероятно, станет

 DocumentRoot /var/www/project_name/current/public
  

Вам также необходимо обновить настройки каталога до общедоступной папки.

Если ваш виртуальный хост не указывает на вашу общую папку, Apache не знает, откуда правильно обслуживать ресурсы ваших приложений.

Комментарии:

1. Я хочу знать. Как запустить другой проект, например phpmyadmin, php, ror-проекты на этом виртуальном хостинге

2. Я не знаком с тем, как настраивать php-проекты с помощью passenger, поэтому вам нужно будет найти ответы на это в другом вопросе. Как и в других проектах RoR с passenger, вы можете определить несколько конфигураций виртуального хоста для каждого приложения. Если вы разрабатываете на Mac, я бы рекомендовал passenger pane для быстрой настройки конфигураций fngtps.com/passenger-preference-pane в противном случае вы можете сделать это вручную, установив для каждого виртуального хоста имя сервера и корни документа в соответствующие домены и общие папки каждого приложения. Если у вас возникнут проблемы с настройкой, запуск нового вопроса должен помочь.

Ответ №2:

Вы установили PassengerAppRoot атрибут?

DocumentRoot указывает на статическую часть приложения, в то время как PassengerAppRoot используется для указания на приложение rails

Вот статья об этом