Пассажир на Apache2 - как заставить сайт появляться в корне

Я новичок в apache2 и пассажир для настройки приложений rails и следовал учебному пособию о том, как настроить redmine (приложение rails) ( http://xdissent.com/2010/05/04/github-clone-with-redmine/).

Все это прекрасно работает, но для доступа к приложению вам нужно перейти в каталог / redmine. Я настроил его как redmine.local / redmine. Было бы здорово, если бы я мог быть просто redmine.local.

Я просмотрел файлы, которые я установил как часть apache / mongrel / passenger, и вынул ссылки на каталог, но, увы, это никогда не было так просто.

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

Спасибо за вашу помощь! Адам


--- Обновлено ---

Некоторые дополнительные детали, у меня есть следующие файлы, которые я тоже редактировал как часть настройки сервера:

/etc/apache2/conf.d/redmine

 Include /opt/redmine/apps/redmine/conf/redmine.conf

/opt/redmine/apps/redmine/conf/redmine.conf

 ProxyPass /redmine balancer://redminecluster
 ProxyPassReverse /redmine balancer://redminecluster

 <Proxy balancer://redminecluster>
   BalancerMember http://127.0.0.1:3001/redmine
   BalancerMember http://127.0.0.1:3002/redmine
   Order deny,allow
   Allow from all
 </Proxy>

/opt/redmine/apps/redmine/config/mongrel_cluster.yml

 --- 
 prefix: /redmine
 log_file: log/mongrel.log
 port: "3001"
 environment: production
 pid_file: tmp/pids/mongrel.pid
 servers: 2

/ и т.д. / apache2 / сайты-доступные / по умолчанию

 <VirtualHost *:80>
    ServerAdmin webmaster@localhost

 <Directory /var/www/>
    Options FollowSymLinks
    AllowOverride None
 </Directory>
 <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
 </Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory /var/www/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

Alias /doc/ "/usr/share/doc/"
 <Directory /var/www/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>
 DocumentRoot /var/www

 </VirtualHost>

Я не могу найти файл, который ссылается на текущий каталог / redmine как маршрут, поэтому я не уверен, что сервер сначала его найдет - если только это не conf.d.

1 ответ

Решение

ОБНОВИТЬ

  1. Изменить redmine.conf Подать к содержанию ниже:

    <VirtualHost *:80>
        ServerName redmine.local
        ErrorLog logs/redmine_error_log
    
        RewriteEngine On
        RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
        RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L] 
    
        <Proxy balancer://redminecluster>
            BalancerMember http://127.0.0.1:3001
            BalancerMember http://127.0.0.1:3002
        </Proxy>
    </VirtualHost>
    
  2. Удалить prefix вариант из mongrel_cluster.yml,

  3. Перезапустите Apache и попробуйте снова.

Другие вопросы по тегам