manual ruby ubuntu server

7
2013 La Creativería César Brenes Solano [CONFIGURACIÓN DE UBUNTU SERVER PARA RUBY] En este documento se describen los pasos necesarios para crear un servidor para almacenar las aplicaciones que se desarrollen con ruby on rails

Upload: cesar-brenes

Post on 01-Dec-2015

53 views

Category:

Documents


0 download

DESCRIPTION

Manual Ruby Ubuntu Server

TRANSCRIPT

Page 1: Manual Ruby Ubuntu Server

! ! !

2013La Creativería

César Brenes Solano

[CONFIGURACIÓN DE UBUNTU SERVER PARA RUBY]En este documento se describen los pasos necesarios para crear un servidor para almacenar las aplicaciones que se desarrollen con ruby on rails

Page 2: Manual Ruby Ubuntu Server

Instalación y configuración de un VPS (Servidor privado virtual) para Ruby on Rails

Requerimientos:

Memoria Ram: 1gbDisco duro: 80 GBProcesador: CPU: Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz

Este manual ha sido probado en Ubuntu Server 12.04 de 64 bits

Instalación de Ubuntu Server

Ejecutar la instalación del servidorHostname=rubyServerNombre del nuevo usuario: rubyuserNombre de usuario para la cuenta: rubyuserContraseña: lacreativeriaEncriptar su directorio home: siHTTP proxi information: en blancoActualizaciones del sistema: Instalaciones automáticasEn los servicios solo escoger OpenSSH server y continuarInstall the grub boot loader on a hard disk: yes

Con esto ya tenemos el servidor instalado listo para configurarlo

Lo primero que debemos hacer es actualizar el sistema para eso ejecutamos los siguientes comandos:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get dist-upgrade

$ sudo reboot

Luego creamos un usuario el cual será el encargado de las aplicacionesuseradd rubyapps

Page 3: Manual Ruby Ubuntu Server

Después a este usuario le asignamos el grupo de sudo, esto lo logramos con el siguiente

comando:sudo adduser rubyapps sudo

De ahora en adelante, todo lo realizaremos con este usuario por lo tanto cerramos la sesión

del usuario actual e iniciamos sesión con el usuario creado

Instalación de Curl y Git

Curl es una herramienta para transferir datos a través de una serie de protocolos (como

HTTP y FTP). Y Git es software libre diseñado para el manejo de versiones.

Ejecutamos el siguiente comando:$ sudo apt-get install curl

$ sudo apt-get install git-core

Instalación de RVM

RVM significa Ruby Version Manager y es "una herramienta de línea de comandos que

permite instalar fácilmente, gestionar y trabajar con múltiples entornos de Rubí.

Ejecutamos:

$ \curl -L https://get.rvm.io | bash

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

Ahora ejecutamos lo siguiente: sudo nano .bashrc

Y añadimos la siguiente linea al final del archivo:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

Ahora ejecutamos este comando:

source .bashrc

Page 4: Manual Ruby Ubuntu Server

Para comprobar que lo anterior se instaló correctamente ejecutamos lo siguiente:

type rvm | head -1

El comando anterior debe retornar: rvm is a function, de ser así la instalación anterior fue exitosa.

Preparando el Server para Ruby on Rails

Ejecutamos los siguientes comandos, algunos ya pueden estar instalados en el servidor

sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev

curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-

dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev

Instalando Ruby on Rails usando RVM

Ejecutamos$ rvm install 1.9.3

$ rvm --default use 1.9.3

Con el siguiente comando verificamos las versiones instaladas:$ ruby -v

$ gem -v

Actualizamos las gemas manualmente con los siguientes comandos$ gem update --system

$ gem update

Instalando Rails usando las gemas de ruby

Ejecutamos:$ gem install rails

Verificamos la versión instalada con:$ rails -v

Instalar Passenger usando las gemas de rubyEs el encargado de hacer deployment de las aplicaciones web de ruby on rails

Page 5: Manual Ruby Ubuntu Server

Ejecutamos lo siguiente:$ gem install passenger

Y con el siguiente verificamos la versión instalada$ passenger -v

Instalar NginxNginx nos provee de un webserver ligero y con más performance que Apache, no solo para despachar contenido estático, sino también dinámico ya que no lo usamos como proxy, sino como webserver individual.Para mayor información sobre otras configuraciones, favor visitar http://www.linux-magazine.es/issue/55/026-030_NginxLM55.pdf

Primero necesitamos instalar la siguiente dependencia:

sudo apt-get install libcurl4-openssl-dev

Ahora procedemos a realizar la configuración del mismo con el siguiente comando:rvmsudo passenger-install-nginx-module

Lo cual mostrara lo siguiente:

Ahora presionamos enter

Continuamos y se nos muestra la siguiente pantalla:

Page 6: Manual Ruby Ubuntu Server

Presionamos 1 y la tecla enter

Cuando pregunta la ubicación de la instalación introducimos: /opt/nginx y presionamos la

tecla enter

Al final de la instalación veremos la siguiente pantalla:

Ahora iniciamos el servicio con el siguiente comando:sudo /opt/nginx/sbin/nginx

Page 7: Manual Ruby Ubuntu Server

Ahora es necesario ejecutar un script para que este servicio se ejecute siempre, es decir si el

server se reinicia o se apaga de manera inesperada, cuando vuelva a iniciar el server se

cargue de nuevo.

Ejecutamos el siguiente comando:

$ wget https://www.dropbox.com/s/7kd8skaq5h9fruj/nginx

Si el comando anterior no funcionara también se encuentra disponible este otro link: http://

media.smashingmagazine.com/wp-content/uploads/2011/06/nginx.zip

el cual después debe ser descomprimido.

Lo anterior descarga un script$ sudo mv nginx /etc/init.d/nginx

$ sudo chmod +x /etc/init.d/nginx

$ sudo /usr/sbin/update-rc.d -f nginx defaults

Ahora se pueden usar los siguientes comandos para realizar diferentes acciones sobre este

servicio$ sudo /etc/init.d/nginx start

$ sudo /etc/init.d/nginx stop

$ sudo /etc/init.d/nginx reload

$ sudo /etc/init.d/nginx restart

Finalmente debemos ejecutar estos comandos para evitar posibles errores a la hora de

realizar el deployment de la aplicación desde el cliente

sudo-apt-get install nodejs

rvm get 1.11.0

gem install sdoc