Проблемы с получением 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>
Попробуйте!