Ruby on Rails (RoR), neboli krátké „kolejnice“, je serverový webový aplikační rámec napsaný v ruby, který se řídí konceptem MVC (Model-View-Controller). RoR je vydán pod licencí OpenSource MIT. Rails poskytuje výchozí struktury pro databáze, webové služby a webové stránky. Rails je široce používán, více než 3000 lidí bylo dosud do projektu Rails přiděleno kódem a existuje mnoho aplikací založených na Rails, jako je Github, Airbnb, Soundcloud atd.
V tomto tutoriálu vám ukážu, jak nainstalovat Rails na CentOS 7. Nainstalujeme a nakonfigurujeme Ruby on Rails s databází PostgreSQL a poté vytvoříme náš první projekt s Rails.
Předpoklad
- Server s operačním systémem CentOS 7
- 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 stejném serveru současně, abyste mohli pracovat s více prostředími ruby.
Ujistěte se, že je ve vašem systému nainstalován příkaz curl.
yum install curl
V tomto kroku nainstalujeme stabilní verzi RVM. Než začneme instalovat RVM, musíme si stáhnout klíč úložiště a importovat jej pomocí příkazu gpg.
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
Poté nainstalujte RVM.
curl -sSL https://get.rvm.io | bash -s stable --ruby
Příkaz nejprve nainstaluje požadované balíčky (závislosti balíčků) a poté stáhne nejnovější stabilní verzi RVM a nainstaluje ji.
Nyní můžeme začít používat RVM provedením příkazu níže:
zdroj /usr/local/rvm/scripts/rvm
Krok 2 – Instalace Ruby
Aktuální stabilní verze Ruby je 2.3.1. Nainstalujeme jej pomocí příkazu "rvm" a poté z něj uděláme výchozí ruby verzi pro váš systém.
Aktualizujte RVM na nejnovější stabilní verzi a poté nainstalujte Ruby 2.3.1.
rvm get stable --autolibs=enable
rvm install ruby-2.3.1
Dále nastavte Ruby 2.3.1 jako výchozí Ruby verzi systému.
rvm --default use ruby-2.3.1
Zkontrolujte verzi Ruby pomocí níže uvedeného příkazu, abyste se ujistili, že výše uvedené kroky byly úspěšné:
ruby -v
Krok 3 – Instalace Nodejs
Rails potřebuje 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://rpm.nodesource.com/setup_6.x | sudo -E bash -
yum -y install nodejs
Zkontrolujte, zda byly uzel a npm v systému úspěšně nainstalovány.
node -v
npm -v
Krok 4 – Konfigurace drahokamu
RubyGems je správce balíčků Ruby. Poskytuje nástroj příkazového řádku gem a je automaticky nainstalován při instalaci Ruby do systému.
Aktualizujte verzi drahokamu a zkontrolujte ji:
aktualizace drahokamu --system
drahokam -v
Toto je volitelné:můžete zakázat instalaci dokumentace při každé instalaci drahokamu přidáním řádku níže do souboru .gemrc. Udělám to zde, protože to šetří místo na pevném disku a raději si přečtu dokumentaci na internetu.
echo "gem:--no-document">> ~/.gemrc
Krok 5 – Instalace Ruby on Rails 5 (stabilní)
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:
kolejnice -v
Jako výsledek byste měli vidět toto:
Rails 5.0.0
Rails 5.0 nainstalované na CentOS 7 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žiji PostgreSQL.
Nainstalujte PostgreSQL pomocí tohoto příkazu yum:
yum -y install postgresql-server postgresql-devel postgresql-contrib
Nyní musíme inicializovat databázový server pomocí příkazu initdb.
postgresql-setup initdb
Ve výchozím nastavení PostgreSQL na serveru CentOS neumožňuje ověřování na základě hesla. Potřebujeme upravit konfiguraci PostgreSQL pro instalaci RoR, aby bylo možné přihlášení pomocí hesla.
Upravte pg_hba.conf pomocí vim:
vim /var/lib/pgsql/data/pg_hba.conf
Změňte metodu ověřování na md5.
# místní připojení IPv4:
hostitel všechny vše 127.0.0.1/32 md5
# místní připojení IPv6: 1 m : 1 1 vše všeUložte soubor a poté spusťte službu „postgresql“.
systemctl start postgresqlPostgresql běží na localhost ip adrese s portem 5432, můžete to zkontrolovat pomocí příkazu níže:
netstat -plntu
stav systemctl postgresql
Po dokončení instalace se staňte uživatelem postgres na shellu pomocí su a poté přistupte k postgresql shellu (psql).
su - postgres
psqlNastavte nové heslo pro uživatele postgres pomocí příkazu níže:
\password postgres
Zadejte nové heslo:Dále vytvořte novou roli s názvem 'rails-dev' pro vývoj rails pomocí tohoto příkazu:
vytvořit roli rails_dev s přihlašovacím heslem createdb 'aqwe123';Zaškrtněte novou roli, uvidíte, že byla vytvořena nová role:
\duByla vytvořena PostgreSQL databáze a uživatel pro Rails Development.
Krok 7 – Vytvoření první aplikace pomocí Rails a PostgreSQL
Svou první aplikaci můžeme snadno vytvořit pomocí příkazu rails.
Vytvořte novou aplikaci s PostgreSQL jako výchozí databází.
rails new myapp -d postgresqlTento příkaz vytvoří nový adresář 'myapp' a nainstaluje nový drahokam včetně drahokamu „pg“, který vyžaduje rails pro připojení k databázi PostgreSQL.
Přejděte do adresáře 'newapp' a upravte soubor database.yml v adresáři config.
cd myapp/
vim config/database.ymlV sekci vývoje odkomentujte řádek 32 a nastavte roli, kterou jsme vytvořili v kroku 6.
uživatelské jméno:rails_devNastavte uživatelské heslo rails_dev na řádku 35.
heslo:aqwe123Odkomentujte řádky 40 a 44 pro konfiguraci hostitele databáze.
hostitel:localhost
port:5432Nyní přejděte do testovací části a přidejte novou konfiguraci níže:
databáze:myapp_test
hostitel:localhost
port:5432
uživatelské jméno:rails_dev
heslo:aqwe123Uložte soubor a ukončete editor.
Dále vygenerujte databázi pomocí příkazu rails:
rails db:setup
rails db:migratePoté spusťte server rails příkazem níže:
kolejnice s -b 192.168.33.10 -p 8080
Otevřete webový prohlížeč a navštivte IP adresu serveru na portu 8080 – 192.168.33.10:8080.
Zpět na váš terminál. Vytvořte nové lešení pro interakci s databází PostgreSQL.
Zadejte příkaz níže:
rails g scaffold Název příspěvku:string body:text
rake db:migrateSpusťte znovu server rails.
kolejnice s -b 192.168.33.10 -p 8080Navštivte server:192.168.33.10:8080/posts
Uvidíte jednoduché rozhraní CRUD napsané v Ruby on Rails s PostgreSQL.
Odkazy
- https://www.ruby-lang.org/en/
- http://guides.rubyonrails.org/
- https://www.postgresql.org/docs/