Проблема VirtualHost с пассажиром (mod_rails)
-
13-10-2019 - |
Вопрос
Я здесь с виртуальным хостингом. Я пытаюсь установить Redmine, и он работает с тестовым сервером Webrick, но когда я пытался использовать пассажир (mod_rails) для размещения и перейти к адресу, который я указал, когда в виртуальной части моего файла конфигурации Apache ничего не происходит. Вот рельефный раздел /etc/httpd/conf/httpd.conf, где я пытаюсь настроить виртуальный хост:
<VirtualHost *:80>
SetEnv RAILS_ENV production
ServerName redmine.MYSITE.com:80
DocumentRoot /opt/redmine-1.0.5/public/
<Directory /opt/redmine-1.0.5/public/>
Options -MultiViews
Allow from all
AllowOverride none
</Directory>
Однако, когда я добрался до redmine.mysite.com:80 ничего не происходит, я просто получаю нашу обычную домашнюю страницу. Я понятия не имею, в чем проблема, любая помощь наше руководство будет очень ценится. Если вам нужна какая -либо другая информация, пожалуйста, скажите мне, и я предоставлю ее.
Решение
Мне потребовалось некоторое время, чтобы подбежать Redmine под пассажиром. Это то, что у меня есть
Установите пассажир:
passenger-install-apache2-module
Редактировать файл конфликта Apache:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/bin/ruby
Создайте новый каталог на сервере по умолчанию:
<Directory>
/webserver_root/html/redmine
RailsBaseURI /redmine
AllowOverride all
Options -MultiViews
</Directory>
Наконец, сделайте ссылку на физический каталог, в котором живут ваши приложения Ruby (то есть не под /html или какой -либо каталог, из которого вы обслуживаете большинство страниц Apache. Это должна быть ссылка на публичный подкаталог Redmine)
ln -s /webserver_root/ruby_apps/redmine/public /webserver_root/html/redmine
Таким образом, Apache теперь пытается показать все общественные страницы как обычно, но все остальные страницы направляются через пассажир. Вы получаете доступ к нему как подпапку - например. http: // mywebserver/redmine
Другие советы
Ваш VirtualHost *:80
Директива должна соответствовать соответствующей NameVirtualHost *:80
ранее в вашей конфигурации.
Вы можете спросить Apache, что это делает из ваших vhosts с -S
выключатель. Конечно, имя вашего сервера Двоина немного зависит от того, как он был установлен и на Какая ОС/Дистрибут.