Cómo instalar Ruby on Rails (RoR) en Debian 10

Instalar RVM

Ruby on Rails (RoR) es un marco de aplicación web de código abierto, publicado bajo la licencia MIT. Es un marco de aplicación web del lado del servidor que sigue el concepto MVC (Model-View-Controller).

Rails proporciona estructuras predeterminadas para la base de datos, el servicio web y las páginas web. Más de 3000 desarrolladores han contribuido con codigo ruby al marco de Rails y hay muchas aplicaciones conocidas basadas en Rails, como Github, Airbnb, Soundcloud, etc.

En este tutorial, le mostraremos cómo instalar Ruby on Rails en Debian Buster 10. Esta guía cubrirá la instalación de RVM (Ruby Version Manager), la instalación de la base de datos PostgreSQL y la creación de la aplicación CRUD simple con Ruby on Rails y el uso de PostgreSQL como la base de datos back-end.

requisitos previos

Para esta guía, utilizaremos el último Debian Buster 10 con 2 GB de RAM y 25 GB de espacio libre en disco y 2 CPU.

¿Lo que haremos?

  • Instalar RVM (Administrador de versiones de Ruby)
  • Instalar Ruby con RVM
  • Instalar Nodejs e Yarn
  • Actualice RubyGem (Administrador de paquetes de Ruby)
  • Instalar Ruby on Rails estable
  • Instalar y configurar la base de datos PostgreSQL
  • Iniciar proyecto con Ruby on Rails

Paso 1: instale RVM (Administrador de versiones de Ruby)

Primero, instalaremos el RVM (Ruby Version Manager) en nuestro servidor Debian. El RVM le facilitará la instalación y administración de ruby debian en su sistema, especialmente cuando use varias versiones de Ruby.

Antes de continuar, instale el paquete gnupg2 usando el comando apt a continuación.

sudo apt install gnupg2

Luego, importe la clave GPGP para el paquete RVM usando el comando gpg a continuación.

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2.69D6956105BD0E739499BDB

Descargue el script de instalación de RVM e instálelo con el siguiente comando.

curl -sSL https://get.rvm.io | bash -s stable --ruby

Instalar RVM

Una vez completada la instalación, cargue el RVM en el sistema Debian.

source /usr/local/rvm/scripts/rvm

Y Ruby Version Manager se ha instalado en el sistema Debian 10, verifíquelo usando el comando ‘rvm’ a continuación.

rvm version

Como resultado, el RVM (Ruby Version Manager) xxx se instaló en Debian Buster 10.

Comprobar la instalación de RVM en Debian

Paso 2: instale Ruby con RVM

En este paso, actualizaremos el paquete RVM a la última versión e instalaremos la última versión estable de Ruby, y la convertiremos en la versión predeterminada de Ruby en nuestro sistema.

Actualice el RVM a la última versión estable con el siguiente comando.

rvm get stable --autolibs=enable

Después de eso, agregue el usuario ‘raíz’ al grupo ‘rvm’. En efecto, el usuario raíz podrá ejecutar el comando rvm.

usermod -a -G rvm root

Luego, instale la última versión estable ‘Ruby 2.6’ usando el comando rvm a continuación.

rvm install ruby-2.6

Una vez que se complete la instalación, haga que Ruby 2.6 sea una versión predeterminada de Ruby en el sistema Debian.

rvm --default use ruby-2.6

Ahora verifique la versión instalada de Ruby usando el siguiente comando.

ruby --version

Como resultado, la última versión estable de ‘Ruby 2.6’ se instaló a través de RVM y se usa como Ruby predeterminado en el sistema ruby Debian 10.

Instalar Ruby en Debian

Paso 3: instala Nodejs e Yarn

En este paso, instalaremos Nodejs e Yarn en el sistema Debian. Será utilizado por Rails para procesar los archivos JavaScript.

Primero, instale las herramientas de desarrollo en el sistema Debian usando el comando apt a continuación.

sudo apt install gcc g++ make

Después de eso, agregue el repositorio de Nodesource para Nodejs 12.

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Luego agregue la clave y el repositorio de Yarn GPG.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Actualice y actualice todos los repositorios e instale NodeJS e Yarn usando el comando apt a continuación.

sudo apt update
sudo apt install -y nodejs yarn

Una vez que se complete la instalación, verifique usando el siguiente comando.

node --version
yarn --version

Como resultado, el administrador de paquetes Nodejs JavaScript Runtime and Yarn se instaló en Debian Buster 10.

Instalar NodeJS y Yarn

Paso 4: actualice RubyGem (Administrador de paquetes de Ruby)

RubyGems es un administrador de paquetes de Ruby, que viene con la herramienta de línea de comandos gem y se instala automáticamente cuando instalamos Ruby en el sistema. Para este paso, actualizaremos RubyGem a la última versión.

Actualice RubyGem usando el siguiente comando.

gem update --system

Una vez que esté completo, verifique la versión de la gema usando el comando a continuación.

gem -v

Como resultado, RubyGem se actualizó a la última versión.

Opcionalmente:

RubyGem es un administrador de paquetes para instalar paquetes de Ruby. Instalará los paquetes de Ruby y su documentación.

Para que la instalación de los paquetes de Ruby sea pequeña, puede deshabilitar la instalación de la documentación del paquete de Ruby a través de la configuración de RubyGem.

Agregue/cree la opción de gema en la configuración ~/.gemrc como se muestra a continuación.

echo "gem: --no-document" >> ~/.gemrc

Como resultado, RubyGem solo instalará el paquete principal de los paquetes de Ruby, sin la documentación.

Paso 5: instale Ruby on Rails estable

En este paso, instalaremos Ruby on Rails en el sistema Debian. Instalaremos la última versión de Ruby on Rails v6.0.2.1.

Instale Ruby on Rails usando el comando RubyGem como se muestra a continuación.

gem install rails -v 6.0.2

Una vez que se complete la instalación, verifique el comando de rieles como se muestra a continuación.

rails -v

Como resultado, Ruby on Rails 6.0.2.1 se instaló en Debian Buster 10. Y está listo para instalar ruby on rails en su nuevo proyecto.

Instalar Ruby on Rails

Paso 6: instalar y configurar la base de datos PostgreSQL

Para este tutorial, usaremos PostgreSQL como la base de datos de back-end para Ruby on Rails.

Instale PostgreSQL en el sistema Debian usando el comando apt a continuación.

sudo apt install postgresql postgresql-contrib libpq-dev -y

Una vez completada la instalación, inicie el servicio PostgreSQL y agréguelo al inicio del sistema.

systemctl start postgresql
systemctl enable postgresql

El servicio PostgreSQL está en funcionamiento.

Instalar y configurar PostgreSQL

A continuación, inicie sesión en el shell de PostgreSQL con el siguiente comando.

sudo -i -u postgres psql

Cambie la contraseña del usuario predeterminado de PostgreSQL ‘postgres’.

password postgres

Escriba la nueva contraseña para el usuario ‘postgres’.

A continuación, cree una nueva función de PostgreSQL llamada ‘rails_dev’ con el privilegio ‘CreateDB’ y la contraseña ‘aqwe123’ usando la consulta de PostgreSQL a continuación.

create role rails_dev with createdb login password 'aqwe123';

Los privilegios ‘createdb’ permitirán al usuario ‘rails_dev’ crear una nueva base de datos para el proyecto Ruby on Rails.

Ahora todos los usuarios disponibles en PostgreSQL usan el siguiente comando.

du

Obtendrá el usuario ‘rails_dev’ con los privilegios de ‘CreateDB’ para crear bases de datos.

Agregar usuario de rieles a postgres

Escribe ‘salida‘ para cerrar sesión en el shell de PostgreSQL.

Como resultado, instaló la base de datos PostgreSQL en Debian buster 10. Además, creó un nuevo rol de PostgreSQL ‘rails_dev’ con el privilegio ‘CreateDB’ para el proyecto ‘Ruby on Rails’.

Paso 7: iniciar el proyecto con Ruby on Rails

En este paso, crearemos un nuevo proyecto CRUD simple utilizando Ruby on Rails con PostgreSQL como base de datos de back-end.

Inicie el proyecto Rails con PostgreSQL

Primero, inicie un nuevo proyecto llamado ‘myapp’ usando el comando de rieles a continuación.

rails new myapp -d postgresql

Generará el directorio del proyecto llamado ‘myapp’ con PostgreSQL como la base de datos de back-end.

Ahora vaya al directorio ‘myapp’ y edite la configuración de la base de datos ‘config/database.yml’.

cd myapp/
vim config/database.yml

En la sección ‘Desarrollo’, agregue la configuración de detalles de PostgreSQL a continuación.

  username: rails_dev
  password: aqwe123
  host: localhost
  port: 5432

En la sección «Pruebas», agregue la configuración de detalles de PostgreSQL a continuación.

  host: localhost
  port: 5432
  username: rails_dev
  password: aqwe123

Guardar y cerrar.

A continuación, genere el esquema de la base de datos PostgreSQL y asegúrese de que no haya ningún error.

rails db:setup
rails db:migrate

Crear proyecto de Ruby on Rails

Cuando todo haya terminado, inicie el servidor web de puma rails con el siguiente comando.

rails s -b 149.28.140.6 -p 8080

El proyecto Ruby on Rails está funcionando en el puerto ‘8080’.

Abra su navegador web y escriba la dirección IP del servidor con el puerto ‘8080’.

http://10.5.5.31:8080/

Obtendrá la página index.html predeterminada del proyecto Rails. Además, detectará su entorno de implementación de Rails.

Ruby on Rails (RoR) instalado correctamente

Como resultado, ha creado un nuevo proyecto con Ruby on Rails con PostgreSQL como backend de la base de datos.

Crear una aplicación CRUD simple

A continuación, generaremos el CRUD simple en nuestro proyecto ‘myapp’.

Genere CRUD en Ruby on Rails usando el siguiente comando.

rails g scaffold Post title:string body:text
rake db:migrate

Crear la aplicación Rails CRUD

Inicie el proyecto de rieles usando el siguiente comando.

rails s -b 192.168.1.10 -p 8080

Regrese a su navegador web y verifique su proyecto de rieles con la URL a continuación.

http://10.5.5.31:8080/posts/

Ahora obtendrá la aplicación CRUD simple como se muestra a continuación.

formulario de prueba

A continuación se muestra el resultado después de crear una publicación de muestra.

Formulario de prueba enviado

Finalmente, la instalación de Ruby on Rails con la base de datos PostgreSQL en Debian Buster 10 se ha completado con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *