Instrukcja uruchamiania aplikacji RoR na wierzbie
Na wierzbie nie należy uruchamiać aplikacji za pomocą serwera WEBrick, dostępny jest odpowiednio skonfigurowany Apache. Każdy użytkownik może uruchamiać jedną aplikację Ruby on Rails. W tym celu w katalogu public_html należy utworzyć link symboliczny o nazwie railsapp do katalogu public naszej aplikacji, która może być zapisana np. w katalogu domowym *. Na przykład w przypadku gdy nasza aplikacja o nazwie "test" znajduje się w katalogu domowym:
- katalog domowy
- test
- app
- config
- ...
- public
- ...
to aby utworzyć link symboliczny railsapp w public_html użyjemy nastepującego polecenia (w katalogu domowym):
cd public_html
ln -s ../test/public railsapp
Bazowy url aplikacji będzie miał następującą postać: wierzba.wzks.uj.edu.pl/~login_uzytkownika/railsapp
Aby aplikacja działała poprawnie konieczna jest edycja pliku public/.htaccess (jest to plik ukryty, aby go wylistować trzeba podać do ls opcję -a).
Należy w nim odnaleźć zakomentowaną linię zaczynającą się od "RewriteBase", odkomentować ją i zmienić na:
Na koniec należy się upewnić, ze apache ma uprawnienia zapisu do podkatalogów /tmp oraz /log w naszej aplikacji. Gdyby tak nie było:
RewriteBase /~login_uzytkownika/railsapp
chmod -R a+w tmp
chmod -R a+w log
Przykład - aplikacja 'hello world'
Aby utworzyć testową aplikację należy:- wejść do katalogu domowego użytkownika i wykonać polecenie:
Spowoduje to wygenerowanie szkieletu aplikacji.rails test
- wejść do utworzonego katalogu test i wykonać polecenie:
co spowoduje wygenerowanie kontrolera app/controllers/hello_controller ze zdefiniowaną w nim akcją "index" i utworzonym odpowiadającym jej widokiem.script/generate controller hello index
- Kolejnym krokiem jest edycja pliku test/public/.htaccess. Należy w nim odnaleźć zakomentowaną linię zaczynającą się od "RewriteBase", odkomentować ją i zmienić na:
RewriteBase /~login_uzytkownika/railsapp
- W kolejnym kroku tworzymy link symboliczny w katalogu publc_html:
cd public_html ln -s ../test/public railsapp
- Na koniec należy się upewnić, ze apache ma uprawnienia zapisu do podkatalogów /tmp oraz /log w naszej aplikacji. Gdyby tak nie było:
chmod -R a+w tmp chmod -R a+w log
- Aby sprawdzić działanie należy otworzyć adres:
http://wierzba.wzks.uj.edu.pl/~login_uzytkownika/railsapp/hello
* W zeszłym roku sposób instalacji był nieco inny; aplikacje zainstalowane "po staremu" wciąż powinny działać, jednak zalecane jest stosowanie nowej metody.