Cómo instalar Ruby on Rails con PostgreSQL en AlmaLinux 9

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 andamiaje, Puma, Gems, etc.

Esta guía te enseñará a instalar Ruby on Rails con base de datos PostgreSQL en una máquina AlmaLinux 9. Y al final de esta guía, tendrás configurado un entorno de desarrollo para tu proyecto Rails.

Requisitos previos

Para completar esta guía, asegúrate de que tienes lo siguiente:

  • Una máquina AlmaLinux 9 – Este ejemplo utilizará AlmaLinux 9 con nombre de host almalinux9 y dirección IP 192.168.10.15.
  • Un usuario no root con privilegios root/sudo.

Instalación de PostgreSQL

En primer lugar, instalarás el servidor PostgreSQL utilizado como base de datos para tu proyecto Rails. Puedes instalarlo a través del repositorio de AppStream, pero para esta guía lo instalarás oficialmente desde el repositorio de PostgreSQL.

Ejecuta el siguiente comando para descargar y añadir el repositorio PostgreSQL a tu sistema.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

añadir repositorio postgresql

Ahora, instala el servidor PostgreSQL utilizando el siguiente comando. Con esto, también instalarás la libpq5-devel, que es la biblioteca PostgreSQL que se utilizará para tu aplicación Rails.

sudo dnf install -y postgresql15-server postgresql15-contrib libpq5-devel

instalar postgresql

Después, ejecuta el siguiente comando para inicializar la configuración del servidor PostgreSQL.

sudo postgresql-15-setup initdb

A continuación, inicia y habilita el servicio PostgreSQL mediante el siguiente comando systemctl.

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

inicializar postgresql

Por último, verifica el servicio PostgreSQL utilizando el siguiente comando. Cuando se ejecute, deberías obtener un mensaje como«activo (salido)» o«activo (en ejecución)«.

sudo systemctl status postgresql-15

comprobar el servicio postgresql

Instalación de Ruby

Por defecto, el repositorio appstream de AlmaLinux proporciona Ruby 3.x que es adecuado para Ruby on Rails. En esta sección instalarás Ruby 3.0 mediante el gestor de paquetes DNF.

Ejecuta el siguiente comando para verificar la lista de versiones de Ruby disponibles en el repositorio appstream.

sudo dnf module list ruby

La siguiente salida confirma que el repositorio AlmaLinux también proporciona Ruby 3.1.

lista módulos ruby

Ahora, ejecuta el siguiente comando para instalar Ruby y los paquetes de desarrollo de Ruby. Introduce y para confirmar y pulsa ENTER para continuar.

sudo dnf install ruby ruby-devel

instalar ruby

Una vez instalado Ruby, compruébalo utilizando el siguiente comando. Deberías ver el Ruby v3. 0 instalado en tu sistema AlmaLinux.

ruby --version

comprobación de la versión de ruby

Instalar Node.js y el gestor de paquetes Yarn

Antes de instalar Rails, debes instalar el gestor de paquetes Node.js y Yarn. Ambos paquetes serán utilizados por Rails para compilar archivos estáticos en tu proyecto Rails.

Ejecuta el siguiente comando dnf para instalar los paquetes Node.js y NPM. Cuando se te pida, introduce y y pulsa ENTER para continuar.

sudo dnf install nodejs npm -y

instala node.js y npm

A continuación, ejecuta el siguiente comando npm para instalar el gestor de paquetes Yarn.

sudo npm install -g yarn

El gestor de paquetes Yarn debe estar disponible en el directorio /usr/local/bin. Por tanto, debes añadir el directorio /usr/local/bin a la variable de entorno PATH.

Ejecuta el siguiente comando para añadir el directorio /usr/local/bin a la variable de entorno PATH a través del archivo.bashrc y vuelve a cargarlo para aplicar los cambios.

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

Ahora, ejecuta el siguiente comando para localizar tanto Node.js como el gestor de paquetes Yarn. El archivo binario de Node.js se encuentra en /bin/node y el gestor de paquetes Yarn en /usr/local/bin/yarn.

which node
which yarn

Por último, ejecuta el siguiente comando para comprobar la versión de Node.js y del gestor de paquetes Yarn.

node --version
yarn --version

comprueba node.js y yarn

Instalar las herramientas de desarrollo

En este paso, instalarás las«Herramientas de Desarrollo» que necesita Rails.

Ejecuta el siguiente comando para instalarlas«Herramientas de Desarrollo» en tu sistema AlmaLinux.

sudo dnf group install "Development Tools" -y

Una vez finalizada la instalación, pasa al siguiente paso para instalar Rails.

Instalación de Ruby on Rails a través del Gestor de Paquetes Gem

Con todas las dependencias instaladas, estás listo para instalar Ruby on Rails en la máquina AlmaLinux.

Ejecuta el siguiente comando gem para instalar Ruby on Rails en tu sistema.

sudo gem install rails

instalación de raíles

Una vez finalizada la instalación, ejecuta el siguiente comando para localizar el archivo binario de Rails y verificar la versión de Rails.

which rails
rails --version

En la siguiente salida, deberías ver que el archivo ejecutable de Rails se encuentra en /usr/local/bin/rails y que la versión actual de Rails instalada es la 7.0.

comprueba la versión de rails

Creación del rol PostgreSQL para el proyecto Rails

En esta sección crearás un nuevo rol PostgreSQL que se utilizará para el proyecto Rails. Este nuevo rol debe tener permiso para crear nuevas bases de datos en PostgreSQL.

Inicia sesión en PostgreSQL utilizando el siguiente comando. Una vez iniciada la sesión, deberías recibir el mensaje postgres=>, que confirma que estás conectado a la base de datos por defecto«postgres«.

sudo -u postgres psql

Ahora ejecuta la siguiente consulta para crear un nuevo rol PostgreSQL que se utilizará para Rails. En este ejemplo, crearás un nuevo rol llamado hellorails con la contraseña userpassword. Este rol está autorizado a crear nuevas bases de datos en PostgreSQL.

CREATE ROLE hellorails WITH CREATEDB LOGIN PASSWORD 'userpassword';

A continuación, ejecuta la siguiente consulta para comprobar la lista de usuarios disponibles en PostgreSQL

\du

Si tiene éxito, deberías ver el nuevo rol hellorails con el atributo de permiso Crear BD.

crear rol postgresql

Pulsa Ctrl+d o escribe \q para salir de PostgreSQL.

Creación del primer proyecto Rails

En esta sección aprenderás a crear el primer proyecto Ruby on Rails utilizando el comando rails.

Crea un nuevo directorio de proyecto /var/www y traslada a él el directorio de trabajo actual.

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

Ahora, crea un nuevo proyecto Rails llamado hellorails con la base de datos PostgreSQL utilizando el siguiente comando rails. Esto también generará un nuevo directorio de proyecto hellorails.

rails new hellorails --database=postgresql

crear proyecto rails

Ve al directorio hellorails y abre la configuración de la base de datos config/database.yml utilizando nano o tu editor preferido.

cd hellorails
nano config/database.yml

Cambia así la configuración por defecto de la base de datos para desarrollo, pruebas y producción, y asegúrate de utilizar el usuario y la contraseña adecuados para tus datos PostgreSQL.

development:
  <<: *default
  database: hellorails_development
  username: hellorails
  password: userpassword
  host: localhost
  port: 5432

test:
<<: *default
database: hellorails_test
user: hellorails
password: userpassword
host: localhost
port: 5432

production:
<<: *default
database: hellorails_production
username: hellorails
password: userpassword
host: localhost
port: 5432

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para migrar la base de datos. Esto generará nuevas bases de datos para tu proyecto Rails.

rails db:setup
rails db:migrate

migrar base de datos

Una vez migrada la base de datos, ejecuta el siguiente comando para iniciar tu proyecto Rails, y asegúrate de cambiar la dirección IP del servidor. Esto iniciará tu proyecto Rails en la dirección IP específica 192.168.10.15 con el puerto por defecto 3000.

rails server --binding=192.168.10.15

servidor de ejecución rails

Inicia tu navegador web y visita la dirección IP del servidor seguida del puerto 3000 (es decir: http://192.168.10.15:3000/). Si la instalación de Rails se ha realizado correctamente, deberías obtener la página index.html por defecto de tu proyecto Rails.

rails index.html

Conclusión

¡Enhorabuena! Ya has instalado Ruby on Rails con PostgreSQL en una máquina AlmaLinux 9. También has aprendido a crear un rol PostgreSQL y a crear el primer proyecto Rails.

Con Rails instalado en tu sistema, puedes continuar desarrollando una aplicación con Rails, y para el pack de iniciación, puede que te interese Ruby Scaffolding para conocer MVC (Modelo Vista Controlador) en Rails.

También te podría gustar...