Preskočiť na obsah
Kategórie
Technológie Tipy a triky

Ruby on Rails – ako na to?

Ruby on Rails vo WebSupport.sk

ruby on rails

Nakoľko sme nedávno na náš zdieľaný webhosting implementovali podporu Ruby on Rails (ktorú si môžete jednoducho aktivovať vo Webadmine), rozhodli sme sa spracovať aj jednoduchý a prehľadný návod, ako by ste mohli tento programovací jazyk a jeho výhody využívať aj na Vašich virtuálnych serveroch.

Na každom virtuálnom serveri je nainštalovaný Debian Lenny, takže pravdepodobne budete oboznámení s jeho nástrojom na správu software:apt-get, resp. aptitude.

Samotný Ruby sa nachádza v štandardných repozitároch, takže Vám stačí jednoducho vykonať:

aptitude install ruby rdoc irb rubygems libzlib-ruby libfcgi-ruby1.8 openssl libopenssl-ruby

čím nainštalujete všetky potrebné programy, knižnice a závislosti.

Keď Vám tieto balíčky zbehnú, bude potrebné nainštalovať aj Rails – framework postavený na scriptovacom jazyku Ruby. Toto je možné realizovať len ak sa Vám úspešne podarilo nainštalovať vyššie uvedený balík rubygems.

gem install rails –include-dependencies

A to je vlastne všetko 🙂

Dodatočne môžete vyžadovať podporu MySQL/PostgreSQL, alebo sqlite. Rieši sa to nasledovnou inštaláciou príslušných knižníc:

aptitude install libmysql-ruby libpgsql-ruby libsqlite3-ruby

Nový RoR projekt vytvoríte tak, že si zvolíte pracovné prostredie (odporúčam napríklad /var/www/ruby) a spustíte príkaz

rails nazovprojektu

V prípade, že v projekte plánujete využívať MySQL databázu (defaultne sa totiž spúšťa spolu s sqlite3), napíšete:

rails nazovprojektu -d mysql

Následne sa automaticky vytvorí základná koreňová štruktúra súborov, potrebných pre beh každej RoR aplikácie.

Posledný krok je spustenie servera – Ruby má možnosť pracovať s niekoľkými rôznymi servermi, spolu s inštaláciou však prichádza Webrick.

Naštartujeme z nášho aplikačného prostredia (/var/www/rails/nazovprojektu)

script/server

a fungujeme.

Webrick však beží na porte 3000, do prehliadača treba teda zadať

http://ip-virtualu:3000

a môžeme teda veselo programovať. 🙂

Taktiež tu je možnosť využiť na interpretovanie Ruby scriptov štandardný Apache

apt-get install apache2 libapache2-mod-fcgid libfcgi-ruby1.8

povolíme nejaké dodatočné moduly

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

a do adresára /var/rails/nazovprojektu/public nahodíme tento htaccess

#AddHandler fastcgi-script .fcgi
#AddHandler cgi-script .cgi
AddHandler fcgid-script .fcgi
Options +FollowSymLinks +ExecCGI

RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
#RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

ErrorDocument 500 „<h2>Application error</h2>Rails application failed to start properly“

Nakoniec  k popisu s Apachom treba ešte nakonfigurovať virtualhost v /etc/apache2/sites-available/default a v prípade, že chceme, aby všetko fungovalo na hlavnom virtualhoste

napísať:

<Virtualhost *:80>
ServerName localhost
DocumentRoot /var/rails/testapp/public

<Directory /var/rails/testapp/public>
Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</Virtualhost>

V prípade, že chceme robiť viacero inštancií pod jedným serverom, tak píšeme

<Virtualhost *:80>
ServerName nazovprojektu.example.com
DocumentRoot /var/rails/nazovprojektu/public/

<Directory /var/rails/nazovprojektu/public>
Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</Virtualhost>

a samozrejme reštart apache /etc/init.d/apache2 restart

V prípade, že sa o Ruby on Rails chcete dozvedieť alebo naučiť niečo viac, nahliadnite do týchto 12 tutorialov – http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials

Autor: Tím Websupport

Sme slobodná a otvorená firma. Robíme to, čo nás baví a chceme každou našou činnosťou posúvať štandardy vyššie.

7 odpovedí na “Ruby on Rails – ako na to?”

Co je to seriozna aplikacia? 🙂 Totiz serioznost v zasade nezavisi priamo od konkretneho programovacieho jazyka – software moze byt na vysokej urovni, ci uz je nakodeny v PHP, Ruby, alebo Ruby enterprise. Clanok je len taky jednoduchy a otestovany pracovny postup, ako nainstalovat Ruby na nasich virtualoch. V zasade vsak podla neho mozete nainstalovat aj Enterprise edition, nie su tam ziadne limity, na virtualoch mozete prevadzkovat akykolvek software. 🙂

Odpovedať

Ako je to z gems pri webhostingu sitemu na mieru? Je mozne poziadat o instalovanie vlastnych? Ako je to s verziami? Ako sa aktualizuje?

Odpovedať

na zdielanom hostingu mame osobitny ruby aplikacny server, ktory ma momentalne
instalovane taketo verzie

ruby 1.8.7
gem 1.2.0

samozrejme tuto konfiguraciu nie je mozne samovolne menit/updatovat/nic.
na virtualoch mozu vsetko.

Odpovedať

Ked uz instalovat, tak gem install -v=2.1.0 rails, aptitude install rails

Odpovedať

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *