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
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
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
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
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.
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
Una vez instalado Ruby, compruébalo utilizando el siguiente comando. Deberías ver el Ruby v3. 0 instalado en tu sistema AlmaLinux.
ruby --version
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
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
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
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.
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.
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
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
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
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.
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.