pl  |  en

rvm

Wpis o instalacji RVMa u nas pojawił się na blogu swego czasu, ale z nowszą wersją projektu zmienił się sposób instalacji i późniejszej konfiguracji i nasz opis przestał być aktualny. Niniejszym uaktualniam wpis i dorzucam do tego opis instalacji Redmine’a.

Instalacja RVMa

Opis z dokumentacji projektu działa z dokładnością do wersji basha. Niestety mamy ciut za starego basha i skrypt instalacyjny czynnie odmawia współpracy, ale po zakomentowaniu sprawdzenia wersji shella wszystko instaluje się i działa poprawnie. A przynajmniej nie trafiłam jeszcze na coś, co nie działa.

Aby zainstalować RVMa trzeba:

  1. pobrać skrypt instalacyjny i uruchomić go z opcją –ruby, która zainstaluje najnowszą stabilną wersję Ruby (aktualnie 1.9.3-p194).
    curl -L https://www.megiteam.pl/site_media/blog/rvm-installer | bash -s stable --ruby
  2. (jeżeli natrafisz na problem, że rvm nie może znaleźć binarnych paczek Ruby, ustaw rmv autolibs disable – nowo zakładane konta mają to ustawienie domyślnie)
  3. tworzymy gemset (ponieważ zamierzam zainstalować Redmine’a to nazwę go sobie – taram taram – redmine)
    rvm gemset create redmine
    rvm gemset use redmine

    3a. jeżeli nie interesuje Cię instalacja Redmine’a to w tym miejscu instalujesz gemy dla swojej aplikacji czy to przez gem install czy bundlera

Aby uruchomić aplikację przez panel ze swoją wersją Ruby i gemsetem musisz w katalogu aplikacji, do pliku .environment dodać

source $HOME/.rvm/environments/ruby-1.9.3-p290@redmine

Linijka powyżej to sposób uruchomienia RVMa dla nieinteraktywnego shella zaczerpnięty z dokumentacji projektu. Jeżeli chcesz użyć RVMa w skrypcie czy w zadaniu uruchamianym z crona to w taki właśnie sposób możecie go uruchomić. Ścieżka będzie oczywiście zależeć od wersji Ruby i utworzonego gemsetu.

Instalacja Redmine’a

Jesteśmy w punkcie 3, mamy zainstalowanego RVMa, Ruby 1.9.3 i stworzony gemset. („gem env” powinien nam pokazać odpowiednią wersję Ruby i ścieżki)

3 b. ściągamy Redmine z repo projektu (obecnie to wersja 1.4)

svn co https://redmine.rubyforge.org/svn/branches/1.4-stable redmine-1.4

4. instalujemy potrzebne gemy

cd redmine-1.4/
gem install bundler
bundle install
gem install thin

5. tworzymy w panelu bazę danych, tworzymy plik z konfiguracją bazy i uzupełniamy w nim dane

mv config/database.yml.example config/database.yml

6. generujemy klucz dla sesji

rake generate_session_store

Komunikat o tym, żeby zainstalować RDoc w nowszej wersji można zignorować. 11. generujemy strukturę bazy

RAILS_ENV=production rake db:migrate

7. ładujemy przykładowe dane

RAILS_ENV=production rake redmine:load_default_data

8. tworzymy plik .environment w katalogu aplikacji z wpisem

source $HOME/.rvm/environments/ruby-1.9.3-p290@redmine

9. dodajemy aplikację w panelu jako typ wybierając „RoR (Ruby x.y.z, Thin); dodajemy domenę

Teoretycznie po krótkiej chwili pod dodaną domeną powinniśmy zobaczyć Redmine’a. Jeżeli jednak praktyka rozminie się z teorią to w /home/LOGIN/logs/KATALOG_APLIKACJI/app.log będą logi z prób uruchomienia aplikacji. Zawsze możesz też napisać do nas (admin@megiteam.pl) – pomożemy uruchomić aplikację.

  • magdazarych

    Jeżeli przy pobieraniu instalatora RVMa pojawi się błąd związany z certyfikatem („ERROR: Certificate verification error for raw.github.com: unable to get local issuer certificate”) trzeba dodać do wgeta opcję „–no-check-certificate”.

  • magdazarych

    Konfiguracja wysyłania maili z Redmine’a w config/configuration.rb powinna wyglądać tak: 

    default:
      email_delivery:
        delivery_method: :smtp
        smtp_settings:
          address: „TwójLogin.megiteam.pl” (dla VPSów domena VPSa)
          port: 25
          enable_starttls_auto: true
          domain: „TwójLogin.megiteam.pl”
          authentication: :login
          user_name: „adres@emai:disqus l”
          password: „TwojeHasło”

  • Tomasz Chabinka

    IMO to „aby uruchomić aplikację przez panel ze swoją wersją Ruby i gemsetem musisz w katalogu aplikacji, do pliku .environment dodać
    ” source $HOME/.rvm/ruby-1.9.3-p194@redmine” (czyli bez environment w ścieżce)
    —-
    Oh, nie, chyba jednak nie tak. Nie wiem jak to zrobić poprawnie 🙁