lunes, 30 de julio de 2007

Instalando Ruby On Rails con mongrel en KUbuntu 7.04 (Feisty Fawn)

No soy muy buen redactor de textos, asi que vamos al punto:

antes que todo, esta es una instalación de ruby on rails con un kubuntu instalado por defecto, asi que no tiene ningun otro programa, lenguaje que no venga con la instalacion por defecto, por lo cual, necesitamos instalar algunas cosillas antes como
build-essential, esto porque para instalar mongrel al final de esto necesita compiladores.
asi que el primer paso es:


usuario@kubuntu:~$ sudo apt-get install build-essential
Password: ***********
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo información de estado... Hecho
Se instalarán los siguientes paquetes extras:
dpkg-dev g++ g++-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev
Paquetes sugeridos:
debian-keyring gcc-4.1-doc lib64stdc++6 glibc-doc manpages-dev libstdc++6-4.1-doc
Se instalarán los siguientes paquetes NUEVOS:
build-essential dpkg-dev g++ g++-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev
0 actualizados, 7 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 8053kB de archivos.
Se utilizarán 33,7MB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://security.ubuntu.com feisty-security/main linux-libc-dev 2.6.20-16.29 [667kB]
Des:2 http://cl.archive.ubuntu.com feisty/main libc6-dev 2.5-0ubuntu14 [3018kB]
Des:3 http://cl.archive.ubuntu.com feisty/main libstdc++6-4.1-dev 4.1.2-0ubuntu4 [1632kB]
Des:4 http://cl.archive.ubuntu.com feisty/main g++-4.1 4.1.2-0ubuntu4 [2581kB]
Des:5 http://cl.archive.ubuntu.com feisty/main g++ 4:4.1.2-1ubuntu1 [1428B]
Des:6 http://cl.archive.ubuntu.com feisty/main dpkg-dev 1.13.24ubuntu6 [147kB]
Des:7 http://cl.archive.ubuntu.com feisty/main build-essential 11.3 [6974B]
Descargados 8053kB en 3m11s (42,1kB/s)
Seleccionando el paquete linux-libc-dev previamente no seleccionado.
(Leyendo la base de datos ...
97291 ficheros y directorios instalados actualmente.)
Desempaquetando linux-libc-dev (de .../linux-libc-dev_2.6.20-16.29_i386.deb) ...
Seleccionando el paquete libc6-dev previamente no seleccionado.
Desempaquetando libc6-dev (de .../libc6-dev_2.5-0ubuntu14_i386.deb) ...
Seleccionando el paquete libstdc++6-4.1-dev previamente no seleccionado.
Desempaquetando libstdc++6-4.1-dev (de .../libstdc++6-4.1-dev_4.1.2-0ubuntu4_i386.deb) ...
Seleccionando el paquete g++-4.1 previamente no seleccionado.
Desempaquetando g++-4.1 (de .../g++-4.1_4.1.2-0ubuntu4_i386.deb) ...
Seleccionando el paquete g++ previamente no seleccionado.
Desempaquetando g++ (de .../g++_4%3a4.1.2-1ubuntu1_i386.deb) ...
Seleccionando el paquete dpkg-dev previamente no seleccionado.
Desempaquetando dpkg-dev (de .../dpkg-dev_1.13.24ubuntu6_all.deb) ...
Seleccionando el paquete build-essential previamente no seleccionado.
Desempaquetando build-essential (de .../build-essential_11.3_i386.deb) ...
Configurando linux-libc-dev (2.6.20-16.29) ...
Configurando libc6-dev (2.5-0ubuntu14) ...
Configurando dpkg-dev (1.13.24ubuntu6) ...
Configurando libstdc++6-4.1-dev (4.1.2-0ubuntu4) ...
Configurando g++-4.1 (4.1.2-0ubuntu4) ...
Configurando g++ (4.1.2-1ubuntu1) ...
Configurando build-essential (11.3) ...


El paso 2 instalar los paquetes de ruby ( en mi caso instalo las librerias para Postgresql
libdbd-pg-ruby1.8), irb ( Interfaz interactiva para Ruby), ruby gem (gestor de paquetes de ruby), rdoc (documentación), ri (Muestra, a partir de una base de datos, documentación sobre clases, módulos y métodos Ruby), ruby1.8-examples ( ejemplos )

usuario@kubuntu:~$ sudo apt-get install ruby ruby1.8 ri irb libdbd-pg-ruby1.8 libgems-ruby1.8 ruby1.8-dev rdoc rubygems ruby1.8-examples


Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo información de estado... Hecho
ruby ya está en su versión más reciente.
ruby1.8 ya está en su versión más reciente.
Se instalarán los siguientes paquetes extras:
irb1.8 libdbi-ruby1.8 libopenssl-ruby1.8 libpgsql-ruby1.8 libpq4 libreadline-ruby1.8 rdoc1.8 ri1.8
Paquetes sugeridos:
libdbi-ruby
Se instalarán los siguientes paquetes NUEVOS:
irb irb1.8 libdbd-pg-ruby1.8 libdbi-ruby1.8 libgems-ruby1.8 libopenssl-ruby1.8 libpgsql-ruby1.8 libpq4 libreadline-ruby1.8 rdoc rdoc1.8
ri ri1.8 ruby1.8-dev ruby1.8-examples rubygems
0 actualizados, 16 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 3790kB de archivos.
Se utilizarán 50,1MB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://cl.archive.ubuntu.com feisty/universe libreadline-ruby1.8 1.8.5-4ubuntu2 [197kB]
Des:2 http://cl.archive.ubuntu.com feisty/universe irb1.8 1.8.5-4ubuntu2 [235kB]
Des:3 http://cl.archive.ubuntu.com feisty/universe irb 1.8.2-1 [3660B]
Des:4 http://cl.archive.ubuntu.com feisty/universe libpq4 8.1.8-1ubuntu3 [270kB]
Des:5 http://cl.archive.ubuntu.com feisty/universe libpgsql-ruby1.8 0.7.1-10 [39,1kB]
Des:6 http://cl.archive.ubuntu.com feisty/universe libdbi-ruby1.8 0.1.1-1 [34,1kB]
Des:7 http://cl.archive.ubuntu.com feisty/universe libdbd-pg-ruby1.8 0.1.1-1 [25,2kB]
Des:8 http://cl.archive.ubuntu.com feisty/universe rdoc1.8 1.8.5-4ubuntu2 [310kB]
Des:9 http://cl.archive.ubuntu.com feisty/universe libopenssl-ruby1.8 1.8.5-4ubuntu2 [291kB]
Des:10 http://cl.archive.ubuntu.com feisty/universe libgems-ruby1.8 0.9.0-5 [148kB]
Des:11 http://cl.archive.ubuntu.com feisty/universe rdoc 1.8.2-1 [3852B]
Des:12 http://cl.archive.ubuntu.com feisty/universe ri1.8 1.8.5-4ubuntu2 [1228kB]
Des:13 http://cl.archive.ubuntu.com feisty/universe ri 1.8.2-1 [3762B]
Des:14 http://cl.archive.ubuntu.com feisty/main ruby1.8-dev 1.8.5-4ubuntu2 [712kB]
Des:15 http://cl.archive.ubuntu.com feisty/universe ruby1.8-examples 1.8.5-4ubuntu2 [242kB]
Des:16 http://cl.archive.ubuntu.com feisty/universe rubygems 0.9.0-5 [46,8kB]
Descargados 3790kB en 1m28s (42,9kB/s)
Seleccionando el paquete libreadline-ruby1.8 previamente no seleccionado.
(Leyendo la base de datos ...
99041 ficheros y directorios instalados actualmente.)
Desempaquetando libreadline-ruby1.8 (de .../libreadline-ruby1.8_1.8.5-4ubuntu2_i386.deb) ...
Seleccionando el paquete irb1.8 previamente no seleccionado.
Desempaquetando irb1.8 (de .../irb1.8_1.8.5-4ubuntu2_all.deb) ...
Seleccionando el paquete irb previamente no seleccionado.
Desempaquetando irb (de .../archives/irb_1.8.2-1_all.deb) ...
Seleccionando el paquete libpq4 previamente no seleccionado.
Desempaquetando libpq4 (de .../libpq4_8.1.8-1ubuntu3_i386.deb) ...
Seleccionando el paquete libpgsql-ruby1.8 previamente no seleccionado.
Desempaquetando libpgsql-ruby1.8 (de .../libpgsql-ruby1.8_0.7.1-10_i386.deb) ...
Seleccionando el paquete libdbi-ruby1.8 previamente no seleccionado.
Desempaquetando libdbi-ruby1.8 (de .../libdbi-ruby1.8_0.1.1-1_all.deb) ...
Seleccionando el paquete libdbd-pg-ruby1.8 previamente no seleccionado.
Desempaquetando libdbd-pg-ruby1.8 (de .../libdbd-pg-ruby1.8_0.1.1-1_all.deb) ...
Seleccionando el paquete rdoc1.8 previamente no seleccionado.
Desempaquetando rdoc1.8 (de .../rdoc1.8_1.8.5-4ubuntu2_all.deb) ...
Seleccionando el paquete libopenssl-ruby1.8 previamente no seleccionado.
Desempaquetando libopenssl-ruby1.8 (de .../libopenssl-ruby1.8_1.8.5-4ubuntu2_i386.deb) ...
Seleccionando el paquete libgems-ruby1.8 previamente no seleccionado.
Desempaquetando libgems-ruby1.8 (de .../libgems-ruby1.8_0.9.0-5_all.deb) ...
Seleccionando el paquete rdoc previamente no seleccionado.
Desempaquetando rdoc (de .../archives/rdoc_1.8.2-1_all.deb) ...
Seleccionando el paquete ri1.8 previamente no seleccionado.
Desempaquetando ri1.8 (de .../ri1.8_1.8.5-4ubuntu2_all.deb) ...
Seleccionando el paquete ri previamente no seleccionado.
Desempaquetando ri (de .../archives/ri_1.8.2-1_all.deb) ...
Seleccionando el paquete ruby1.8-dev previamente no seleccionado.
Desempaquetando ruby1.8-dev (de .../ruby1.8-dev_1.8.5-4ubuntu2_i386.deb) ...
Seleccionando el paquete ruby1.8-examples previamente no seleccionado.
Desempaquetando ruby1.8-examples (de .../ruby1.8-examples_1.8.5-4ubuntu2_all.deb) ...
Seleccionando el paquete rubygems previamente no seleccionado.
Desempaquetando rubygems (de .../rubygems_0.9.0-5_all.deb) ...
Configurando libreadline-ruby1.8 (1.8.5-4ubuntu2) ...
Configurando irb1.8 (1.8.5-4ubuntu2) ...

Configurando irb (1.8.2-1) ...
Configurando libpq4 (8.1.8-1ubuntu3) ...

Configurando libpgsql-ruby1.8 (0.7.1-10) ...
Configurando libdbi-ruby1.8 (0.1.1-1) ...
Configurando libdbd-pg-ruby1.8 (0.1.1-1) ...
Configurando rdoc1.8 (1.8.5-4ubuntu2) ...
Configurando libopenssl-ruby1.8 (1.8.5-4ubuntu2) ...
Configurando libgems-ruby1.8 (0.9.0-5) ...
Configurando rdoc (1.8.2-1) ...
Configurando ri1.8 (1.8.5-4ubuntu2) ...
Configurando ri (1.8.2-1) ...
Configurando ruby1.8-dev (1.8.5-4ubuntu2) ...
Configurando ruby1.8-examples (1.8.5-4ubuntu2) ...
Configurando rubygems (0.9.0-5) ...


Paso 3: ahora instalar rails incluye las dependencias, y asi nos ahorramos de andar instalando lo que se necesite ...



sudo gem install rails --include-dependencies
Bulk updating Gem source index for: http://gems.rubyforge.org
Successfully installed rails-1.2.3
Successfully installed rake-0.7.3
Successfully installed activesupport-1.4.2
Successfully installed activerecord-1.15.3
Successfully installed actionpack-1.13.3
Successfully installed actionmailer-1.3.3
Successfully installed actionwebservice-1.2.3
Installing ri documentation for rake-0.7.3...
Installing ri documentation for activesupport-1.4.2...
Installing ri documentation for activerecord-1.15.3...
Installing ri documentation for actionpack-1.13.3...
Installing ri documentation for actionmailer-1.3.3...
Installing ri documentation for actionwebservice-1.2.3...
Installing RDoc documentation for rake-0.7.3...
Installing RDoc documentation for activesupport-1.4.2...
Installing RDoc documentation for activerecord-1.15.3...
Installing RDoc documentation for actionpack-1.13.3...
Installing RDoc documentation for actionmailer-1.3.3...
Installing RDoc documentation for actionwebservice-1.2.3...




paso 4: y ultimo es instalar mongrel
(aca se necesitan los compiladores :)




usuario@kubuntu:~$ sudo gem install mongrel

1. mongrel 1.0.1 (mswin32)
2. mongrel 1.0.1 (ruby)
3. mongrel 1.0 (mswin32)
4. mongrel 1.0 (ruby)
5. mongrel 0.3.13.4 (ruby)
6. mongrel 0.3.13.3 (ruby)
7. mongrel 0.3.13.3 (mswin32)
8. mongrel 0.3.13.2 (mswin32)
9. mongrel 0.3.13.2 (ruby)
10. mongrel 0.3.13.1 (ruby)
11. mongrel 0.3.13.1 (mswin32)
12. mongrel 0.3.13 (ruby)
13. mongrel 0.3.13 (mswin32)
14. mongrel 0.3.12.4 (ruby)
15. mongrel 0.3.12.4 (mswin32)
16. mongrel 0.3.12.3 (mswin32)
17. mongrel 0.3.12.3 (ruby)
18. mongrel 0.3.12.2 (mswin32)
19. mongrel 0.3.12.2 (ruby)
20. mongrel 0.3.12.1 (mswin32)
21. mongrel 0.3.12.1 (ruby)
22. mongrel 0.3.12 (mswin32)
23. mongrel 0.3.12 (ruby)
24. mongrel 0.3.11 (mswin32)
25. mongrel 0.3.11 (ruby)
26. mongrel 0.3.10.1 (ruby)
27. mongrel 0.3.10 (ruby)
28. mongrel 0.3.9 (ruby)
29. mongrel 0.3.8 (mswin32)
30. mongrel 0.3.8 (ruby)
31. mongrel 0.3.7.1 (ruby)
32. mongrel 0.3.7.1 (mswin32)
33. mongrel 0.3.7 (ruby)
34. mongrel 0.3.6 (mswin32)
35. mongrel 0.3.6 (ruby)
36. mongrel 0.3.5 (mswin32)
37. mongrel 0.3.5 (ruby)
38. mongrel 0.3.4 (mswin32)
39. mongrel 0.3.4 (ruby)
40. mongrel 0.3.3 (ruby)
41. mongrel 0.3.2 (ruby)
42. mongrel 0.3.1 (ruby)
43. mongrel 0.3 (ruby)
44. mongrel 0.2.2 (ruby)
45. mongrel 0.2.1 (ruby)
46. mongrel 0.2.0 (ruby)
47. Cancel installation
> 2
Install required dependency daemons? [Yn] y
Install required dependency fastthread? [Yn] Y
Select which gem to install for your platform (i486-linux)
1. fastthread 1.0 (ruby)
2. fastthread 1.0 (mswin32)
3. fastthread 0.6.4.1 (ruby)
4. fastthread 0.6.4.1 (mswin32)
5. fastthread 0.6.3 (ruby)
6. fastthread 0.6.3 (mswin32)
7. fastthread 0.6.2 (ruby)
8. fastthread 0.6.2 (mswin32)
9. Cancel installation
>1
Building native extensions. This could take a while...
fastthread.c: En la función ‘wait_condvar’:
fastthread.c:626: aviso: se pasa el argumento 1 de ‘rb_ensure’ desde un tipo de puntero incompatible
ruby extconf.rb install mongrel
creating Makefile

make
gcc -I. -I/usr/lib/ruby/1.8/i486-linux -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c fastthread.c
gcc -shared -rdynamic -Wl,-export-dynamic -L"/usr/lib" -o fastthread.so fastthread.o -lruby1.8 -lpthread -ldl -lcrypt -lm -lc

make install
mkdir -p /var/lib/gems/1.8/gems/fastthread-1.0/lib
/usr/bin/install -c -m 0755 fastthread.so /var/lib/gems/1.8/gems/fastthread-1.0/lib

make clean
Install required dependency gem_plugin? [Yn] Y

Install required dependency cgi_multipart_eof_fix? [Yn] Y

Building native extensions. This could take a while...
ruby extconf.rb install mongrel
checking for main() in -lc... yes
creating Makefile

make
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c http11.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c tst_search.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c tst_delete.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c http11_parser.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c tst_init.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c tst_grow_node_free_list.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c tst_insert.c
gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c tst_cleanup.c
gcc -shared -rdynamic -Wl,-export-dynamic -L"/usr/lib" -o http11.so http11.o tst_search.o tst_delete.o http11_parser.o tst_init.o tst_grow_node_free_list.o tst_insert.o tst_cleanup.o -lruby1.8 -lc -lpthread -ldl -lcrypt -lm -lc

make install
/usr/bin/install -c -m 0755 http11.so /var/lib/gems/1.8/gems/mongrel-1.0.1/lib

make clean
Successfully installed mongrel-1.0.1
Successfully installed daemons-1.0.7
Successfully installed fastthread-1.0
Successfully installed gem_plugin-0.2.2
Successfully installed cgi_multipart_eof_fix-2.2
Installing ri documentation for mongrel-1.0.1...
Installing ri documentation for daemons-1.0.7...
Installing ri documentation for gem_plugin-0.2.2...
Installing ri documentation for cgi_multipart_eof_fix-2.2...
Installing RDoc documentation for mongrel-1.0.1...
Installing RDoc documentation for daemons-1.0.7...
Installing RDoc documentation for gem_plugin-0.2.2...
Installing RDoc documentation for cgi_multipart_eof_fix-2.2...



Y con esto terminamos la instalación