Проблемы с получением Squirrelmail и пассажира, работающего на Apache

Я пытаюсь настроить, где я хочу запустить squirrelmail и Passenger на одном и том же сервере apache, имея URL-адрес squirrelmail и все остальное обрабатывает пассажир. Я дошел до того, что и белка, и пассажир будут работать нормально, но когда пассажир бежит, он обрабатывает все URL.

До сих пор я пытался использовать Alias ​​и Redirect для указания веб-почты / URL-адреса на каталог squirrelmails, но это не работает.

Вот мой файл httpd.conf:

<VirtualHost *:80>
  ServerName not.my.real.server.name
  DocumentRoot /var/www/sinatra/public
  # Does not work:
  #Redirect webmail/ /usr/share/squirrelmail/
  #<Directory /usr/share/squirrelmail>
  #  Require all granted
  #</Directory>
  <Directory /var/www/sinatra/public>
    Order  allow,deny
    Allow  from all
  </Directory>
</VirtualHost>

В apache2.conf эти файлы добавлены для пассажиров, кроме этого я не внес никаких изменений по сравнению со стандартной установкой apache в Ubuntu Server 12.04:

# passenger config
  LoadModule passenger_module /home/kenneth/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.15/ext/apache2/mod_passenger.so
  PassengerRoot /home/kenneth/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.15
  PassengerRuby /home/kenneth/.rvm/wrappers/ruby-1.9.3-p194/ruby

Файл passanger config.ru:

require './index'
run Sinatra::Application

1 ответ

Решение

Попробуй это:

<VirtualHost *:80>
    ServerName not.my.real.server.name
    DocumentRoot /var/www

    Alias /webmail "/usr/share/squirrelmail"
    <Directory /usr/share/squirrelmail>
        Order allow,deny
        Allow from all
    </Directory>

    <Directory /var/www/sinatra>
        RackBaseURI /sinatra
        PassengerResolveSymlinksInDocumentRoot On
        PassengerAppRoot /var/www/sinatra
    </Directory>
</VirtualHost>

ОБНОВИТЬ

Я думаю, что мы можем сказать Rails игнорировать определенный URL, отключив PassengerEnabled:

<VirtualHost *:80>
    ServerName not.my.real.server.name
    DocumentRoot /var/www/sinatra/public

    <Directory /var/www/sinatra/public>
        Order allow,deny
        Allow from all         
    </Directory>

    Alias /webmail "/usr/share/squirrelmail"
    <Location /webmail>
        PassengerEnabled off
    </Location>
</VirtualHost>

Попробуйте!

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