Como instalar Ruby on Rails com PostgreSQL no AlmaLinux 9
Ruby on Rails ou RoR ou Rails é uma estrutura de aplicativo da web gratuita e de código aberto escrita em Ruby com a licença MIT. É uma estrutura web full-stack que usa o padrão model-view-controller (MVC).
O framework web Rails fornece estruturas para um banco de dados, serviço web e páginas web. Além disso, Rails inclui algumas ferramentas importantes, como andaimes, Puma, Gems, etc.
Este guia ensinará como instalar Ruby on Rails com banco de dados PostgreSQL em uma máquina AlmaLinux 9. E ao final deste guia, você terá um ambiente de desenvolvimento para seu projeto Rails configurado.
Pré-requisitos
Para concluir este guia, certifique-se de ter o seguinte:
- Uma máquina AlmaLinux 9 - Este exemplo usará AlmaLinux 9 com nome de host almalinux9 e endereço IP 192.168.10.15.
- Um usuário não root com privilégios root/sudo.
Instalando PostgreSQL
Primeiro, você instalará o servidor PostgreSQL usado como banco de dados para seu projeto Rails. Você pode instalá-lo por meio do repositório AppStream, mas irá instalá-lo oficialmente a partir do repositório PostgreSQL para este guia.
Execute o seguinte comando para baixar e adicionar o repositório PostgreSQL ao seu sistema.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Agora, instale o servidor PostgreSQL usando o seguinte comando. Com isso, você também instalará a libpq5-devel, que é a biblioteca PostgreSQL que será utilizada para sua aplicação Rails.
sudo dnf install -y postgresql15-server postgresql15-contrib libpq5-devel
Depois disso, execute o seguinte comando para inicializar a configuração do servidor PostgreSQL.
sudo postgresql-15-setup initdb
Em seguida, inicie e habilite o serviço PostgreSQL usando o seguinte comando systemctl.
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
Por último, verifique o serviço PostgreSQL usando o comando abaixo. Ao executar, você deverá receber uma mensagem como 'ativo (exited)' ou 'ativo (em execução)'.
sudo systemctl status postgresql-15
Instalando Ruby
Por padrão, o repositório appstream AlmaLinux fornece Ruby 3.x que é adequado para Ruby on Rails. Você instalará Ruby 3.0 através do gerenciador de pacotes DNF nesta seção.
Execute o comando abaixo para verificar a lista de versões Ruby disponíveis no repositório appstream.
sudo dnf module list ruby
A saída a seguir confirma que o repositório AlmaLinux também fornece Ruby 3.1.
Agora, execute o seguinte comando para instalar os pacotes de desenvolvimento Ruby e Ruby. Insira y para confirmar e pressione ENTER para continuar.
sudo dnf install ruby ruby-devel
Depois que o Ruby estiver instalado, verifique-o usando o seguinte comando. Você deverá ver o Ruby v3.0 instalado em seu sistema AlmaLinux.
ruby --version
Instalando Node.js e Yarn Package Manager
Antes de instalar o Rails, você deve instalar o gerenciador de pacotes Node.js e Yarn. Ambos os pacotes serão usados pelo Rails para compilar arquivos estáticos em seu projeto Rails.
Execute o comando dnf abaixo para instalar os pacotes Node.js e NPM. Quando solicitado, insira y e pressione ENTER para continuar.
sudo dnf install nodejs npm -y
Em seguida, execute o comando npm abaixo para instalar o gerenciador de pacotes Yarn.
sudo npm install -g yarn
O gerenciador de pacotes Yarn deve estar disponível no diretório /usr/local/bin. Então. você deve adicionar o diretório /usr/local/bin à variável de ambiente PATH.
Execute o seguinte comando para adicionar o diretório /usr/local/bin à variável de ambiente PATH por meio do arquivo .bashrc e recarregue-o para aplicar as alterações.
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc
Agora, execute o seguinte comando para localizar o gerenciador de pacotes Node.js e Yarn. O arquivo binário Node.js está localizado em /bin/node e o gerenciador de pacotes Yarn está localizado em /usr/local/bin/yarn.
which node
which yarn
Por último, execute o seguinte comando para verificar a versão do gerenciador de pacotes Node.js e Yarn.
node --version
yarn --version
Instalando ferramentas de desenvolvimento
Nesta etapa, você instalará as "Ferramentas de Desenvolvimento" que são necessárias ao Rails.
Execute o seguinte comando para instalar "Ferramentas de Desenvolvimento" em seu sistema AlmaLinux.
sudo dnf group install "Development Tools" -y
Assim que a instalação for concluída, vá para a próxima etapa de instalação do Rails.
Instalando Ruby on Rails via Gem Package Manager
Com todas as dependências instaladas, você está pronto para instalar Ruby on Rails na máquina AlmaLinux.
Execute o seguinte comando gem para instalar Ruby on Rails em seu sistema.
sudo gem install rails
Após a conclusão da instalação, execute o seguinte comando para localizar o arquivo binário do Rails e verificar a versão do Rails.
which rails
rails --version
Na saída a seguir, você verá que o arquivo executável do Rails está localizado em /usr/local/bin/rails e a versão atual do Rails instalada é 7.0.
Criando função PostgreSQL para projeto Rails
Nesta seção, você criará uma nova função PostgreSQL que será usada para o projeto Rails. Esta nova função deve ter permissão para criar novos bancos de dados no PostgreSQL.
Faça login no PostgreSQL usando o seguinte comando. Uma vez logado, você deverá receber o prompt postgres=>, que confirma que você está conectado ao banco de dados padrão 'postgres'.
sudo -u postgres psql
Agora execute a seguinte consulta para criar uma nova função PostgreSQL que será usada para Rails. Neste exemplo, você criará uma nova função chamada hellorails com a senha userpassword. Esta função tem permissão para criar novos bancos de dados no PostgreSQL.
CREATE ROLE hellorails WITH CREATEDB LOGIN PASSWORD 'userpassword';
A seguir, execute a seguinte consulta para verificar a lista de usuários disponíveis no PostgreSQL
\du
Se for bem-sucedido, você deverá ver a nova função hellorails com o atributo de permissão Criar banco de dados.
Pressione Ctrl+d ou digite \q para sair do PostgreSQL.
Criando o primeiro projeto Rails
Nesta seção, você aprenderá como criar o primeiro projeto Ruby on Rails usando o comando rails.
Crie um novo diretório de projeto /var/www e mova o diretório de trabalho atual para ele.
mkdir -p /var/www; cd /var/www
Agora, crie um novo projeto Rails chamado hellorails com o banco de dados PostgreSQL usando o seguinte comando rails. Isso também gerará um novo diretório de projeto hellorails.
rails new hellorails --database=postgresql
Vá para o diretório hellorails e abra a configuração do banco de dados config/database.yml usando o nano ou seu editor preferido.
cd hellorails
nano config/database.yml
Altere a configuração padrão do banco de dados para desenvolvimento, teste e produção desta forma e certifique-se de usar o usuário e a senha adequados para os detalhes do 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
Salve o arquivo e saia do editor quando terminar.
Em seguida, execute o seguinte comando para migrar o banco de dados. Isto irá gerar novos bancos de dados para o seu projeto Rails.
rails db:setup
rails db:migrate
Após a migração do banco de dados, execute o seguinte comando para iniciar seu projeto Rails e certifique-se de alterar o endereço IP do servidor. Isto iniciará seu projeto Rails no endereço IP específico 192.168.10.15 com a porta padrão 3000.
rails server --binding=192.168.10.15
Inicie seu navegador e visite o endereço IP do servidor seguido pela porta 3000 (ou seja: http://192.168.10.15:3000/). Se a instalação do Rails for bem-sucedida, você deverá obter a página index.html padrão do seu projeto Rails.
Conclusão
Parabéns! Agora você instalou Ruby on Rails com PostgreSQL em uma máquina AlmaLinux 9. Você também aprendeu como criar uma função PostgreSQL e criar o primeiro projeto Rails.
Com o Rails instalado em seu sistema, você pode continuar desenvolvendo uma aplicação com Rails, e para o starter pack, você pode se interessar pelo Ruby Scaffolding para conhecer o MVC (Model View Controller) no Rails.