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:

RewriteBase /~login_uzytkownika/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

Przykład - aplikacja 'hello world'

Aby utworzyć testową aplikację należy:
  1. wejść do katalogu domowego użytkownika i wykonać polecenie:
    rails test
    Spowoduje to wygenerowanie szkieletu aplikacji.
  2. wejść do utworzonego katalogu test i wykonać polecenie:
    script/generate controller hello index
    co spowoduje wygenerowanie kontrolera app/controllers/hello_controller ze zdefiniowaną w nim akcją "index" i utworzonym odpowiadającym jej widokiem.
  3. 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
  4. W kolejnym kroku tworzymy link symboliczny w katalogu publc_html:
    cd public_html
    ln -s ../test/public railsapp
    
  5. 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
    
  6. 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.