Gitorious
1. Z repozytorium gitoriousa pobierz źródła projektu
git clone git://gitorious.org/gitorious/mainline.git gitorious
Przeczytaj README - poniższy opis ma pomóc uruchomić Gitoriousa, ale nie zastąpi dokumentacji tego projektu.
2. Załóż bazę danych przez panel administracyjny i skonfiguruj połączenie do niej w pliku gitorius/config/database.yml. Przykładowy plik znajdziesz w gitorious/config/database.sample.yml. Uzupełnij sekcję "production"
3. Skopiuj plik gitorious/config/gitorious.sample.yml do gitorious/config/gitorious.yml i wyedytuj nowo powstałą kopię. Ustaw
cookie_secret - losowy ciąg znaków repository_base_path: /home/<TwójLogin>/www/git-repos - katalog na repozytoria gitorious_host: TwojaDomena.pl - domena pod którą będzie serwis gitorious_user: TwójLogin gitorious_support_email: Twój e-mail archive_cache_dir: /home/<TwójLogin>/www/tarballs-cache archive_work_dir: /home/<TwójLogin>/www/tarballs-work
Ścieżki możesz ustawić dowolne, byle byłyby to ścieżki w Twoim katalogu domowym.
4. Zainstaluj potrzebne gemy
gem install chronic --no-ri --no-rdoc gem install ruby-hmac --no-ri --no-rdoc
Resztę da się zainstalować przez rake gems:install
cd gitorious; env RAILS_ENV=production rake gems:install
5. Utwórz tabele
env RAILS_ENV=production rake db:migrate
6. Skonfiguruj Sphinxa
env RAILS_ENV=production rake ultrasphinx:configure env RAILS_ENV=production rake ultrasphinx:index
W pliku gitorious/config/ultrasphinx/production.conf będzie konfiguracja Sphinxa. W sekcji searchd w zmiennej address zamiast 0.0.0.0 wpisz adres IP swojego konta (własne demony można uruchamiać tylko na własnym adresie IP).
env RAILS_ENV=production rake ultrasphinx:daemon:start
7. Dodaj aplikację w panelu: jako typ wybierz RoR (Ruby 1.8, Thin), katalog to gitorious. Nie zapomnij o dodaniu domeny. Po chwili powinieneś pod nią zobaczyć domyślną stronę gitoriousa.
To jeszcze nie koniec :) Gitorious do zarządzania kluczami SSH potrzebuje brokera STOMP. Autorzy Gitoriousa polecają ActiveMQ napisany w Javie, ale w mniejszych zastosowaniach równie dobrze sprawdzi się dużo lżejszy StompServer. Zainstaluj go poleceniem
gem install stompserver --no-ri --no-rdoc
i uruchom (w katalogu gitorious)
stompserver 2>&1 > log/stompserver.log &
Aplikacja webowa w Railsach przekazuje wiadomości (np. dodaj klucz SSH dla danego użytkownika) do brokera STOMP z którego czytają je konsumenci i wykonują określone akcje. Takim konsumentem w Gitoriousie jest skrypt script/poller. Zanim go uruchomisz musisz utworzyć 2 katalogi
mkdir tmp/pids (w katalogu gitorious) mkdir $HOME/.ssh ; chmod 700 $HOME/.ssh env RAILS_ENV=production script/poller start
Powinieneś już móc zarządzać kluczami SSH przez webowe GUI Gitoriousa.
Uwaga: Gitorious napisany jest w Ruby (GUI oparte o Ruby on Rails) i nawet po zastąpieniu ActiveMQ mniej pamięciożernym StompServer całośc zajmuje ok. 160 MB.