We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Ruby on Rails?
Ruby on Rails?
Камрады, никто не практиковал параллельную установку VestaCP и ROR? Есть ли шанс заставить нормально функционировать?
Не планируется ли включить в сборку?
Не планируется ли включить в сборку?
Re: Ruby on Rails?
Теоритически может получится если поставить апач с модулем passenger. В ближайщих планах поддержки RoR нет. Вопрос о поддержке рельс поднимется после реализации связки nginx+php-fpm без апача.
Re: Ruby on Rails?
Ясно, жаль.
Практически мне пока не удалось завести параллельно сайт на руби (пытаюсь поставить Redmine) и оставить работающие на Vesta сайты на php. Возможно, просто знаний не хватает.
Собственно ROR поставился, но как его увязать с работающим апачем не понимаю. Пробовал с passenger, fcgi, через nginx и без, но безрезультатно. Будем надеяться на лучшее :)
Практически мне пока не удалось завести параллельно сайт на руби (пытаюсь поставить Redmine) и оставить работающие на Vesta сайты на php. Возможно, просто знаний не хватает.
Собственно ROR поставился, но как его увязать с работающим апачем не понимаю. Пробовал с passenger, fcgi, через nginx и без, но безрезультатно. Будем надеяться на лучшее :)
Re: Ruby on Rails?
Так же интеграцию с рельсами. В скором времени планирую заняться языком вплотную.
Re: Ruby on Rails?
UPD — это все таки работает. Удачно запустил Redmine.
Re: Ruby on Rails?
Классно! Расскажите в двух словах как получилось завести рельсы?
Re: Ruby on Rails?
Ну, если только в двух :) Реально я не помню точную последовательность действий, так что точное следование процедурам может и не привести к нужному результату.
Ставил на CentOS 6.4 64bit
1. Ставим весту обычным способом. Для нужного сайта создаем домен и отключаем nginx. Остальные сайты можно настраивать как угодно. Для public_html делаем
От имени admin по умолчанию ничего работать не будет (у меня не работает).
2. Ставим пакеты devel
zlib,openssl, Imagick (без него не встанет rmagick), YAML
или
здесь зависит от того, как у вас CentOS сконфигурирован.
YAML может потребоваться ставить из rpm
качаем
собираем и ставим
3. Так как у нас связка с MySQL, нам нужен 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
4. Лезем за Ruby
Я брал версию 2.0.0-p247, самую свежую. Местами рекомендуют 1,9.
распаковываем
собираем и ставим
Если все хорошо, проверям версию и env
Результат:
Если все хорошо, проверям версию и env
Жмем Энтер когда спросит.
Конфигурацию для подключения модуля он конфигурирует. Запомните её :)
Дальше колдунство с апачем.
для подключения passenger идем в /etc/httpd/conf.d и создаем файл passenger.conf, в который прописываем примерно следующее
Наконец, ставим гемы
Проверяем:
Ставил на 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
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
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
Code: Select all
yum install mysql-devel
Без 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
Code: Select all
ftp ftp.ruby-lang.org
anonymous
anonymous
cd /pub/ruby
get ruby-2.0.0-p247.tar.gz
quit
распаковываем
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
Code: Select all
ruby -v
which ruby
Далее идем за RubyGems? я брал самую свежую 1.8.25ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
/usr/local/bin/ruby
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
Code: Select all
gem -v
which gem
Ставим passenger для Apache.1.8.25
/usr/local/bin/gem
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
Аллес гемахт, дальше можно настраивать что-нибудь, например Redmine. :)rails -v
Rails 4.0.0
Last edited by filippoff on Tue Sep 24, 2013 7:05 pm, edited 2 times in total.
Re: Ruby on Rails?
ну, реально затыков там несколько больше, с mysql2 я возился долго, сервер пару раз уронил и пока passenger поставил пересобирал руби раза три, но уже убей не помню почему, глаза к этому времени были в кучку. потом ещё с самим редмайном возился.skid wrote:круто :)
самое главное, что работа панели не нарушается в итоге, что радует, т.к. как настоящий джедай я все это делал на работающем продакшн сервере. :)
Re: Ruby on Rails?
вы забыли наверное еще и то что нужно прогружать глобальные переменные руби для пользователя, т.е. там строка выводится после установки, из под рута не установить, только sudo.
Я не вижу проблемы в функционировании passenger/thin вместе с апачем и nginx, passenger висит на 3000 порту и никому не мешает, nginx проксирует на 80 порт. апач здесь не причем.
Я не вижу проблемы в функционировании passenger/thin вместе с апачем и nginx, passenger висит на 3000 порту и никому не мешает, nginx проксирует на 80 порт. апач здесь не причем.