Manual Ruby Ubuntu Server

Anuncio
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
Instalación y configuración de un VPS (Servidor privado virtual) para
Ruby on Rails
Requerimientos:
Memoria Ram: 1gb
Disco duro: 80 GB
Procesador: 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 servidor
Hostname=rubyServer
Nombre del nuevo usuario: rubyuser
Nombre de usuario para la cuenta: rubyuser
Contraseña: lacreativeria
Encriptar su directorio home: si
HTTP proxi information: en blanco
Actualizaciones del sistema: Instalaciones automáticas
En los servicios solo escoger OpenSSH server y continuar
Install 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 aplicaciones
useradd rubyapps
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
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 libsqlite3dev 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 ruby
Es el encargado de hacer deployment de las aplicaciones web de ruby on rails
Ejecutamos lo siguiente:
$ gem install passenger
Y con el siguiente verificamos la versión instalada
$ passenger -v
Instalar Nginx
Nginx 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.linuxmagazine.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:
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
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
Descargar