Cómo instalar Ruby on Rails con PostgreSQL en Rocky Linux 8.4

Ruby on Rails o RoR o Rails es un framework de aplicaciones web gratuito y de código abierto escrito en Ruby con la licencia MIT. Es un marco web completo que utiliza el patrón modelo-vista-controlador (MVC).

El marco web Rails proporciona estructuras para una base de datos, un servicio web y páginas web. Además, Rails incluye algunas herramientas importantes como scaffolding, Puma, Gems, etc.

Requisitos previos

En este tutorial, aprenderás a instalar Ruby on Rails con la base de datos PostgreSQL en el sistema Rocky Linux.

Antes de empezar esta guía, asegúrate de que tienes los siguientes requisitos:

Para este ejemplo, vamos a utilizar la siguiente máquina:

  • Sistema operativo: Rocky Linux 8.4 (Green Obisidian)
  • Dirección IP: 192.168.1.10

Antes de empezar esta guía, completa la siguiente instalación de PostgreSQL en tu sistema.

Cómo instalar PostgreSQL en Rocky Linux

Si estás preparado, vamos a empezar la instalación de Rails.

Instala RVM (Ruby Version Manager)

Ruby Version Manager o RVM es una herramienta de línea de comandos para gestionar Ruby en el sistema Linux. El uso de RVM te permite instalar varias versiones de Ruby en un mismo sistema operativo.

En primer lugar, instalarás el RVM en el sistema Linux de Rocky, y con él instalarás la versión específica de Ruby.

1. Importa las claves GPG de los desarrolladores de RVM a tu sistema utilizando el siguiente comando.

curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

2. Instala el RVM utilizando el siguiente comando.

curl -L get.rvm.io | bash -s stable

Una vez completada la instalación del RVM, carga el perfil del RVM en tu shell.

source /etc/profile.d/rvm.sh

3. A continuación, recarga el RVM e instala todos los paquetes depencneis para RVM ejecutando el siguiente comando.

rvm reload
rvm requirements run

Estarás listo para instalar Ruby con el comando‘rvm‘ cuando se complete la instalación de todas las dependencias de los paquetes.

dependencias de la instalación de rvm

4. Ejecuta el comando ‘rvm’ que aparece a continuación para comprobar la versión disponible de Ruby en el repositorio RVM.

rvm list known

Instalar Ruby con RVM

La versión actual de Rails requiere Ruby 2.5 o posterior. En este paso, instalarás Ruby 3.0 utilizando la herramienta RVM.

1. Ejecuta el comando‘rvm‘ que aparece a continuación para instalar la última versión de Ruby.

rvm install ruby

La instalación tardará algún tiempo, dependiendo de tu conexión y sistema.

rvm install ruby

2. Una vez finalizada la instalación de Ruby, verifícala con el siguiente comando.

Comprueba el Ruby instalado en la máquina local utilizando el comando ‘rvm’.

rvm list

Comprueba la versión de Ruby utilizando el siguiente comando.

ruby --version

Verás la salida‘ruby 3.0.0‘ como se indica a continuación.

rvm list ruby instalado

Instalación de Node.js y Yarn en Rocky Linux

El marco web Rails utiliza HTML, CSS y JavaScript para la interfaz de usuario. Rails requiere los paquetes Node.js y yarn para gestionar las aplicaciones JavaScript.

En este paso, instalarás Node.js desde el repositorio oficial de Rocky Linux e instalarás Yarn utilizando el gestor de paquetes de Node (NPM).

1. Antes de instalar el paquete Node.js, ejecuta el siguiente comando para habilitar el repositorio Node.js v14.

sudo dnf module enable nodejs:14

Escribe ‘y’ y pulsa‘Enter‘ para confirmar.

Activar el módulo nodejs

2. Ahora instala el Node.js y el npm utilizando el comando DNF que aparece a continuación.

sudo dnf install nodejs npm -y

3. Una vez completada la instalación, ejecuta el comando npm que aparece a continuación para instalar Yarn globalmente en todo el sistema.

npm install -g yarn

4. Verifica Node.js y Yarn utilizando el siguiente comando.

node --version
yarn --version

A continuación se muestra la salida similar que obtendrás.

# current nodejs version
v14.17.5

# current yarn version
1.22.17

Ahora estás listo para instalar Ruby on Rails en el sistema Rocky Linux.

Instalación de Ruby on Rails (RoR) en Rocky Linux

Para instalar Ruby on Rails, puedes utilizar la línea de comandos ‘gem’. El comando gem forma parte del paquete Ruby, disponible en el directorio‘/usr/local/bin‘.

1. Antes de utilizar el comando gem, añade el directorio ‘/usr/local/bin‘ a la variable de entorno‘$PATH’ en la configuración `~/.bashrc`.

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc

2. Ahora ejecuta el siguiente comando para recargar el entorno bash actual.

source ~/.bashrc

Y ya estás listo para ejecutar el comando‘gem‘.

2. Ejecuta el comando gem de abajo para instalar Ruby on Rails.

gem install rails

El comando gem de arriba instalará algunos paquetes RubyGems y la biblioteca Node.js para Rails.

3. Una vez que la instalación de Rails se haya completado, verifícala con el siguiente comando.

rails --version

Verás una salida similar a la de abajo. En este ejemplo, la versión actual de Rails es‘6.1.x‘.

Rails 6.1.4.1

Configurar el usuario de PostgreSQL

Asegúrate de que has completado la instalación del servidor PostgreSQL en el sistema Rocky Linux.

Ahora vas a instalar algunas dependencias de paquetes adicionales para el proyecto Rails y a crear un nuevo usuario PostgreSQL.

1. Ejecuta el comando DNF que aparece a continuación para instalar las dependencias adicionales de PostgreSQL.

sudo dnf install postgresql-devel libpq-devel -y

2. A continuación, inicia sesión en el shell de PostgreSQL utilizando el comando psql que aparece a continuación.

sudo -u postgres psql

3. Crea un nuevo usuario‘appuser‘ con el privilegio‘CREATEDB‘ y la contraseña‘userpassword‘ utilizando la siguiente consulta.

CREATE ROLE appuser WITH CREATEDB LOGIN PASSWORD 'userpassword';

4. Verifica los usuarios disponibles de PostgreSQL utilizando la siguiente consulta.

\du

Verás el usuario ‘appuser’ en la sección ‘Role name’ como se indica a continuación.

Crear un nuevo usuario PostgreSQL

Escribe‘\q’ y pulsa ‘Enter’ para salir del shell de PostgreSQL.

Ahora estás listo para crear un nuevo proyecto Rails con una base de datos PostgreSQL.

Crear un nuevo proyecto Rails con una base de datos PostgreSQL

En este paso, crearás un nuevo proyecto Rails con la base de datos PostgreSQL.

1. Crea un nuevo directorio ‘/var/www’, y luego cambia tu directorio de trabajo a él.

mkdir -p /var/www; cd /var/www

2. Crea un nuevo proyecto Rails‘appname‘ con la base de datos PostgreSQL por defecto utilizando el comando rails que aparece a continuación.

rails new appname --database=postgresql

El comando creará un nuevo directorio ‘appname‘.

3. Cambia tu directorio de trabajo a ‘appname’ y edita la configuración de la base de datos ‘config/database.yml’.

cd appname
nano config/database.yml

Cambia el nombre de usuario y la contraseña de la base de datos en la sección‘desarrollo‘,‘prueba‘ y‘producción‘.

development:
  <<: *default
  database: appname_development
  username: appuser
  password: userpassword
  host: localhost
  port: 5432

test:
  <<: *default
  database: appname_test
  user: appuser
  password: userpassword
  host: localhost
  port: 5432

production:
  <<: *default
  database: appname_production
  username: appuser
  password: userpassword
  host: localhost
  port: 5432

Guarda la configuración y sal.

4. A continuación, ejecuta el siguiente comando rails para migrar la base de datos PostgreSQL de tu proyecto.

rails db:setup
rails db:migrate

Migración de la base de datos de Rails

5. Ahora ejecuta el siguiente comando para ejecutar tu proyecto rails. Y asegúrate de cambiar la dirección IP por la de tu servidor.

rails server --binding=192.168.1.10

El proyecto Rails se ejecuta en el entorno‘Desarrollo‘ con el puerto‘3000‘.

Servidor de ejecución Rails

6. Abre tu navegador web y escribe la dirección IP del servidor con el puerto3000′ en la barra de direcciones.

http://192.168.1.10:3000/

Ahora verás la página de índice por defecto de Ruby on Rails como se muestra a continuación.

Página de inicio de Rails

Has creado con éxito un proyecto Rails con una base de datos PostgreSQL.

Conclusión

¡Enhorabuena! Has aprendido la instalación básica de Ruby on Rails con la base de datos PostgreSQL en el sistema Rocky Linux. También has aprendido la instalación básica y el uso básico del Gestor de Versiones de Ruby (RVM) para gestionar Ruby.

Para el siguiente paso, quizá te interese desplegar tu proyecto Rails con Passenger y el servidor web Nginx o Apache.

También te podría gustar...