Cómo instalar Ruby on Rails en Debian 12

Ruby on Rails o RoR es un marco de aplicaciones web gratuito y de código abierto escrito en Ruby y publicado bajo la licencia MIT. Rails es un framework web de pila completa para crear fácilmente aplicaciones de nivel empresarial. Rails incluye diferentes herramientas que permiten a los desarrolladores crear fácilmente aplicaciones tanto frontend como backend. Ruby on Rails también tiene funciones de seguridad integradas, como protección contra ataques comunes como inyección SQL, XSS y CSRF.

Ruby on Rails proporciona una estructura predeterminada para la base de datos, la representación de plantillas HTML, un servicio web y una página web. Sigue la arquitectura modelo-vista-controlador (MVC) y también utiliza filosofías de diseño bien conocidas, como No te repitas (DRY), Convención sobre Configuración (CoC) y el patrón de registros activos. Ruby on Rails fue diseñado para ser rápido y fácil de usar y aprender, Algunos sitios notables desarrollados con Rails como Twitch, Airbnb, Github, Soundcloud, etc.

En esta guía, te guiaremos a través de la instalación de Ruby on Rails en el servidor Debian 12. Instalarás Ruby on Rails con un servidor de base de datos PostgreSQL y el gestor de versiones de Ruby Rbenv. También crearás un andamio, la estructura básica del proyecto Rails.

Requisitos previos

Antes de empezar, confirma que tienes

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador sudo.

Instalación de dependencias

En el primer paso, instalarás algunas dependencias básicas en tu servidor Debian. Esto incluye el servidor de base de datos PostgreSQL que se utilizará como base de datos para tu proyecto Rails, el node.js y el gestor de paquetes Yarn que utilizará Rails para compilar activos estáticos.

Para empezar, actualiza y refresca tu índice de paquetes ejecutando el siguiente comando apt update.

sudo apt update

A continuación, instala las dependencias mediante el siguiente comando apt install. Esto incluye el servidor de bases de datos PostgreSQL, el controlador libpq, Node.js, Yarn, Git y algunas bibliotecas y herramientas del sistema.

sudo apt install 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 software-properties-common libffi-dev

Escribe y para confirmar y proceder con la instalación.

instalar dependencias

Una vez instaladas las dependencias, comprueba el estado del servidor PostgreSQL utilizando el siguiente comando. Esto asegurará que PostgreSQL se está ejecutando y está habilitado en tu máquina Debian.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Si PostgreSQL está habilitado, deberías obtener la salida habilitado. Si PostgreSQL está en ejecución, deberías obtener la salida activo(en ejecución) o activo(salido).

comprobar postgresql

Por último, comprueba el gestor de paquetes Node.js y Yarn ejecutando el siguiente comando.

node --version
yarnpkg --version

En este ejemplo, Node.js 18 y Yarn 1.22 están instalados.

comprobación de nodejs y yarn

Instalar Rbenv

Tras instalar las dependencias de los paquetes, el siguiente paso es instalar Rbenv, el gestor de versiones de Ruby para sistemas operativos tipo Unix. Con Rbenv, puedes gestionar fácilmente tu entorno de aplicaciones Ruby, también puedes instalar varias versiones de Ruby en tu sistema.

Accede a tu Usuario utilizando el siguiente comando.

su - user

Descarga el código fuente de rbenv y el plugin ruby-build mediante el siguiente comando git.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Ahora ejecuta el siguiente comando para añadir un PATH personalizado a tu shell.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

Recarga tu configuración ~/.bashrc para aplicar los cambios. Tras ejecutar el comando, tu instalación de rbenv debería activarse.

source ~/.bashrc

Verifica rbenv ejecutando el siguiente comando rbenv. Si la instalación de rbenv se ha realizado correctamente, deberías ver los comandos/opciones de rbenv disponibles.

rbenv commands

instalar rbenv

Instalar Ruby mediante Rbenv

Con Rbenv instalado, ya puedes instalar Ruby en tu sistema. Con Rbenv, instalarás Ruby sólo en tu entorno actual, lo que no afecta a todo el sistema. Instalarás Ruby 3.2.2 en tu entorno de usuario actual.

Ejecuta el siguiente comando rbenv install para instalar Ruby 3.2.2 en tu sistema.

rbenv install 3.2.2

Durante la instalación, deberías ver esto

instalar ruby mediante rbenv

Una vez instalado Ruby, ejecuta el siguiente comando para establecer la versión de Ruby por defecto en 3.2.2.

rbenv global 3.2.2

Por último, verifica la versión de Ruby en tu sistema utilizando el comando siguiente.

ruby -v

Si todo va bien, deberías ver que Ruby 3.2.2 está instalado.

configurar y verificar ruby

Instalación de Ruby on Rails

Llegados a este punto, tu sistema está configurado y listo para instalar Ruby on Rails en tu máquina Debian. En este ejemplo, instalarás Ruby on Rails 7.0, y comprobarás la lista de versiones disponibles de Rails en el sitio oficial.

Ejecuta los siguientes comandos gem para instalar el bundler y, a continuación, instala Ruby on Rails 7.0.7.2.

gem install bundler
gem install rails -v 7.0.7.2

Durante la instalación, deberías ver una salida como la siguiente:

instalar bundler

instalar rails 7.0

Ahora ejecuta el comando rebenv que aparece a continuación para rehacer y recargar tu entorno actual.

rbenv rehash

Por último, ejecuta el siguiente comando rails para asegurarte de que Ruby on Rails está instalado.

rails version
rails -h

Si la instalación se ha realizado correctamente, deberías ver tu versión actual de Rails y la página de ayuda del comando rails.

comprobación de carriles

Creación del primer proyecto Rails

En esta sección aprenderás a crear tu primer proyecto con Ruby on Rails. Utilizarás PostgreSQL como base de datos por defecto para tu proyecto Rails. Para ello deberás completar lo siguiente:

  • Preparar el usuario PostgreSQL para la aplicación.
  • Crear el primer proyecto Rails.

Preparar el usuario de la base de datos

En primer lugar, debes crear un nuevo usuario PostgreSQL que se utilizará para tu aplicación Rails. Este usuario debe tener privilegios para crear bases de datos y usuarios.

Vuelve a tu cuenta de usuario e inicia sesión en el servidor PostgreSQL utilizando el siguiente comando.

sudo su
sudo -u postgres psql

Ahora crea un nuevo usuario bob con la contraseña p4sswordbob. A continuación, asigna al usuario bob nuevos privilegios para crear una base de datos y roles.

CREATE USER bob WITH PASSWORD 'p4sswordbob';
ALTER USER bob CREATEDB CREATEROLE;

crear rol postgresql

Comprueba la lista de usuarios y privilegios en tu servidor PostgreSQL utilizando el comando siguiente.

\du

Deberías ver al usuario bob con privilegios CREATEDB y CREATEROLE.

listar usuarios

Escribe \q para cerrar la sesión en el servidor PostgreSQL.

Por último, entra con tu usuario y ejecuta el siguiente comando psql para conectarte al servidor PostgreSQL como el nuevo usuario bob.

su - user
psql -U bob -h 127.0.0.1 -d postgres

Una vez conectado al servidor PostgreSQL, ejecuta la siguiente consulta para verificar la información de tu conexión.

\conninfo

Deberías ver que te has conectado al servidor PostgreSQL como usuario bob.

comprueba las conexiones

Escribe \q para salir del servidor PostgreSQL.

Creación del proyecto Rails

Tras crear un usuario PostgreSQL, ya puedes empezar a crear un nuevo proyecto Rails mediante la utilidad de línea de comandos rails.

Para crear un nuevo proyecto rails, ejecuta el siguiente comando rails. En este ejemplo, crearás un nuevo proyecto testapp con la base de datos PostgreSQL por defecto.

rails new testapp -d postgresql

La salida del comando debería tener este aspecto:

crear proyecto rails

Una vez creado el proyecto, también se creará el nuevo directorio ~/testapp. Entra en el directorio ~/testapp y abre la configuración de la base de datos config/database.yml con tu editor de texto preferido.

cd testapp/
nano config/database.yml

Cambia la configuración predeterminada de la base de datos para desarrollo, prueba y producción. Asegúrate de introducir tu nombre de usuario y contraseña de PostgreSQL.

development:
  <<: *default
  database: testapp_development

# The specified database role is being used to connect to postgres.
# To create additional roles in postgres see `$ createuser –help`.
# When left blank, postgres will use the default role. This is
# the same name as the operating system user running Rails.
username: bob

# The password associated with the postgres role (username).
password: p4sswordbob

# Connect on a TCP socket. Omitted by default since the client uses a
# domain socket that doesn’t need configuration. Windows does not have
# domain sockets, so uncomment these lines.
host: localhost

# The TCP port the server listens on. Defaults to 5432.
# If your server runs on a different port number, change accordingly.
port: 5432

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando rails para migrar la base de datos. Esto creará automáticamente una nueva base de datos para tu proyecto testapp.

rails db:setup
rails db:migrate

A continuación deberías ver la salida durante la migración de la base de datos del proyecto testapp.

migrar la base de datos

Una vez migrada la base de datos, ejecuta el siguiente comando rails para ejecutar el proyecto testapp. Esto ejecutará testapp dentro de tu dirección IP en el puerto 3000.

rails server -b 192.168.10.15

En la siguiente salida, deberías ver que testapp se está ejecutando.

carriles de rodadura

Ahora inicia tu navegador web favorito y visita la dirección IP de tu servidor seguida del puerto 3000, por ejemplo http://192.168.10.15:3000/. Si la instalación se ha realizado correctamente, deberías ver la página index.html por defecto de Ruby on Rails.

índice de carriles

Pulsa Ctrl+c para terminar tu aplicación Rails.

Andamiaje Rails para el kit de inicio

Un andamio es una forma automática de generar la estructura básica de un proyecto Rails, que incluye un controlador, un modelo y una vista.

Ejecuta el siguiente comando rails para crear el andamiaje libros con tres campos título, autor y año_publicación.

rails g scaffold books title:string author:string publication_year:integer

generar andamiaje

Ahora migra la base de datos para aplicar los cambios utilizando el siguiente comando rails.

rails db:migrate

migrar la base de datos

A continuación, ejecuta tu proyecto Rails ejecutando el comando rails server que aparece a continuación.

rails server -b 192.168.10.15

ejecuta el proyecto raikls

Una vez que testapp se esté ejecutando, comprueba el andamiaje de libros a través de la ruta URL /libros, como http://192.168.10.15:3000/books. Si todo va bien, deberías ver el andamio generado como el siguiente:

rieles de andamio

Ahora puedes insertar nuevos datos en el andamio books como el siguiente:

datos de entrada de andamiaje

Conclusión

En conclusión, has completado la instalación de Ruby on Rails con el servidor de bases de datos PostgreSQL y Rbenv en el servidor Debian 12. También has aprendido a generar andamiajes para estructuras básicas del proyecto Rails.

También te podría gustar...