Ruby je moćan programski jezik. To je interpretirani, visoki i općenamjenski jezik koji uključuje više programskih paradigmi. Yukihiro Matsumoto, tvorac Rubyja, spojio je različite dijelove svojih omiljenih programskih jezika kao što su Perl, Ada, Lisp, Eiffel, Smalltalk itd. i stvorio Ruby. Prema njegovim vlastitim riječima, namjeravao je učiniti Ruby „prirodnijim, a ne jednostavnim”.
Velik dio popularnosti Rubyja dolazi od Ruby on Rails. To je moćan web okvir izgrađen na Rubyju. Služi kao pozadina za brojne web aplikacije, na primjer, Airbnb, Spotify, GitHub, SoundCloud i druge. Filozofija Ruby on Railsa je ponuditi intuitivan okvir za ubrzavanje izgradnje robusnih web stranica visokih performansi.
Kao web okvir, Ruby on Rails može raditi s popularnim sustavima za upravljanje bazama podataka, na primjer, SQLite, MySQL/MariaDB, i PostgreSQL. Ovaj vodič prikazat će izgradnju temelja Ruby on Rails aplikacije koja koristi MySQL kao svoj sustav baze podataka.
Preduvjeti
- Svi koraci prikazani u ovom vodiču izvode se na Ubuntu 21.04. Saznajte više o postavljanju Ubuntu poslužitelja ovdje.
- Također ćemo prikazati brzu demonstraciju instalacije i konfiguracije MySQL poslužitelja. Za više informacija pogledajte ovaj vodič o postavljanju MySQL-a.
- Što se tiče instalacije i upravljanja Rubyjem, koristit ćemo rbenv. To je alat dizajniran za pomoć u upravljanju Ruby okruženjem. U usporedbi s RVM, rbenv dolazi s svojim razlikama.
Korak 1: Instalacija i konfiguracija MySQL-a
MySQL će služiti kao pozadina baze podataka za našu Ruby on Rails aplikaciju. Pod pretpostavkom da već nemate instaliran i konfiguriran MySQL, pratite korake. Pokrenite terminal i ažurirajte APT predmemoriju:
|
1 |
sudo apt update |
Zatim instalirajte MySQL komponente:
|
1 |
sudo apt install install mysql-server mysql-client libmysqlclient-dev |
Nakon što je instalacija završena, pokrenite sljedeću MySQL skriptu. Ona će izvršiti brzu konfiguraciju nakon instalacije:
|
1 |
sudo mysql_secure_installation |
Skripta će postaviti više pitanja. Dovršite korake kako biste završili početnu konfiguraciju:
-
Dodatni korak
Sljedeći korak je neobavezan i treba ga učiniti samo ako se kasnije u vodiču Ruby on Rails ne uspije povezati s MySQL poslužiteljem. On postavlja root korisnika u MySQL-u da koristi mysql_native_password kako bi se omogućile tradicionalne prijave lozinkom. Pristupite root računu na Ubuntuu:
|
1 |
sudo su |
Sada pokrenite MySQL root ljusku bez provjere lozinke:
|
1 |
mysql -u root --skip-password |
Zatim pokrenite sljedeći upit kako biste promijenili lozinku i postavili mysql_native_password kao metodu autentifikacije:
|
1 2 |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<password>'; FLUSH PRIVILEGES; |
Korak 2: Instalacija i konfiguracija Rubyja i Ruby on Railsa
Naš poslužitelj baze podataka spreman je za produkciju. Sada moramo instalirati Ruby. Kao što je ranije spomenuto, koristit ćemo rbenv kao upravitelj verzijama Rubyja za naš projekt. Ruby on Rails dostupan je kao Ruby gem.
-
Instalacija rbenv-a
Upravitelj Rubyja rbenv izravno je dostupan sa službenog Ubuntu poslužitelja paketa. Za ostale distribucije pogledajte službeni vodič za instalaciju rbenv-a.
Pokrenite terminal i odmah ga instalirajte:
|
1 |
sudo apt install rbenv |
Zatim moramo integrirati rbenv sa zadanom ljuskom. Pokrenite sljedeću rbenv naredbu:
|
1 |
rbenv init |
Kao što izlaz kaže, za bash moramo uključiti redak u lokalnu bashrc datoteku. Bez previše detalja, bashrc datoteka se učitava svaki put kada korisnik otvori novu ljusku u interaktivnom načinu rada. Otvorite datoteku u uređivaču teksta i dodajte sljedeći tekst:
|
1 |
nano ~/.bashrc |
Spremite datoteku i zatvorite uređivač. Preporučuje se ponovno pokretanje terminala kako bi promjene stupile na snagu. Alternativno, možete ponovno učitati bashrc datoteku u trenutnu ljusku:
|
1 |
source ~/.bashrc |
Zatim ćemo instalirati rbenv priključak kako bismo osigurali podršku za rbenv install naredbu. Ovaj priključak je izravno dostupan iz rbenv GitHub repozitorija. Pokrenite sljedeće naredbe:
|
1 2 |
mkdir -p "$(rbenv root)"/plugins git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build |
Kako biste testirali našu rbenv konfiguraciju, pokrenite rbenv-doctor skriptu:
|
1 |
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash |
Provjerit će razne komponente i izvijestiti je li sve u redu.
-
Instalacija Rubyja
Nakon što je rbenv konfiguriran, spremni smo za instalaciju Rubyja. Sljedeća naredba će izlistati sve dostupne verzije Rubyja:
|
1 |
rbenv install -l |
Izlaz će biti malo duži, pa se preporučuje proslijediti ga kroz more ili less radi lakšeg pregledavanja. Popis također sadrži razne verzije Rubyja. Za potrebe ovog vodiča, usredotočit ćemo se na najnoviju službenu verziju Rubyja. U vrijeme pisanja ovog članka, to je Ruby v3.0.3.
Sada instalirajte Ruby:
|
1 |
rbenv install <ruby_version> |
Sljedeća naredba će deklarirati instalirani Ruby kao globalnu verziju dostupnu svim aplikacijama:
|
1 |
rbenv global <ruby_version> |
Provjerite instalaciju Rubyja:
|
1 |
ruby --version |
-
Instalacija Ruby on Rails
Web radni okvir dostupan je kao gem za Ruby. Iako je Ruby on Rails izravno dostupan s Ubuntu poslužitelja paketa, instalacija kao gem nudi veću fleksibilnost.
Prvo instalirajte gem Bundler. To je alat koji rješava ovisnosti gemova. Rails ovisi o njemu:
|
1 |
gem install bundler |
Pokretanje sljedeće naredbe instalirat će najnoviju stabilnu verziju Ruby on Rails kao gem:
|
1 |
gem install rails |
Ako želite instalirati određenu verziju, struktura naredbe izgledala bi ovako:
|
1 |
gem install rails <rails_version> |
Nakon što su gemovi instalirani, pokrenite sljedeću naredbu:
|
1 |
rbenv rehash |
Upravitelj Rubyja rbenv radi tako da stvara namjenske direktorije za shimove koji upućuju na datoteke trenutno omogućene verzije Rubyja. Podnaredba rehash govori rbenv da održava shimove u tom direktoriju kako bi odgovarali svakoj Ruby naredbi u svim instaliranim verzijama Rubyja na poslužitelju. Treba je pokrenuti svaki put kada instalirate novu verziju Rubyja ili gem koji pruža naredbe slične Railsu.
Provjerite instalaciju Railsa:
|
1 |
rails -v |
Korak 3: Instalacija MySQL gema
Za povezivanje s MySQL poslužiteljem, Rails treba adapter. Koristit ćemo mysql2 gem za ovu funkcionalnost. Instalirajte mysql2 gem:
|
1 |
gem install mysql2 |
Korak 4: Stvaranje i konfiguriranje nove Rails aplikacije
-
Stvaranje ogledne aplikacije
Do sada smo konfigurirali sve potrebne komponente za uspostavu naše Rails aplikacije. Sljedeća naredba stvorit će namjenski direktorij za aplikaciju i postaviti sve potrebne datoteke s podrškom za MySQL:
|
1 |
rails new <app_name> -d mysql |
-
Konfiguriranje MySQL veze
Sada moramo unijeti potrebne MySQL podatke kako bi se Rails mogao povezati s bazom podataka i razmjenjivati podatke. Prema zadanim postavkama, Rails se povezuje s MySQL-om kao root. Otvorite konfiguracijsku datoteku Rails baze podataka:
|
1 2 |
cd <app_dir> nano config/database.yml |
Pomaknite se prema dolje do sljedećeg odjeljka i unesite root lozinku za MySQL. Zatim spremite datoteku i zatvorite uređivač.
-
Implementacija promjena u bazi podataka
Ako je sve prošlo u redu, Rails bi se sada trebao moći povezati s MySQL-om i izvršiti potrebne operacije nad bazom podataka. Sljedeća naredba stvorit će potrebne baze podataka:
|
1 |
rake db:create |
Korak 5: Testiranje konfiguracije
Pokrenite Rails razvojni poslužitelj:
|
1 |
rails server --povezivanje=<server_public_ip> |
Trebali biste moći pristupiti stranici dobrodošlice na sljedećem URL-u:
|
1 |
http://<server_public_ip>:3000 |
Završne misli
U ovom smo vodiču instalirali Ruby pomoću rbenv, instalirali Rails gem i konfigurirali primjer Rails aplikacije za povezivanje s MySQL-om i njegovo korištenje kao baze podataka. Služi kao izvrstan kostur za skalabilnu i centraliziranu web aplikaciju.
Kako biste saznali kako instalirati Ruby on Rails s RVM-om na Ubuntu 20.04, pogledajte sljedeći vodič Instalacija Ruby on Rails s RVM-om na Ubuntu 20.04. Kako biste saznali kako postaviti Ruby on Rails s PostgreSQL-om, pogledajte sljedeći vodič: Postavljanje Ruby on Rails s PostgreSQL-om.
Sretno s radom!






















Komentari
Još nema komentara. Budite prvi.