Instalar Ruby RoR

De BandaAncha.st
Saltar a: navegación, buscar

Ruby[editar]

Asegurarse que está instalado zlib-dev y openssl-dev

wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz
tar -zxvf ruby-1.9.2-p180.tar.gz
cd ruby-1.9.2-p180
./configure --prefix=/usr/local/ruby --with-static-linked-ext
vi ext/Setup # puedo descomentar (no lo hago) los modulos que quiero enlazar estaticamente
make
make test
make install

Añadir Ruby al PATH del sistema

vi /etc/profile

Añado tanto /usr/local/ruby/bin como /usr/local/ruby/lib/ruby/gems/1.9.1/bin

Passenger[editar]

gem install passenger --no-rdoc --no-ri
passenger-install-apache2-module

Añado la configuración a http.conf

LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/ruby/bin/ruby
PassengerMaxPoolSize 10
        # 6, Maximum number of Ruby on Rails or Rack application instances that may be simultaneously active
PassengerMaxRequests 5000
        # 0, After serving that many requests, the application instance will be shut down

El estado de Passenger puede verse con

passenger-status
passenger-memory-stats

fcgi[editar]

wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar -zxvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=/usr/local/fcgi
make
make install
gem install fcgi --no-rdoc --no-ri -- --with-fcgi-dir=/usr/local/fcgi

Mysql bindings[editar]

gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/local/mysql

Rails[editar]

Dentro del directorio de la aplicacion

gem install bundler --no-rdoc --no-ri
bundle config build.mysql2 --with-mysql-config=/usr/local/mysql/bin/mysql_config
bundle

Me ha tocado desinstalar rake 0.9.2 y sustituirlo por rake 0.8.7, para evitar el error "uninitialized constant Rake::DSL"

gem install rake --version 0.8.7 --no-rdoc --no-ri

RMagick[editar]

wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar -zxvf ImageMagick.tar.gz
cd ImageMagick-6.4.2
# http://www.imagemagick.org/script/advanced-unix-installation.php
./configure --prefix=/usr/local/imagemagick
make
make install

Al haber instalado ImageMagick en una ubicación no convencional, RMagick no encuentra libMagickCore.so.1, así que hay que grabar en en la libreria RMagick2.so, el directorio donde reside libMagickCore.so.1

gem install rmagick --no-rdoc --no-ri # me ha tocado añadir /usr/local/imagemagick/bin al PATH en /etc/profile
cd /usr/local/ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1/ext/RMagick/
ruby extconf.rb
make
# copio la última linea escupida por el make y modifico el -R para añadir :/usr/local/imagemagick/lib y la ejecuto
gcc -shared -o RMagick2.so rmdraw.o rminfo.o rmmontage.o rmfill.o rmimage.o rmstruct.o rmilist.o rmmain.o rmagick.o rmenum.o rmutil.o rmpixel.o -L. -L/usr/local/ruby/lib -Wl,-R/usr/local/ruby/lib:/usr/local/imagemagick/lib -L/usr/local/imagemagick/lib    -L/usr/local/imagemagick/lib -lMagickCore -llcms -ltiff -lfreetype -ljpeg -lpng -lfontconfig -lXext -lXt -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lgomp -lpthread  -lMagickCore  -ldl -lcrypt -lm   -lc
cp RMagick2.so ../../lib/RMagick2.so

libxml-ruby[editar]

gem install libxml-ruby --no-rdoc --no-ri

icu[editar]

yum install libicu.x86_64 libicu-devel.x86_64
gem install icu --no-rdoc --no-ri

Tidy[editar]

yum install libtidy
ln -s /usr/lib64/libtidy-0.99.so.0.0.0 /usr/lib/libtidy.so
gem install tidy --no-rdoc --no-ri
# me ha tocado aplicar este parche http://patch-tracking.debian.net/patch/misc/view/libtidy-ruby/1.1.2-3/lib/tidy/tidybuf.rb a vi /usr/local/ruby/lib/ruby/gems/1.8/gems/tidy-1.1.2/lib/tidy/tidybuf.rb

otras[editar]

gem install gettext --no-rdoc --no-ri
gem install whois --no-rdoc --no-ri
gem install graticule --no-rdoc --no-ri
gem install GeoRuby --no-rdoc --no-ri

Sphinx[editar]

wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz
tar -zxvf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1
export LDFLAGS="-Wl,-R/usr/local/mysql/lib/mysql" # para que encuentre la libmysqlclient.so, se comprueba con ldd src/indexer
./configure --with-mysql=/usr/local/mysql # si pongo --program-prefix=/usr/local/sphinx make install me da error
make
make install

Memcached[editar]

yum install libevent.x86_64 libevent-devel.x86_64 # dependencia
wget http://memcached.googlecode.com/files/memcached-1.4.0.tar.gz
tar -zxvf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure
make
make install
adduser memcached