Об установке Gitlab на сервере под управлением Debian Squeeze ранее уже было написано. Теперь разберемся, как добавить на сервер систему управления проектами Redmine и по возможности не сломать управление репозиториями.
Согласно официальной документации Redmine работа с бэкендом на ruby должна осуществляться через Apache mod passenger. Дальше будет описан способ отказаться от Apache и настроить работу через Nginx.
Для начала скачиваем репозиторий в рабочий каталог. По аналогии с прошлой статьей выберем /home в качестве каталога с приложениями:
cd /home git clone https://github.com/redmine/redmine.git
Установим gem для работы с mysql и кучу девовских пакетов (так просят разработчики). После установки всех зависимостей собираем redmine для работы с MySQL (есть возможность работы с PostrgeSQL, но мы уже использовали первую БД в прошлой статье, а зоопарк нам ни к чему):
gem install bundler mysql2 apt-get install libmagickwand-dev libmysqlclient-dev bundle install --without postgresql
Входим в консоль MySQL:
mysql -u root -p
Cоздаем новую БД (не забываем исправить команду, добавив свой пароль):
mysql> create database redmine character set utf8; mysql> create user 'redmine'@'localhost' identified by 'PASSWORD'; mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
После этого необходимо указать данные для доступа к созданной базе в настройках redmine в секции production:
cp config/database.yml.example config/database.yml mcedit config/database.yml
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "PASSWORD" encoding: utf8
Создаем секретный токен и наполняем базу данных
rake generate_secret_token RAILS_ENV=production rake db:migrate
Создаем временные папки, выставляем необходимые для корректной работы права доступа и пробуем запустить приложение
mkdir tmp tmp/pdf public/plugin_assets chown -R www-data:www-data files log tmp public/plugin_assets chmod -R 755 files log tmp public/plugin_assets ruby script/rails server webrick -e production
=> Booting WEBrick => Rails 3.2.19 application starting in production on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server
В случае успешного запуска главная страница redmine будет доступна через браузер на 3000 порту внешнего IP адреса сервера.
Теперь настроим автоматический запуск webrick при старте компьютера, для этого создаём run-скрипт /etc/init.d/webrick следующего содержания:
webrick
Сохраняем файл в директории /etc/init.d, убираем расширение txt и делаем исполняемым. Если для приложения была выбрана директория, отличная от /home/redmine, изменяем переменную DIR в начале скрипта.
wget -O /etc/init.d/webrick /wp-content/uploads/2014/08/webrick.txt chmod +x /etc/init.d/webrick
Вносим скрипт в автозагрузку:
update-rc.d redmine defaults 21
Запускаем приложение:
/etc/init.d/redmine start
[....] Starting Redmine WebRick:=> Booting WEBrick => Rails 3.2.19 application starting in production on http://0.0.0.0:3000 . ok
Конфигурирование nginx сводится к проксированию запросов на локальный порт 3000, при этом рекомендуется закрыть доступ к этому порту извне в целях безопасности.
server {
listen 80;
server_name <ВАШ ХОСТ>;location / {
proxy_pass http://127.0.0.1:3000;
}
}
Ссылки: