Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Ruby on Rails?

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
16 posts
  • 1
  • 2
  • Next
filippoff
Posts: 25
Joined: Wed Mar 20, 2013 3:09 pm

Ruby on Rails?
  • Quote

Post by filippoff » Mon Sep 23, 2013 8:31 pm

Камрады, никто не практиковал параллельную установку VestaCP и ROR? Есть ли шанс заставить нормально функционировать?
Не планируется ли включить в сборку?
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: Ruby on Rails?
  • Quote

Post by skid » Tue Sep 24, 2013 7:18 am

Теоритически может получится если поставить апач с модулем passenger. В ближайщих планах поддержки RoR нет. Вопрос о поддержке рельс поднимется после реализации связки nginx+php-fpm без апача.
Top

filippoff
Posts: 25
Joined: Wed Mar 20, 2013 3:09 pm

Re: Ruby on Rails?
  • Quote

Post by filippoff » Tue Sep 24, 2013 1:16 pm

Ясно, жаль.
Практически мне пока не удалось завести параллельно сайт на руби (пытаюсь поставить Redmine) и оставить работающие на Vesta сайты на php. Возможно, просто знаний не хватает.
Собственно ROR поставился, но как его увязать с работающим апачем не понимаю. Пробовал с passenger, fcgi, через nginx и без, но безрезультатно. Будем надеяться на лучшее :)
Top

Светозар
Posts: 84
Joined: Sat Sep 21, 2013 6:01 pm
Contact:
Contact Светозар
Website

Re: Ruby on Rails?
  • Quote

Post by Светозар » Tue Sep 24, 2013 1:56 pm

Так же интеграцию с рельсами. В скором времени планирую заняться языком вплотную.
Top

filippoff
Posts: 25
Joined: Wed Mar 20, 2013 3:09 pm

Re: Ruby on Rails?
  • Quote

Post by filippoff » Tue Sep 24, 2013 2:41 pm

UPD — это все таки работает. Удачно запустил Redmine.
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: Ruby on Rails?
  • Quote

Post by skid » Tue Sep 24, 2013 2:50 pm

Классно! Расскажите в двух словах как получилось завести рельсы?
Top

filippoff
Posts: 25
Joined: Wed Mar 20, 2013 3:09 pm

Re: Ruby on Rails?
  • Quote

Post by filippoff » Tue Sep 24, 2013 6:55 pm

Ну, если только в двух :) Реально я не помню точную последовательность действий, так что точное следование процедурам может и не привести к нужному результату.
Ставил на CentOS 6.4 64bit

1. Ставим весту обычным способом. Для нужного сайта создаем домен и отключаем nginx. Остальные сайты можно настраивать как угодно. Для public_html делаем

Code: Select all

chown -R apache:apache /home/admin/web/domain.tld/public_html/

От имени admin по умолчанию ничего работать не будет (у меня не работает).

2. Ставим пакеты devel

Code: Select all

yum groupinstall "Development Tools" -y
zlib,openssl, Imagick (без него не встанет rmagick), YAML

Code: Select all

yum install zlib-devel openssl-devel openssl-devel libyaml-devel ImageMagick-devel ImageMagick-c++-devel -y
или

Code: Select all

yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel gcc make gcc-c++ ruby-devel libxml2 libxml2-devel libxslt libxslt-devel ImageMagick-devel ImageMagick-c++-devel
здесь зависит от того, как у вас CentOS сконфигурирован.
YAML может потребоваться ставить из rpm
качаем

Code: Select all

cd /tmp && mkdir my_tmp_files && wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz && tar zxvf yaml-0.1.4.tar.gz && cd yaml-0.1.4
собираем и ставим

Code: Select all

./configure && make && make isntall 
3. Так как у нас связка с MySQL, нам нужен mysql-devel. Проблема в том, что

Code: Select all

yum install mysql-devel
дает нам ошибку зависимостей, т.к. в репозитории epel mysql-devel есть только 5.1, а MySQL у нас -5.5.34
Без mysql-devel работать ничего не будет, т.к. он нужен для коннектора mysql2 или mysql (собсно, нужен только mysql.h вроде бы)
Для CentOS 6.4 пакета выше 5.1 нет. Подходящий пакет нашел только в RedHat EL 6 for x86_64:
mysql-devel-5.5.34-1.el6.remi.x86_64.rpm

Code: Select all

wget ftp://rpmfind.net/linux/remi/enterprise/6/remi/x86_64/mysql-devel-5.5.34-1.el6.remi.x86_64.rpm

Code: Select all

rpm -Uvh mysql-devel-5.5.34-1.el6.remi.x86_64.rpm
4. Лезем за Ruby

Code: Select all

ftp ftp.ruby-lang.org
anonymous
anonymous

cd /pub/ruby
get ruby-2.0.0-p247.tar.gz
quit
Я брал версию 2.0.0-p247, самую свежую. Местами рекомендуют 1,9.

распаковываем

Code: Select all

tar zxvf ruby-2.0.0-p247.tar.gz
cd ruby-2.0.0-p247
собираем и ставим

Code: Select all

./configure
make
make install
Если все хорошо, проверям версию и env

Code: Select all

ruby -v
which ruby
Результат:
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
/usr/local/bin/ruby
Далее идем за RubyGems? я брал самую свежую 1.8.25

Code: Select all

wget http://rubyforge.org/projects/rubygems/rubygems-1.8.25.tgz
tar zxvf rubygems-1.8.25.tgz
cd rubygems-1.8.25
ruby setup.rb
Если все хорошо, проверям версию и env

Code: Select all

gem -v
which gem
1.8.25
/usr/local/bin/gem
Ставим passenger для Apache.

Code: Select all

gem install passenger && passenger-install-apache2-module
Жмем Энтер когда спросит.
Конфигурацию для подключения модуля он конфигурирует. Запомните её :)

Дальше колдунство с апачем.
для подключения passenger идем в /etc/httpd/conf.d и создаем файл passenger.conf, в который прописываем примерно следующее

Code: Select all

LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.19/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.19
PassengerDefaultRuby /usr/local/bin/ruby

# Remove HTTP Headers
Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"

# Tuning of Passenger
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerUseGlobalQueue on
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0
PassengerDefaultUser apache
Наконец, ставим гемы

Code: Select all

gem install bundler
gem install nokogiri
gem install rmagick
gem install rails
Проверяем:

Code: Select all

rails -v
rails -v
Rails 4.0.0
Аллес гемахт, дальше можно настраивать что-нибудь, например Redmine. :)
Last edited by filippoff on Tue Sep 24, 2013 7:05 pm, edited 2 times in total.
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: Ruby on Rails?
  • Quote

Post by skid » Tue Sep 24, 2013 6:57 pm

круто :)
Top

filippoff
Posts: 25
Joined: Wed Mar 20, 2013 3:09 pm

Re: Ruby on Rails?
  • Quote

Post by filippoff » Tue Sep 24, 2013 7:24 pm

skid wrote:круто :)
ну, реально затыков там несколько больше, с mysql2 я возился долго, сервер пару раз уронил и пока passenger поставил пересобирал руби раза три, но уже убей не помню почему, глаза к этому времени были в кучку. потом ещё с самим редмайном возился.
самое главное, что работа панели не нарушается в итоге, что радует, т.к. как настоящий джедай я все это делал на работающем продакшн сервере. :)
Top

XakRu
Posts: 117
Joined: Wed Nov 28, 2012 10:26 pm

Re: Ruby on Rails?
  • Quote

Post by XakRu » Wed Sep 25, 2013 10:06 am

вы забыли наверное еще и то что нужно прогружать глобальные переменные руби для пользователя, т.е. там строка выводится после установки, из под рута не установить, только sudo.
Я не вижу проблемы в функционировании passenger/thin вместе с апачем и nginx, passenger висит на 3000 порту и никому не мешает, nginx проксирует на 80 порт. апач здесь не причем.
Top


Post Reply
  • Print view

16 posts
  • 1
  • 2
  • Next

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password