Помогите! Sub-URI для Пассажира с Apache 2 не работает! - PullRequest
1 голос
/ 14 мая 2011

Я пытаюсь настроить приложение Redmine 1.1.3 на моем Ubuntu 8.04 с Apache2 и Passenger 3.0.7.Я убедился, что моя установка Redmine работает правильно, запустив Webrick в качестве веб-сервера.Поскольку я прочитал, что это не рекомендуемый веб-сервер для производства, я решил разместить его на Apache 2.

Я планирую настроить веб-сервер Apache для поддержки подчиненного URI со ссылкой на руководство:http://www.modrails.org/documentation/Users%20guide%20Apache.html#deploying_rails_to_sub_uri. Однако у меня возникли некоторые проблемы с конфигурацией конфигурационного файла Apache2, который называется «default» в папке «sites-available».

Ниже приведена моя конфигурация в файле "default":

NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName www.mydomain.com
    **DocumentRoot /var/www**
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
       <Directory /var/www/redmine>
        Options Indexes FollowSymLinks MultiViews
                AllowOverride all
        Order allow,deny
        allow from all
       </Directory>
       RailsBaseURI /redmine
       RailsEnv production

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Эта конфигурация вернулась с ошибкой "нет такого файла для загрузки - / var / www / config / environment", после доступа к Redmine через "http" // www.mydomain.com/redmine".

Эта ошибка может быть преодолена, только если я изменю "Корень документа" на "/ usr / local / redmine-1.1.3 / public ", где находятся коды приложений Redmine.

Примечание: 1. Я уже создал символическую ссылку в" / var / www / redmine ", как описано в руководстве2. Я также «зарубил» все папки и файлы «redmine-1.1.3» (рекурсивно) в «www-data».

Буду признателен, если кто-нибудь сможет помочь мне правильно настроить мои настройкитак как я действительно надеюсь использовать подход sub-URI, чтобы я мог поддерживать использование общего порта "80" для нескольких приложений.

Заранее спасибо.

Приветствия

Кевин

1 Ответ

1 голос
/ 15 мая 2011

У меня есть аналогичная установка, работающая на Mac. Мой настроен без виртуальных хостов, так как я хотел, чтобы некоторые php-приложения работали, а Passenger мешал им, если он включен для всего сайта.

У меня есть два установочных файла из моего файла apache httpd.conf:

  1. passenger.conf

    LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
    PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-3.0.7
    PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
    PassengerEnabled Off
    
  2. redmine.conf

    <Location "/redmine">
        Options Indexes ExecCGI FollowSymLinks -MultiViews
        Order allow,deny
        Allow from all
        AllowOverride all
    
        PassengerEnabled On
        RailsBaseURI /redmine
        RailsEnv production
    
    </Location>
    

Моя система - Mac, поэтому пути могут отличаться, но я настроил ее с помощью символической ссылки в моем докуторе, указывающей на публичный каталог моего redmine.

Возможно, "RailsBaseURI" станет ключом к тому, чтобы заставить его работать на вас.

...