Ruby on Rails (RoR), o "rieles" cortos, es un marco de aplicación web del lado del servidor escrito en ruby que sigue el concepto MVC (Modelo-Vista-Controlador). RoR se publica bajo la licencia OpenSource MIT. Rails proporciona estructuras predeterminadas para bases de datos, servicios web y páginas web. Rails se usa ampliamente, más de 3000 personas han contribuido con código al proyecto Rails hasta ahora y hay muchas aplicaciones basadas en Rails, como Github, Airbnb, Soundcloud, etc.
En este tutorial, le mostraré cómo instalar Rails en CentOS 7. Instalaremos y configuraremos Ruby on Rails con una base de datos PostgreSQL y luego crearemos nuestro primer proyecto con Rails.
Requisito previo
- Servidor con sistema operativo CentOS 7
- Privilegios de raíz
Paso 1:instalar RVM
RVM o Ruby Version Manager es una herramienta de línea de comandos basada en Bash y Ruby para administrar una instalación de Ruby. RVM le permite instalar y configurar múltiples versiones de Ruby en el mismo servidor simultáneamente para permitirle trabajar con múltiples entornos de Ruby.
Asegúrese de que el comando curl esté instalado en su sistema.
yum instalar curl
En este paso, instalaremos la versión estable de RVM. Necesitamos descargar la clave del repositorio e importarla con el comando gpg antes de comenzar a instalar RVM.
curl -sSL https://rvm.io/mpapis.asc | gpg --importar -
Luego instale RVM.
curl -sSL https://get.rvm.io | bash -s estable --ruby
El comando instalará primero los paquetes necesarios (dependencias de paquetes) y luego descargará la última versión estable de RVM y la instalará.
Ahora podemos comenzar a usar RVM ejecutando el siguiente comando:
fuente /usr/local/rvm/scripts/rvm
Paso 2:Instalar Ruby
La versión estable actual de Ruby es 2.3.1. Lo instalaremos con el comando "rvm" y luego lo convertiremos en la versión Ruby predeterminada para su sistema.
Actualice RVM a la última versión estable, luego instale Ruby 2.3.1.
rvm se vuelve estable --autolibs=enable
rvm install ruby-2.3.1
A continuación, haga que Ruby 2.3.1 sea la versión Ruby predeterminada del sistema.
rvm --por defecto usar ruby-2.3.1
Verifique la versión de Ruby con el siguiente comando para asegurarse de que los pasos anteriores se hayan realizado correctamente:
rubí -v
Paso 3:Instalar Nodejs
Rails necesita un tiempo de ejecución de JavaScript para compilar la canalización de activos de Rails. Para el desarrollo de Rails en Ubuntu Linux, es mejor instalar Nodejs como tiempo de ejecución de Javascript.
Instale nodejs desde el repositorio de nodesource:
curl -sL https://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y instalar nodejs
Compruebe que node y npm se hayan instalado correctamente en el sistema.
nodo -v
npm -v
Paso 4:configurar la gema
RubyGems es el administrador de paquetes de Ruby. Proporciona la herramienta de línea de comandos gem y se instala automáticamente cuando instala Ruby en un sistema.
Actualiza la versión de la gema y compruébalo:
actualización de gema --sistema
gema -v
Esto es opcional:puede deshabilitar la instalación de la documentación en cada instalación de gema agregando la siguiente línea al archivo .gemrc. Lo haré aquí ya que ahorra espacio en el disco duro y prefiero leer la documentación en Internet.
echo "gem:--no-document">> ~/.gemrc
Paso 5:instalar Ruby on Rails 5 (estable)
Instale Ruby on Rails 5 con el siguiente comando gem:
rieles de instalación de gemas -v 5.0.0
Cuando la instalación finalice con éxito, verifique la versión de los rieles:
rieles -v
Deberías ver esto como resultado:
Rieles 5.0.0
Rails 5.0 instalado en CentOS 7 con Ruby 2.3.1.
Paso 6:configuración de la base de datos PostgreSQL para el desarrollo de Rails
En este paso, prepararemos PostgreSQL para el desarrollo de Rails. Ruby on Rails admite muchas bases de datos como MySQL, SQLite (predeterminado) y PostgreSQL. Usaré PostgreSQL como base de datos para esta guía.
Instale PostgreSQL con este comando yum:
yum -y install postgresql-servidor postgresql-devel postgresql-contrib
Ahora tenemos que inicializar el servidor de la base de datos con el comando initdb.
postgresql-setup initdb
De forma predeterminada, PostgreSQL en el servidor CentOS no permite la autenticación basada en contraseña. Necesitamos editar la configuración de PostgreSQL para la instalación de RoR para permitir inicios de sesión con una contraseña.
Edite pg_hba.conf con vim:
vim /var/lib/pgsql/data/pg_hba.conf
Cambie el método de autenticación a md5.
# conexiones locales IPv4:
host todos todos 127.0.0.1/32 md5
# conexiones locales IPv6:
host todos todos ::1/12Guarde el archivo, luego inicie el servicio "postgresql".
systemctl iniciar postgresqlPostgresql se está ejecutando en la dirección IP del host local con el puerto 5432, puede verificarlo con el siguiente comando:
netstat -plntu
systemctl estado postgresql
Cuando termine la instalación, conviértase en el usuario de postgres en el shell con su y luego acceda al shell de postgresql (psql).
su - postgres
psqlEstablezca una nueva contraseña para el usuario de postgres con el siguiente comando:
\password postgres
Ingrese la nueva contraseña:Luego, cree un nuevo rol llamado 'rails-dev' para el desarrollo de rieles con este comando:
crear el rol rails_dev con la contraseña de inicio de sesión createdb 'aqwe123';Verifique el nuevo rol, verá que se crea un nuevo rol:
\duSe ha creado la base de datos PostgreSQL y el usuario para Rails Development.
Paso 7:Crear la primera aplicación con Rails y PostgreSQL
Podemos crear fácilmente nuestra primera aplicación con el comando Rails.
Cree una nueva aplicación con PostgreSQL como base de datos predeterminada.
rieles nueva miaplicación -d postgresqlEste comando creará un nuevo directorio 'myapp' e instalará una nueva gema que incluye la gema "pg" que Rails requiere para conectarse a la base de datos de PostgreSQL.
Vaya al directorio 'nueva aplicación' y edite el archivo base de datos.yml en el directorio de configuración.
cd myapp/
vim config/database.ymlEn la sección de desarrollo, descomente la línea 32 y configure el rol que hemos creado en el paso 6.
nombre de usuario:rails_devEstablezca la contraseña de usuario de rails_dev en la línea 35.
contraseña:aqwe123Quite el comentario de las líneas 40 y 44 para la configuración del host de la base de datos.
host:localhost
puerto:5432Ahora, vaya a la sección de prueba y agregue la nueva configuración a continuación:
base de datos:myapp_test
host:localhost
puerto:5432
nombre de usuario:rails_dev
contraseña:aqwe123Guarde el archivo y salga del editor.
Luego, genera la base de datos con el comando rails:
base de datos Rails:configuración
base de datos Rails:migrarLuego inicie el servidor Rails con el siguiente comando:
rieles s -b 192.168.33.10 -p 8080
Abra su navegador web y visite la dirección IP del servidor en el puerto 8080 - 192.168.33.10:8080.
Vuelve a tu terminal. Cree un nuevo andamio para interactuar con la base de datos PostgreSQL.
Escribe el siguiente comando:
rails g scaffold Título de la publicación:cuerpo de la cadena:texto
rake db:migrarVuelva a ejecutar el servidor Rails.
rieles s -b 192.168.33.10 -p 8080Visite el servidor:192.168.33.10:8080/publicaciones
Verá una interfaz CRUD simple escrita en Ruby on Rails con PostgreSQL.
Enlaces
- https://www.ruby-lang.org/en/
- http://guides.rubyonrails.org/
- https://www.postgresql.org/docs/