Gitorious - хостинг репозиторіїв на основі розподіленої системи контролю версій Git. Другий за популярністю сервіс після Github. Вихідний код проекту доступний по AGPL ліцензії. AGPL вимагає що б змінений вихідний код програми залишався доступний користувачам по мережі. Тобто якщо ви внесете якісь зміни в свою інсталяцію Gitorious - її користувачам повинні бути доступні всі зміни.
Установка всіх необхідних пакетів для роботи Gitorious:
Встановити стандарти кодування для MySQL:
Установка Ruby Enterprise Edition:
Ruby Enterprise Edition це орієнтована на серверне використання збірка Ruby. Включає в себе оптимізації продуктивності і використання оперативної пам'яті. Детальніше тут.
Установник перевірить наявність всіх необхідних пакетів і в разі чого навіть запропонує їх доставити. Встановлюємо в / opt / ruby-enterprise /
Додамо / opt / ruby-enterprise / bin в змінну $ PATH. Це дозволить виконувати бінарні файли з цієї папки без вказівки повного шляху.
Установка Apache ActiveMQ
Apache ActiveMQ - це message broker з відкритим вихідним кодом, він забезпечує можливість кластеризації, зберігання повідомлень з можливістю використовувати різні БД і необхідний для роботи Gitorious.
І в конфіги /usr/local/apache-activemq/conf/activemq.xml відредагуємо один рядок:
Далі додамо окремого користувача і запустимо ActiveMQ:
Отримуємо вихідні Gitorious і починаємо його налаштування:
Підготуємо директорії для репозиторіїв:
Правимо конфіги Gitorious:
Нам потрібно відредагувати наступні параметри в gitorious.yml:
Виконаємо міграції БД:
якщо отримуєте помилку "uninitialized constant ActiveSupport :: Dependencies :: Mutex":
Тепер додамо адміна:
Тепер додамо скрипти в crontab:
Тепер потрібно запустити їх все вручну або просто перезавантажити систему.
Налаштування nginx
Nginx нам потрібен з кількох причин:
- Thin може обслуговувати тільки одне ROR додаток і якщо ми захочемо розмістити на сервері ще щось - без проксірующего веб-сервера не обійтися.
- Slow-connection. Nginx набагато краще справляється з повільними сполуками і його використання підвищить продуктивність
У /etc/nginx/nginx.conf. в секцію http додамо: