Размещаем PHP и Rails на одном сервере - PullRequest
2 голосов
/ 12 июня 2011

В настоящее время я работаю над веб-сайтом, ядром которого является PHP. Теперь я хочу написать несколько приложений поверх этого ядра и надеялся сделать это в Rails. Я видел пару вещей в Интернете, где вы можете настроить отдельные папки для обработки PHP (пример: http://macdiggs.com/2007/06/29/using-php-inside-rails-structure-on-apache/), но я надеюсь сделать обратное, иметь отдельные папки, которые обрабатываются Rails, а затем остальные обрабатываются с помощью PHP. Например, при использовании ourwebsite.com/blog в качестве приложения Rails, но ourwebsite.com и ourwebsite.com/internal все в PHP. Какие конфигурации Apache позволят этому произойти?

(В качестве бонуса мой сервер управляется Plesk, поэтому я беспокоюсь о внесении прямых изменений в конфигурацию apache. У меня есть root-доступ, поэтому я могу это сделать, но я боюсь, что Plesk может разозлиться)

РЕДАКТИРОВАТЬ: я должен также упомянуть, я использую субдомены как часть моего приложения, поэтому я действительно предпочел бы иметь что-то вроде ourwebsite.com/rails_app. Если это единственный вариант, я могу пойти по этому пути, но я бы предпочел не делать этого.

Ответы [ 2 ]

3 голосов
/ 30 августа 2012

Если вы хотите, чтобы приложение PHP было приложением по умолчанию и использовать Rails только для подкаталога, эта конфигурация Apache должна работать для вас:

DocumentRoot "/path/to/your/php/app/html"
ProxyPass /some_resource http://127.0.0.1:3000/some_resource

Обратите внимание, что ваше приложение rails будет работать на порту 3000вам понадобится установленный модуль ProxyPass Apache.

3 голосов
/ 12 июня 2011

Я работаю над проектом, в котором есть блог на php, т.е. wordpress, и приложение в rails Просто настроил это за час до. Могу вам помочь.

<VirtualHost *:80>
ServerName abc.com
DocumentRoot /home/me/apps/my_rails_app/current/public
</VirtualHost>

<VirtualHost *:80>
ServerName blog.abc.com
DocumentRoot /home/me/apps/abc/wordpress
 <Directory "/home/me/apps/abc/wordpress">
        Options +Indexes FollowSymLinks
        AllowOverride All
        Allow from all
        Order allow,deny
    </Directory>

</VirtualHost>
...