U prethodnom smo članku pisali o Django frameworku pa bi bio red da se osvrnemo i na Ruby on Rails – najpoznatiji web framework napisan Ruby programskim jezikom.
Pošto smo već spominjali što je to framework i koje prednosti pruža, najbolje da se ne osvrćemo previše na taj dio već da se fokusiramo na tehničke detalje.
Plus hosting i Ruby on Rails
Plus hosting je već neko vrijeme podržavao Ruby on Rails preko Mongrel servera te cPanel sučelja. Nažalost ta opcija nije bila idealna iz više razloga. Ruby svijet vrlo je dinamičan te se stalno mijenja, a tako se stvaraju i nove deploy opcije. Jedna od najpopularnijih te ujedno i najlakših pojavila se relativno nedavno. Riječ je o Phusion Passenger Apache/nginx modulu, takozvani mod_rails
ili mod_rack
koji je ujedno i službeno postao preferirani način za upogoniti vašu Rails aplikaciju.
Sa zadovoljstvom nam je napomenuti da ste od sada slobodni iskoristiti sve prednosti koje pruža Ruby and Rails framework na način da vašim aplikacijama pružite dom na već postojećim Sprint paketima.
Tehnikalije
Plus hosting koristi Ruby Enterprise Edition (dalje u tekstu REE) koji je posebno prilagođen za manju potrošnju memorije. Radi brže u tipičnim shared hosting okruženjima ili pak na VPS sustavima gladnim memorije. REE je uparen sa prethodno spomenutim Apache Phusion Passenger modulom kako bi pružio kompletno rješenje za vaše Rails aplikacije. Uz REE, instaliraju se i Rails te Bundler gemovi tako da je vrlo lako započeti.
Kratki tutorial
Prvi korak je da preko SSH protokola kreirate vašu prvu Rails aplikaciju (ovu naredbu preporučuje se izvršiti u vašem home folderu, dakle izvan public_html
foldera):
rails new <ime> --old-style-hash
Nakon toga dovoljno je kontaktirati Plus hosting korisničku podršku tako da se otvori ticket ili pošalje mail na support@plus.hr kako bi vam aktivirali Ruby hosting.
Osim ova dva jednostavna koraka sve što ostaje je instalirati željene gemove. To se radi na način da se otvori datoteka imenom Gemfile
u rootu vaše aplikacije. Tamo se specificiraju gemovi koje vaša aplikacija treba te se nakon toga pokrene sljedeća naredba:
bundle install --path=vendor/bundler
Ta naredba će instalirati tražene gemove u vendor/bundler
folder gdje ih Rails po defaultu traži. Ako neki gem zapne pri instalaciji slobodno nas kontaktirajte i mi ćemo dati sve od sebe da isti upogonimo. Nakon što neke gemove dodate ili uklonite, path nije potrebno specificirati jer ga bundler zapamti, tako da je dovoljno pokrenuti bundle install
.
Ako imate potrebu za restartom aplikacije, sve što treba je ‘dotaknuti’ restart.txt
datoteku u tmp
direktoriju:
touch tmp/restart.txt
U kratkim crtama to je to! Zvuči jednostavno? Možda zato što zbilja je 🙂