Можно ли установить Ruby on Rails вместе с WampServer (и сохранить установки WampServer Apache/MySQL)?
Как установить Ruby on Rails вместе с WampServer?
Ответ 1
Я установил Ruby on Rails вместе с WampServer. Вот как это сделать:
Замените C:\wamp\
в следующем тексте вашим собственным хранилищем WampServer.
Установка Ruby:
- Загрузите Ruby. Используйте Windows двоичную версию, а не "установщик с одним щелчком", потому что он содержит MySQL и Apache, которые нам не нужны.
- Извлеките zip на
C:\wamp\ruby\
. -
Добавьте репозиторий Ruby bin в переменную среды PATH:
- Щелкните правой кнопкой мыши "Компьютер/Свойства".
- Нажмите "Дополнительные настройки системы".
- Дополнительные вкладки/переменные среды.
- Добавить
;C:\wamp\ruby\bin
в переменную Path.
Установка DevKit:
Загрузить DevKit:
- Извлеките DevKit в
c:\wamp\ruby\DevKit
. -
cd /d c:\wamp\ruby\DevKit
. -
ruby dk.rb init
.- Добавьте
- c:\wamp\ruby
в конецconfig.yml
.
- Добавьте
-
ruby dk.rb install
Установка Rails и сервера Mongrel:
-
Откройте командную строку и введите:
gem install rails
-
Создайте свое первое приложение Rails, открыв командную строку из
C:\wamp\www\rails\
и набрав:rails hello
-
Установите сервер Mongrel и службу Windows Mongrel, убедитесь, что вы запускаете командную строку как администратор:
gem install mongrel and gem install mongrel_service
-
Установите службу Windows для своего приложения Rails:
mongrel_rails service::install -N ruby-hello -c c:\wamp\www\rails\hello -p 3001 -e development
-
Запустите службу Mongrel:
net start ruby-hello
Теперь вы можете получить доступ к своему Rails-приложению http://localhost:3001/
.
Интеграция с Apache
-
Включить mod_proxy в httpd.conf
Откройте httpd.conf(c:\wamp\bin\apache\Apache2.x.x\conf\httpd.conf) и раскомментируйте следующую строку:
LoadModule proxy_module modules/mod_proxy.so
-
Переслать трафик на ваш сервер Mongrel. Добавьте следующий текст в свой httpd.conf(или extra/httpd-vhosts.conf, если он включен в ваш httpd.conf):
<VirtualHost *:80> ServerName hello.com ServerAlias *.hello.com ProxyPass / http://localhost:3001/ ProxyPassReverse / http://localhost:3001 </VirtualHost>
-
Добавьте hello.com в ваш файл hosts. Откройте
c:\windows\system32\drivers\etc\hosts
в Блокноте и добавьте следующую строку:127.0.0.1 www.hello.com hello.com
Теперь вы можете перейти к http://www.hello.com и загрузить приложение Rails.
Литература:
Ответ 2
Да, есть InstantRails
Ответ 3
Предполагается, что вы пытаетесь настроить среду разработки, потому что нет смысла использовать Windows и/или WAMP для производственного сервера.
Вы можете установить Ruby довольно легко в Windows, используя Ruby installer. Там также установщик с одним щелчком мыши, который включает в себя несколько библиотек (хотя вы можете установить их самостоятельно с rubygems позже).
Вы правы в том, что вы устанавливаете Rails (и зависимости) в качестве драгоценного камня.
Теперь, что касается Apache... Я собираюсь предложить вам сохранить вашу установку WAMP и просто не использовать ее для Ruby/Rails. Ruby имеет встроенный веб-сервер под названием WEBrick, а также еще один легкий сервер под названием Mongrel (доступен как драгоценный камень). Они могут запускаться одновременно с Apache, при этом Apache обслуживает PHP-контент, а Mongrel/WEBrick - Rails. Они будут работать на разных портах (по умолчанию Apache на 80, Mongrel/WEBrick по 3000), поэтому конфликтов не должно быть.
При таком подходе есть несколько преимуществ:
- Вам не придется возиться со своей установкой WAMP и рисковать чем-то прикручивать.
- Запуск приложений с разных языков отдельно защищает их друг от друга. Например, если ваш Rails-приложение выйдет из строя на сервере, это не приведет к тому, что ваш PHP файл будет работать с ним, если вы используете оба.
- В-третьих, большинство популярных Rails IDE (RubyMine, Aptana и т.д.) имеют встроенные элементы управления как для одного из серверов Mongrel, так и для WEBrick. Это означает, что вы сможете запустить/остановить/перезапустить сервер в среде IDE, а также отобразить выходные/журналы. Для разработки Rails в Windows я рекомендую RubyMine.
MySQL отделен от Apache, поэтому ваше приложение Rails сможет обращаться к базам данных MySQL независимо от того, какой сервер обслуживает его содержимое. Естественно, вам нужно запустить хотя бы версию WAMP MySQL, чтобы она работала.
Ответ 4
Чтобы установить + запустить приложение Ruby On Rails на localhost (wampserver или т.д.):
ИСПОЛЬЗУЙТЕ автономные установки сервера Ruby: a) http://railsinstaller.org/en b) http://www.helicontech.com/zoo/install.html c) https://bitnami.com/stack/ruby
ИЛИ
1) Установите WAMP (или и т.д.)
2) Установите Ruby
3) откройте... wamp\bin\apache\apache XXXX\conf\ httpd.conf, затем выполните поиск и замените
Options Indexes FollowSymLinks
с
Options Indexes FollowSymLinks ExecCGI
(или Options Indexes FollowSymLinks Includes ExecCGI
)
P.S. также, найдите и убедитесь, что LoadModule cgi_module НЕ комментируется.
4) поиск и замена
#AddHandler cgi-script .cgi
с (... удаление #)
AddHandler cgi-script .cgi
AddHandler cgi-script .rb
5) Найдите строку:
DirectoryIndex index.php index.php3 index.html index.htm
и добавьте в конец: index.cgi index.rb
Теперь Перезапустить Apache.
6) создайте sample.rb (в корне /www ) с таким контентом:
#!C:\Ruby200\bin\ruby\ruby.exe
puts "Content-type: text/html" #in newer version, might be puts("....")
puts ""
puts "Test Pageeeeeeeee."
p.s. ЗАМЕТКА: (a) Измените путь C: | Ruby.. на свой путь установки RUBY. (b) Чтобы избежать проблем, не устанавливайте Ruby по пути, где любое "имя папки" содержит пробел. (c) Не должно быть пробела между началом строки и печать (..
7) открыть http://localhost/sample.rb
ЭТО ВСЕ!
p.s.note, в случае при использовании .htaccess [внутри .rb-каталога], вам может понадобиться вставить эти строки в .htaccess:
Options +ExecCGI
AddHandler cgi-script .rb