Ну, если только в двух :) Реально я не помню точную последовательность действий, так что точное следование процедурам может и не привести к нужному результату.
Ставил на 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. Проблема в том, что
дает нам ошибку зависимостей, т.к. в репозитории 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
собираем и ставим
Если все хорошо, проверям версию и env
Результат:
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
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
Проверяем:
rails -v
Rails 4.0.0
Аллес гемахт, дальше можно настраивать что-нибудь, например Redmine. :)