Cómo instalar Ruby on Rails en Ubuntu 24.04

Ruby on Rails o RoR o Rails es un marco de aplicaciones web Ruby con arquitectura MVC (Modelo-Vista-Controlador), así como filosofías de diseño como No te repitas (DRY), Convención sobre Configuración (CoC) y patrón de registros activos. Es un marco web completo para crear aplicaciones web de nivel empresarial.

En este tutorial, te guiaremos a través del proceso de instalación de Ruby on Rails en Ubuntu 24.04, la creación del primer proyecto Rails, la configuración de PostgreSQL como base de datos para tu proyecto Rails y la generación de un andamiaje con el comando ‘rails’.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador sudo.

Instalación de dependencias

Para instalar Ruby on Rails en tu sistema Ubuntu, debes instalar dependencias como Ruby, Node.js, PostgreSQL (opcional para la base de datos), Git y paquetes de desarrollo adicionales. Esos paquetes están disponibles en el repositorio por defecto de Ubuntu, y puedes instalarlos utilizando APT.

Para empezar, actualiza tu repositorio de Ubuntu con el siguiente comando:

sudo apt update

actualizar repo

Ahora instala las dependencias para Ruby on Rails con el siguiente comando. Con esto, instalarás Ruby, PostgreSQL, Node.js, git y algunos paquetes para desarrolladores.

sudo apt install ruby ruby-dev postgresql libpq-dev nodejs yarnpkg git zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev libffi-dev

Introduce Y para proceder a la instalación.

instalar dependencias

Una vez completada la instalación, comprueba la versión de Ruby y Node.js con lo siguiente:

ruby -v
node -v

Puedes ver a continuación que Ruby 3.2 y Node.js 18.19 están instalados.

A continuación, ejecuta el siguiente comando para configurar Yarn como gestor de paquetes de Node.js con el siguiente comando. Esto creará un nuevo comando‘yarn‘ y verás la versión de Yarn.

sudo ln -s /usr/bin/yarnpkg /usr/bin/yarn
yarnpkg -v

comprobar versiones

Por último, comprueba el estado del servicio PostgreSQL con lo siguiente:

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

El servidor PostgreSQL se iniciará al arrancar, y el estado de PostgreSQL con‘active (exited)‘.

Crear usuario PostgreSQL

Una vez instaladas las dependencias, crearás un nuevo usuario PostgreSQL para tu proyecto Rails. Este usuario debe poder iniciar sesión y crear una nueva base de datos en PostgreSQL.

Inicia sesión en el servidor PostgreSQL con el siguiente comando.

sudo -u postgres psql

Ejecuta las siguientes consultas para crear un nuevo usuario PostgreSQL‘appuser‘ con la contraseña‘AppuserPassword‘. Este usuario podrá crear una base de datos y un rol en PostgreSQL.

CREATE USER appuser WITH PASSWORD 'AppuserPassword';
ALTER USER appuser CREATEDB CREATEROLE;

Ahora escribe quit o pulsa Ctrl+d para salir del PostgreSQL.

crear usuario postgresql

A continuación, ejecuta el siguiente comando para iniciar sesión en PostgreSQL con el usuario‘appuser‘. Introduce tu contraseña cuando se te solicite.

su - postgres
psql -U appuser -h 127.0.0.1 -d postgres

Después de iniciar sesión, comprueba el estado de la conexión PostgreSQL con lo siguiente:

\conninfo

A continuación puedes ver que el nuevo usuario ‘appuser‘ puede conectarse al servidor PostgreSQL con la contraseña de autenticación a través de localhost o 127.0.0.1.

acceder a postgresql

Instalación de Ruby on Rails

En esta sección, instalarás la última versión de Ruby on Rails en el entorno específico del usuario. Así que necesitas configurar el directorio GEM_HOME por defecto bajo tu usuario.

En primer lugar, inicia sesión en tu usuario con el siguiente comando:

su - user

Crea un nuevo directorio ~/.gem y añade la variable de entorno GEM_HOME a través del archivo ~/.bashrc. Con esto, todas las gemas Ruby se instalarán en el directorio ~/. gem.

mkdir -p ~/.gem
echo 'export GEM_HOME=$HOME/.gem' >> $HOME/.bashrc

Ahora ejecuta el siguiente comando para recargar tu shell actual y comprueba la variable de entorno GEM_HOME. Verás que GEM_HOME apunta al directorio ~/. gem.

source ~/.bashrc
echo $GEM_HOME

configuración de gemas

A continuación, ejecuta el siguiente comando gem para instalar el bundler en tu sistema.

gem install bundler

instalar bundler

Después, instala Ruby on Rails con el siguiente comando gem. Puedes instalar la última versión de Ruby on Rails o elegir la versión específica utilizando la opción -v.

gem install rails
gem install rails -v 7.1.0

instalar rieles

Cuando termine la instalación, comprueba la versión de Ruby on Rails con el siguiente comando:

rails --version
rails --help

Como se muestra a continuación, se ha instalado la última versión de Ruby on Rails 7.1.3, y también puedes ver el uso básico del comando«rails«.

comprobar versión rails

Crear un proyecto con Ruby on Rails y PostgreSQL

Ahora que ya has instalado Ruby on Rails. En esta sección, crearás tu primer proyecto Rails con PostgreSQL como base de datos por defecto.

Ejecuta el siguiente comando ‘rails’ para crear un nuevo proyecto Rails. En este ejemplo, crearás un nuevo proyecto testapp con la base de datos predeterminada PostgreSQL.

rails new testapp -d postgresql

Puedes ver a continuación que se genera la aplicación Rails, incluyendo el git inicializado.

crear app rails

Ahora dirígete al directorio ~/testapp y edita el archivo‘config/database.yml‘ de configuración de la base de datos.

cd ~/testapp/
nano config/database.yml

Cambia los detalles de la base de datos para los entornos de desarrollo, pruebas y producción como se indica a continuación. La base de datos para cada entorno se creará automáticamente durante la migración.

development:
 <<: *default
 database: testapp_development
 username: appuser
 password: AppuserPassword
 host: localhost
 port: 5432
test:
<<: *default
database: testapp_test
username: appuser
password: AppuserPassword
host: localhost
port: 5432

production:
<<: *default
database: testapp_production
username: appuser
password: <%= ENV["TESTAPP_DATABASE_PASSWORD"] %>

Cuando hayas terminado, guarda el archivo y sal.

A continuación, ejecuta el siguiente comando‘rails‘ para configurar y migrar la base de datos.

rails db:setup
rails db:migrate

migrar base de datos

Una vez completada la migración de la base de datos, ejecuta tu proyecto Rails con lo siguiente:

rails server -b 0.0.0.0

A continuación puedes ver que tu proyecto Rails se ejecuta en el puerto por defecto 3000.

carriles de rodadura

Visita la dirección IP de tu servidor http://192.168.5.30:3000/ utilizando tu navegador web. si tu instalación de Rails se ha realizado correctamente, deberías obtener el siguiente índice Rails por defecto:

índice ror

Generación con andamiaje

Ruby on Rails ofrece a los principiantes una forma sencilla de crear su aplicación. Puedes utilizar un andamio para generar la estructura básica de un proyecto Rails, que incluye un controlador, un modelo y una vista.

Ejecuta el siguiente comando para generar un andamio para una aplicación sencilla‘site‘ con dos entradas de usuario‘name‘ y‘url‘.

rails g scaffold site name:string url:string

A continuación se muestran el modelo, el controlador y la vista de tu aplicación generados por Rails.

andamio ror

Una vez generado el andamio, ejecuta el siguiente comando para migrar tu base de datos Rails.

rails db:migrate

A continuación puedes ver que la base de datos para Rails ha sido migrada.

migrar base de datos

Ahora ejecuta tu proyecto Rails con el siguiente comando.

rails server -b 0.0.0.0

Por último, visita la dirección IP de tu servidor http://192.168.5.30:3000/sites para acceder a la aplicación«site«. Puedes enviar un nuevo nombre de datos y url. A continuación, puedes ver un ejemplo después de enviar los nuevos datos.

andamio de obra

Conclusión

¡Enhorabuena! Has terminado la instalación de Ruby on Rails en Ubuntu 24.04. Has creado un proyecto Rails con PostgreSQL como base de datos. Por último, también has aprendido a generar aplicaciones básicas en Rails utilizando la función scaffold.

También te podría gustar...