Ruby on Rails (RoR) je open source webový aplikační rámec, publikovaný pod licencí MIT. Ruby on Rails neboli rails je napsán v Ruby, jde o serverový webový aplikační framework, který se řídí konceptem MVC (Model-View-Controller). Rails poskytuje výchozí struktury pro databázi, webovou službu a webové stránky. Více než 3000 vývojářů poskytlo kód do rámce Rails a existuje mnoho známých aplikací založených na Rails, jako je Github, Airbnb, Soundcloud atd.
V tomto tutoriálu vám ukážu, jak nainstalovat Ruby on Rails na ubuntu 16.04 LTS. Ukážu vám, jak nainstalovat a nakonfigurovat Rails pomocí PostgreSQL databáze a jak vytvořit nový první projekt s Rails.
Předpoklad
- Server Ubuntu 16.04.
- Oprávnění uživatele root.
Krok 1 – Instalace RVM
RVM nebo Ruby Version Manager je nástroj příkazového řádku založený na Bash a Ruby pro správu instalace ruby. RVM vám umožňuje nainstalovat a nakonfigurovat více verzí ruby na jednom systému.
V tomto kroku nainstalujeme stabilní verzi RVM a přidáme klíč úložiště pomocí příkazu gpg.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
Nainstalujte RVM stable. Ujistěte se, že je ve vašem systému nainstalován příkaz curl.
curl -sSL https://get.rvm.io | bash -s stable --ruby
Tento příkaz nainstaluje potřebné balíčky pro instalaci RVM, poté si stáhne nejnovější stabilní verzi RVM a nainstaluje ji.
Nyní můžeme začít používat RVM provedením příkazu níže:
source /usr/local/rvm/scripts/rvm
Krok 2 – Instalace Ruby
Aktuální stabilní verze Ruby je 2.3.1. Nainstalujte jej pomocí příkazu rvm a poté jej nastavte jako výchozí ruby verzi pro váš systém.
Aktualizujte rvm na nejnovější stabilní verzi a poté nainstalujte verzi Ruby 2.3.1.
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
Dále nastavte 2.3.1 jako výchozí rubínovou verzi v systému.
rvm --default use ruby-2.3.1
Nyní zkontrolujte verzi ruby pomocí příkazu níže:
ruby -v
Krok 3 – Instalace Nodejs
Rails vyžaduje ke kompilaci kanálu aktiv Rails běhové prostředí JavaScriptu. Pro vývoj Rails na Ubuntu Linux je nejlepší nainstalovat Nodejs jako Javascript runtime.
Nainstalujte nodejs z úložiště nodesource:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs
Krok 4 – Konfigurace Ruby Gem
RubyGems je správce balíčků Ruby. Přichází s drahokamem nástroj příkazového řádku a automaticky se nainstaluje, když nainstalujeme Ruby do systému.
Aktualizujte verzi drahokamu a zkontrolujte ji:
gem update --system
gem -v
Toto je volitelné, můžete zakázat instalaci dokumentace při každé instalaci drahokamu přidáním nového řádku do souboru .gemrc níže.
echo "gem: --no-document" >> ~/.gemrc
Krok 5 – Instalace Ruby on Rails 5 Stable
Nainstalujte Ruby on Rails 5 pomocí příkazu gem níže:
gem install rails -v 5.0.0
Po úspěšném dokončení instalace zkontrolujte verzi kolejnic:
rails -v
A uvidíte výsledky verze kolejí:
Rails 5.0.0
Rails 5.0 byl nainstalován na Ubuntu 16.04 s Ruby 2.3.1.
Krok 6 – Nastavení databáze PostgreSQL pro vývoj Rails
V tomto kroku připravíme PostgreSQL pro vývoj kolejí. Ruby on Rails podporuje mnoho databází, jako je MySQL, SQLite (výchozí) a PostgreSQL. Jako databázi pro tuto příručku použijeme PostgreSQL.
Nainstalujte PostgreSQL a některé další požadované balíčky pomocí příkazu apt:
apt-get -y install postgresql postgresql-contrib libpq-dev
Po dokončení instalace se přihlaste k uživateli postgres a otevřete shell postgresql.
su - postgres
psql
Dejte uživateli postgres nové heslo pomocí příkazu níže:
\password postgres
Enter new password:
Dále vytvořte novou roli s názvem 'rails-dev' pro vývoj rails pomocí příkazu níže:
create role rails_dev with createdb login password 'aqwe123';
Nastavte pro uživatele nové heslo a zkontrolujte, zda byl uživatel vytvořen.
Nyní zkontrolujte novou roli a uvidíte, že byla vytvořena nová role:
\du
Databáze PostgreSQL byla připravena pro Rails Development.
Krok 7 – Vytvoření první aplikace s Rails a PostgreSQL
Ruby on Rails nebo Rails se dodává s příkazem "rails" a pomocí tohoto příkazu můžeme spustit naši první aplikaci.
Vytvořte novou aplikaci „myapp“ s PostgreSQL jako výchozí databází.
rails new myapp -d postgresql
Tento příkaz vytvoří nový adresář 'myapp' a nainstaluje nový gem včetně gem pg, který potřebuje rails pro připojení k databázi PostgreSQL do tohoto adresáře.
Dále přejděte do adresáře 'myapp' a upravte soubor database.yml v adresáři config.
cd myapp/
vim config/database.yml
V sekci vývoje odkomentujte řádek 32 a zadejte roli, kterou jsme vytvořili v kroku 6.
username: rails_dev
Nastavte uživatelské heslo rails_dev na řádku 35.
password: aqwe123
Odkomentujte řádky 40 a 44 pro konfiguraci hostitele databáze.
host: localhost
port: 5432
Nyní přejděte do testovací sekce a přidejte novou konfiguraci níže:
database: myapp_test
host: localhost
port: 5432
username: rails_dev
password: aqwe123
Uložte a ukončete.
Dále vygenerujte databázi pomocí příkazu rails:
rails db:setup
rails db:migrate
A poté spusťte server rails příkazem níže:
rails s -b 192.168.1.110 -p 8080
Otevřete webový prohlížeč a navštivte IP adresu serveru na portu 8080 – 192.168.1.110:8080.
Vraťte se do terminálu a vytvořte nové lešení pro interakci s databází PostgreSQL.
Zadejte příkaz níže:
rails g scaffold Post title:string body:text
rake db:migrate
Spusťte znovu server rails.
rails s -b 192.168.1.110 -p 8080
Navštivte server:192.168.1.110:8080/posts
Uvidíte jednoduchý CRUD na Ruby on Rails s PostgreSQL.