Wdrożona usługa obsługi Ruby on rails na serwerze – Instalacja redmine na Debian + serwer apache2

Od pewnego czasu nosiłem się z zamiarem wdrożenia usługi na serwerze, która obsłuży język Ruby on rails. Było to dosyć trudne jak sie okazało – nad konfiguracją spędziłem kilka dni, by dopiąć wszystkiego na ostatni guzik. Sam język ruby on rails potrzebny był mi do zainstalowania/wdrożenia aplikacji Redmine – ciekawy projekt zarządzania zasobami/projektami programistycznymi/www itd.

Kilka błędów jakie popełniłem na początku:

-> Praca do późna,
-> Niezrozumiałość technologii z jaką walcze,

Wystarczyło podejść do tematu nieco schematycznie i zacząć od nowa z konfiguracją – aktualnie wdrożyłem Ruby on rails korzystajac z moduuł passenger ( na serwer apache ), nie ma tutaj konieczności uruchamiania kolejnych instancji serwera ruby on rails, sa one automatycznie tworzona przez apache2(korzysta z modułu).

Poniżej zamieszczam opis z którego również korzystałem – okazał się być najbardziej pomocny. Zmieniło się jednak kilka informacji – tzn. wersje modułu passenger ( wystarczy zmienić ścieżki do modułu – nic więcej, miałem tez problem z zależnościami które mnie nekały – trzeba było poguglać z głowy nie wyciągne tego. W razie czego pomogę! )

Swoją instalacje oparłem na opcji ze kazdy użytkownik /home/xxx ma swojąwersje swojego redmine 🙂

Aktualnie możemy pochwalic się możliwością wdrożenia redmine ! – Zapraszam do kontaktu — sobierajdaw@gmail.com

Poniżej została opisana instalacja na Debianie i Apache, aczkolwiek mamy znacznie więcej możliwości uruchomienia systemu. Na www.redmine.org/wiki/redmine/HowTos zostało opisane wiele sposobów instalacji.

1. Pobieramy źródła z http://www.redmine.org/wiki/redmine/Download. Mamy do wyboru

archiwum tar, repozytorium SVN i GIT

2. Tworzymy użytkownika i bazę danych, w tym przykładzie posłużymy się bazą na MySql.

3. Kopiujemy plik config/database.yml.example do config/database.yml i edytujemy sekcję production
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: moje_hasło

4. Kopiujemy plik config/email.yml.example do config/email.yml i edytujemy sekcję production. Poniżej przykładowa konfiguracja dla Gmaila
production:
delivery_method: :smtp
smtp_settings:
tls: true
address: „smtp.gmail.com”
port: '587′
domain: „smtp.gmail.com”
authentication: :plain
user_name: „your_email@gmail.com”
password: „your_password”

5. Wykonujemy polecenia:
rake generate_session_store
RAILS_ENV=production rake db:migrate

Jeśli mamy „czystą” instalację Debiana może pojawić się konieczność doinstalowania kilku rzeczy. U mnie były to rake, rubygems, rails, libopenssl-ruby1.8, libmysql-ruby. Na innych dystrybucjach mogą to być inne pakiety, należy podążać za instrukcjami instalatora, który na bieżąco podpowiada nam czego brakuje.
6. Teraz możemy załadować domyślne dane i konfigurację
RAILS_ENV=production rake redmine:load_default_data

7. Tworzymy katalogi temp i plugin_assets oraz ustawiamy właściciela i prawa dostępu
mkdir tmp public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

8. Teraz możemy przetestować naszą instalację, uruchamiamy
ruby script/server webrick -e production

Jeśli dostaniemy taką informację:
INFO WEBrick::HTTPServer#start: pid=6363 port=3000

oznacza to, że serwer się uruchomił i działa na porcie 3000.
Możemy się teraz zalogować do naszego redmine wchodząc na
adres_naszego_serwera:3000
Konfiguracja Apache do pracy z redmine

1. Na początku instalujemy następujące pakiety:
aptitude install ruby-dev
gem install passenger
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.14/bin/passenger-install-apache2-module

Po uruchomieniu ostatniego polecenia, może być konieczne doinstalowanie niezbędnych pakietów. Instalator przeprowadzi nas przez cały proces, podpowie nam co i w jaki sposób trzeba zainstalować.

2. W katalogu /etc/apache2/mods-available tworzymy pliki passenger.load i passenger.conf, ścieżki mogą się nieco różnić od tych w artykule, instalator po zakończeniu poda nam ścieżki do instalacji mod_passenger

W pliku passenger.load wpisujemy:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so

W passenger.conf wpisujemy:
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0
PassengerRuby /usr/bin/ruby1.8

Następnie włączamy moduł passenger
a2enmod passenger

3. W katalogu /etc/apache2/sites-available tworzymy plik redmine i umieszczamy w
nim konfigurację:
ServerName redmine.xyz.pl
DocumentRoot /home/redmine/public
AllowOverride all
Options -MultiViews

Gdzie redmine.xyz.pl to adres pod którym chcemy mieć naszą instalację, a /home/redmine to katalog w którym zainstalowaliśmy redmine.
4. Po wykonaniu tych czynności restartujemy apache /etc/init.d/apache2 restart
5. Po wejściu na redmine.xyz.pl widzimy okno logowania (domyślny login i hasło:admin)

Autor : http://maciekkuchnik.info/instalacja-redmine-na-debianie-i-serwerze-apache/

 

Dodaj komentarz