Cómo instalar Ruby on Rails en Ubuntu 18.04 LTS
Ruby on Rails (RoR) es un marco de aplicación web de código abierto, publicado bajo la licencia MIT. Es un marco de aplicación web del lado del servidor que sigue el concepto MVC (Modelo-Vista-Controlador).
Rails proporciona estructuras por defecto para la base de datos, el servicio web y las páginas web. Más de 3000 desarrolladores han contribuido con código al framework Rails y hay muchas aplicaciones conocidas basadas en Rails, como Github, Airbnb, Soundcloud, etc.
En este tutorial, te mostraré los pasos para instalar Ruby on Rails en Ubuntu 18.04 LTS. Te mostraremos cómo instalar y configurar Rails con una base de datos PostgreSQL, y cómo crear un nuevo primer proyecto con Rails.
Requisitos previos
- Ubuntu 18.04 LTS
- Privilegios de root
¿Qué vamos a hacer?
- Instalar RVM (Ruby Version Manager)
- Instalar Ruby
- Instalar Nodejs
- Configurar Ruby Gem
- Instalar Ruby on Rails
- Configurar la base de datos PostgreSQL para el desarrollo de Rails
- Crea tu primera aplicación con Rails y PostgreSQL
Paso 1 – Instalar RVM (Ruby Version Manager)
RVM (Ruby Version Manager) es una herramienta de línea de comandos basada en Bash y Ruby para gestionar la instalación de Ruby. RVM te permite instalar y configurar varias versiones de ruby en un mismo sistema.
El primer paso que vamos a hacer es instalar los paquetes rvm utilizando el script instalador.
Añade la clave rvm al servidor.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \
7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Instala la versión estable de rvm ejecutando el siguiente comando.
curl -sSL https://get.rvm.io | bash -s stable --ruby
El comando instalará automáticamente los paquetes necesarios, e instalará la última versión estable de rvm.
Una vez completada la instalación, ejecuta el siguiente comando.
source /usr/local/rvm/scripts/rvm
Ahora puedes utilizar el comando rvm para gestionar la versión de ruby.
rvm version
Paso 2 – Instalar la última versión de ruby
La última versión de ruby en este momento es Ruby 2.5.1, y se instalará automáticamente durante la instalación de rvm, cuando no haya ningún paquete ruby en el sistema.
En este paso, configuraremos la versión de ruby por defecto en el sistema Ubuntu.
Actualiza el rvm a la última versión estable.
rvm get stable --autolibs=enable
usermod -a -G rvm root
Ahora comprueba todas las versiones de ruby disponibles.
rvm list known
Y obtendrás un montón de versiones disponibles de ruby – instala la última versión estable Ruby 2.5.1 utilizando el comando rvm como se muestra a continuación.
rvm install ruby-2.5.1
Una vez completada la instalación, haz que ruby 2.5.1 sea la versión por defecto en el sistema Ubuntu.
rvm --default use ruby-2.5.1
Comprueba la versión de Ruby.
ruby -v
Ahora verás que ruby 2.5.1 es la versión de ruby por defecto en el sistema Ubuntu 18.04.
Paso 3 – Instalar Nodejs
Ruby on Rails requiere un tiempo de ejecución de JavaScript para compilar la cadena de activos de Rails. Y para el desarrollo de Rails en Ubuntu Linux, lo mejor es instalar y utilizar Nodejs como tiempo de ejecución de Javascript.
Añade el repositorio nodejs nodesource al sistema.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Instala la última versión nodejs 10 y algunos paquetes adicionales utilizando el comando apt que aparece a continuación.
sudo apt install -y nodejs
sudo apt install gcc g++ make
El nodejs 10 ha sido instalado en el sistema Ubuntu 18.04.
Paso 4 – Configurar Ruby Gem
RubyGems es un gestor de paquetes de Ruby, que viene con la herramienta de línea de comandos gem. Se instala automáticamente cuando instalamos Ruby en el sistema.
Actualiza gem a la última versión y compruébalo.
gem update --system
gem -v
Nota:
Esto es opcional, podemos desactivar que gem instale la documentación en cada instalación de paquetes de ruby. Simplemente añadiendo la configuración al archivo de configuración ‘.gemrc’.
echo "gem: --no-document" >> ~/.gemrc
Paso 5 – Instalar Ruby on Rails
En este tutorial, utilizaremos la última versión estable de Ruby on Rails 5.2.0. Instalaremos Rails utilizando el gestor de paquetes gem ruby.
Instala Ruby on Rails 5.2.0 utilizando el siguiente comando.
gem install rails -v 5.2.0
Una vez completada la instalación, comprueba la versión de rails.
rails -v
Y el resultado debería ser el siguiente
Ruby on Rails 5.2.0 ha sido instalado en Ubuntu 18.04 LTS.
Paso 6 – Configurar la base de datos PostgreSQL para el desarrollo de Rails
Por defecto, Ruby on Rails utiliza la base de datos SQLite. Soporta muchos sistemas de bases de datos, incluyendo MySQL, SQLite y PostgreSQL. Y para esta guía, utilizaremos PostgreSQL.
Instala la base de datos PostgreSQL utilizando el comando apt que aparece a continuación.
sudo apt install postgresql postgresql-contrib libpq-dev -y
Una vez completada la instalación, inicia el servicio Postgres y habilítalo para que se inicie siempre al arrancar el sistema.
systemctl start postgresql
systemctl enable postgresql
A continuación, configuraremos una contraseña para el usuario Postgres, y crearemos un nuevo usuario para la instalación de Rails.
Accede al usuario ‘postgres’ y ejecuta el shell de Postgres.
su - postgres
psql
Cambia la contraseña de Postgres utilizando la consulta que aparece a continuación.
\password postgres
Escribe tu contraseña y la contraseña del usuario postgres se habrá añadido.
Ahora crearemos un nuevo rol para nuestra instalación de rails. Crearemos un nuevo rol llamado ‘rails_dev’ con el privilegio de crear la base de datos y con la contraseña ‘aqwe123’.
Ejecuta la consulta Postgres que aparece a continuación.
create role rails_dev with createdb login password 'aqwe123';
Ahora comprueba todos los roles disponibles en el sistema.
\du
Y obtendrás el rol ‘rails_dev’ en la lista.
La instalación y configuración de PostgreSQL para Rails Development se ha completado.
Paso 7 – Crea tu primera aplicación con Rails y PostgreSQL
Ruby on Rails proporciona una línea de comandos ‘rails’ para arrancar nuestra primera aplicación rails.
Crea un nuevo proyecto ‘myapp’ con la base de datos por defecto ‘PostgreSQL’ ejecutando el siguiente comando rails.
rails new myapp -d postgresql
Ahora verás el directorio ‘myapp’, ve a ese directorio y edita el archivo de configuración de la base de datos ‘database.yml’ utilizando el editor vim .
cd myapp/
vim config/database.yml
Hay diferentes secciones de configuración para cada configuración: Desarrollo, Pruebas y Producción.
En la sección de desarrollo, descomenta esas líneas y cambia el valor como se indica a continuación.
username: rails_dev password: aqwe123 host: localhost port 5423
Para la sección de pruebas, pega esas configuraciones en la sección de pruebas.
host: localhost port: 5432 username: rails_dev password: aqwe123
Guarda y sal.
Ahora genera la base de datos y asegúrate de que no hay ningún error.
rails db:setup
rails db:migrate
Cuando toda la configuración se haya completado, inicia el servidor web puma rails por defecto utilizando el siguiente comando.
rails s -b 192.168.1.10 -p 8080
El primer proyecto rails se ejecutará en la dirección IP ‘192.168.1.10’ con el puerto 8080.
Abre tu navegador web y escribe la dirección IP del servidor en la barra de direcciones.
Obtendrás la página de inicio del proyecto rails por defecto, como se muestra a continuación.
A continuación, vamos a probar a crear un CRUD sencillo con la base de datos PostgreSQL en rails.
Ejecuta el comando rails que aparece a continuación.
rails g scaffold Post title:string body:text
rake db:migrate
Ejecuta de nuevo el servidor web puma.
rails s -b 192.168.1.10 -p 8080
Y abre el navegador web con la siguiente URL.
http://192.168.1.10:8080/posts/
Ahora obtendrás el formulario CRUD simple.
Y el siguiente es mi resultado después de crear un post sencillo.
La instalación de Ruby on Rails con la base de datos PostgreSQL en Ubuntu 18.04 LTS se ha completado con éxito.