viernes, 21 de octubre de 2011

Ubuntu RoR + postgresSQL 9 -> sobre windows

Si tu entorno "natural" es windows, pero tu desarrollo es rails, hay algunas situaciones donde te puede interesar tener una ubuntu con rails funcionando:
  • Para probar el sistema en un entorno parecido al de producción (en producción windows + rails está prohibido).
  • Para las gem que no se pueden compilar con el DevKit o no tienen versión "-x86-mingw32"(pre-compilada).
  • Para aumentar la velocidad en las pruebas en el servidor de desarrollo (sobretodo arranque)
  • Para aumentar la velocidad en los test (esta es mi principal)
Para conseguirlo unos simples pasos:
  1. Descargamos virtual box (porqué es gratuito multi plataforma)
    https://www.virtualbox.org/wiki/Downloads
    I escogemos VirtualBox 4.1.x for Windows hosts x86/amd64
  2. Instalación dummy de virtual box (siguiente-siguiente)
  3. Descargamos la última versión de ubuntu
    1. Vamos a http://www.ubuntu.com/download/server/download
    2. Seleccionamos la versión a descargar. Mi recomendación la última LTS (Long-time-suport) que seguramente será la que tengamos en el servidor.
      Las versiones LTS (Long Term Support), que se liberan cada dos años, reciben soporte durante tres años en los sistemas de escritorio y cinco para la edición orientada a servidores
      Fuente: http://es.wikipedia.org/wiki/Ubuntu
    3. Guardamos la iso en un lugar conocido.
  4. Creamos la máquina virtual. Inicio -> Ejecutar-> "Oracle VM VirtualBox" y le damos a "New" o CTRL+N. A partir de aquí es un wizzard, nombre, versión... ram, disco, que tener en cuenta:
    1. Sistema operativo igual al que vamos a instalar Linux y ubuntu amb64 o ubunty 32 bits i386
    2. Disco tipo VDI (virtual box disk image) y "fixed size" en lugar de "dynamically allocated", para mejorar la velocidad.[recomendación]



      Si por equivocación le damos a cancelar al wizzard siempre podemos añadir la imagen des de "Devices" -> "CD/DVD's"

  5. Instalar el sistema operativo. Seleccionamos la máquina instalada y le damos al botón "Start" o "Run" y la primera vez no salé un wizzard. En la segunda pantalla del wizzard podemos escoger montar una unidad con la imagen que hemos bajado y de esta forma nos arranca la máquina con el wizzard de instalación de ubuntu.



  6. Instalación dummy de ubuntu (siguiente-siguiente)



    Del wizzard solo hace falta cambiar el teclado al que tengamos y escoger un nombre de usuario y contraseña.

  7. Para instalar rails (tiene que ser en una instalación limpia), linea de comandos y
    wget --no-check-certificate https://raw.github.com/joshfng/railsready/master/railsready.sh && bash railsready.sh
    + información en https://github.com/joshfng/railsready

    El script nos pregunta si queremos RVM (Ruby Version Manager) que nos permitiría en un futuro instalar en la misma máquina otra version de ruby que no sea la 1.9.2. Es muy recomendable trabajar en RVM pero si no lo ves claro (o quieres la máquina lo más simple posible) siempre puedes crear otra máquina virtual y instalar la versión de ruby superior cuando la necesites.

    Para que funcione necesitamos tener internet accesible des de la máquina virtual.

  8. Para instalar postgresSQL, linea de comandos y
    1. sudo apt-get install python-software-properties
    2. sudo add-apt-repository ppa:pitti/postgresql
    3. sudo apt-get update
    4. sudo apt-get install postgresql

    5. ¿Por qué? Porqué ubutnu no puede dar soporte a todas la versiones de PostgresSQL y la oficial es la 8.2 (a noviembre 2011), en futuras versiones se irá actualizando. Entonces para evitar tener que bajarnos la versión de la página oficial http://www.postgresql.org/download/ y compilarla por nosotros mismos, lo que hacemos es añadir un segundo respositorio de software (market / app store) y bajarnos la versión des de allí. 
      (http://www.dctrwatson.com/2010/09/installing-postgresql-9-0-on-ubuntu-10-04/)

  9. Des de aquí la instalacón es igual que en windows 
    1. linea de comandos y "gem install rails"

En este punto deberías tener una máquina preparada para desarrollar, recuerda de realizar la performance / tuning básica al postgres (de serie viene preparada para un 386) y instalar GIT.

Una buena solución que se integra muy bien con Windows es utilizar las "shared folders" de la virtual box, las encontrarás en "Devices" -> "Shared Folder" y te permiten mapear tus carpetas de windwos en ubuntu.

Una última recomendación para VirtualBox es cambiar en "Devices" -> "Network Adapters" la conexión de "Nat" a "Bridge" (para que la máquina sea visible des de fuera) y instalar la "Guest additions" que encontramos en "Devices".

    No hay comentarios:

    Publicar un comentario