Como instalar Ruby on Rails en un Linux CentOS Virtual Dedicated Server de GoDaddy
Julio 15th, 2008 | Published in Ruby on Rails | 2 Comments
El propósito de esta guia es mostrar como se puede instalar Ruby on Rails en CentOS con Apache2 funcionando como proxy para lighttpd. La guia original fue obtenida de aqui, estos pasos son los que a mi me funcionaron. Esta guia puede contener errores y no garantiza que funcionará para alguien mas.
Conectandome al Virtual Dedicated Server via SSH como root, estos fueron los comandos:
yum update yum install ruby ruby-devel ruby-libs ruby-irb ruby-rdoc ruby-mysql yum install lighttpd-fastcgi lighttpd cd /usr/local/src wget http://rubyforge.org/frs/download.php/17190/rubygems-0.9.2.tgz tar -xvzf rubygems-0.9.2.tgz cd rubygems-0.9.2 ruby setup.rb cd .. wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz tar -xzvf fcgi-2.4.0.tar.gz cd fcgi-2.4.0 ./configure make make install cd.. wget http://sugi.nemui.org/pub/ruby/fcgi/ruby-fcgi-0.8.6.tar.gz tar -zxvf ruby-fcgi-0.8.6.tar.gz cd ruby-fcgi-0.8.6 ruby install.rb config ruby install.rb setup ruby install.rb install cd .. gem install rails --include-dependencies gem update --system
NOTA: Para este ejemplo, vamos a suponer, que yo tengo registrado un dominio.com, configurado normalmente en Go Daddy con nombre de usuario dominio, teniendo el directorio en /home/dominio/public_html y quiero poner mi aplicación en ruby.dominio.com. No me voy a meter en los detalles de como crear un subdominio en Go Daddy porque esta fuera de tema, para este ejemplo, el directorio por default del subdominio vendria siendo /home/dominio/ruby, la guia también puede ser adaptada para un dominio sin subdominio, solo hay que cambiar los directorios.
Con esta suposición, vamos a jugar un poco con los directorios para acomodar la aplicación de esta forma (reemplaza los nombres de los directorios por los tuyos):
cd /home/dominio/ rm -Rf ruby rails testapp chmod 777 testapp/log chmod 777 testapp/tmp chown -R dominio:dominio testapp su dominio ln -s /home/dominio/testapp/public ruby exit
Después, hay que modificar los archivos de configuración del Apache2 y lighttpd.
Dentro de la configuración del Apache2 en /etc/httpd/conf/httpd.conf al final, hay que agregar (NOTA: Si el subdominio fue agregado con Simple Control Panel, hay que modificar el archivo /etc/httpd/conf.d/turbopanel.conf en vez de agregar al final de httpd.conf):
<VirtualHost *:80> ServerName ruby.dominio.com ProxyRequests Off ProxyPass / http://localhost:81/ ProxyPassReverse / http://localhost:81/ ProxyPreserveHost on </VirtualHost>
Ahora para lightttpd en /etc/lighttpd/lighttpd.conf tenemos:
server.modules = (
"mod_rewrite",
"mod_access",
"mod_fastcgi",
"mod_cgi",
"mod_accesslog" )
server.document-root = "/home/dominio/testapp/public/"
server.errorlog = "/var/log/lighttpd/error.log"
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
mimetype.assign = (
".rpm" => "application/x-rpm",
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar",
"" => "application/octet-stream",
)
accesslog.filename = "/var/log/lighttpd/access.log"
url.access-deny = ( "~", ".inc" )
$HTTP["url"] =~ "\.pdf$" {
server.range-requests = "disable"
}
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
server.port = 81
server.bind = "127.0.0.1"
server.error-handler-404 = "/dispatch.fcgi"
server.pid-file = "/var/run/lighttpd.pid"
fastcgi.server = (
".fcgi" => (
"rails" => (
"socket" => "/tmp/lighttpd-fcgi.socket",
"bin-path" =>
"/home/dominio/testapp/public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "production" ),
"min-procs" => 2,
"max-procs" => 2
)
)
)
server.indexfiles = (
"dispatch.fcgi",
"index.php",
"index.html",
"index.htm",
"default.htm"
)Ahora, solo hay que reiniciar los servers:
/etc/init.d/httpd restart /etc/init.d/lighttpd restart
Con esto tenemos un ambiente ruby en http://ruby.dominio.com/ con los archivos fuente en /home/dominio/testapp














Julio 21st, 2010 at 9:25 am (#)
Buy:100% Pure Okinawan Coral Calcium.Accutane.Zyban.Prevacid.Valtrex.Prednisolone.Zovirax.Nexium.Actos.Petcam (Metacam) Oral Suspension.Arimidex.Lumigan.Human Growth Hormone.Retin-A.Mega Hoodia.Synthroid….
Agosto 30th, 2010 at 12:45 am (#)
Light http://tartscru.AUTOTECHGUIDE.INFO/tag/removal+Lights+Light/ : Light…
Light…