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.
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.
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.
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.
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.
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
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‘.
6. Abre tu navegador web y escribe la dirección IP del servidor con el puerto‘3000′ 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.
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.