# Установка Redmine на VPS c Ubuntu

Redmine — open-source приложение для управления проектами. Написано на Ruby On Rails и распространяется по лицензии GNU.

Redmine позволяет вести сразу несколько проектов, отслеживать ошибки в них и собирать по ним расширенную статистику.

В этой инструкции мы опишем установку Redmine на VPS под управлением Ubuntu. Для работы нам понадобится только предварительно настроенный сервер.

# Подготовка к установке Redmine

Для полноценной работы Redmine на сервере нам понадобится веб-сервер и система управления базами данных.

В качестве веб-сервера будем использовать Apache с библиотекой mod_passenger, а для работы с базами данных установим MySQL.

Обновим список пакетов apt и установим веб-сервер с дополнительной библиотекой:

sudo apt update

sudo apt install apache2 libapache2-mod-passenger

После установки веб-сервера установим MySQL и mysql-client для работы с Ruby, на котором написан Redmine:

sudo apt install mysql-server mysql-client

В процессе установки и настройки MySQL нужно будет задать пароль для root-пользователя или оставить способ аутентификации по умолчанию, при котором для запуска mysql достаточно root-прав от сервера.

# Установка и настройка Redmine

Устанавливать Redmine и дополнительную библиотеку для работы с MySQL будем с помощью стандартной команды apt:

sudo apt-get install redmine redmine-mysql

В ходе установки нужно будет создать новую базу данных и пользователя для работы с Redmine, а также указать пароль для пользователя.

Также в ходе установки — если ранее на сервере не был установлен — будет установлен Ruby и фреймворк Rails.

После завершения установки нужно обновить все установленные gem’ы до последних версий:

sudo gem update

Теперь убедимся, что bundler установлен:

sudo gem install bundler

Bundler нам понадобится при дальнейшей работе Redmine — с его помощью легко управлять всеми добавленными к Ruby-проекту gem’ами.

После установки Redmine и обновления всех gem’ов перейдём к настройке веб-сервера.

# Настройка Apache

Для правильной работы Redmine нам нужно изменить два файла Apache: конфигурационный файл библиотеки Passenger и стандартный конфигурационный файл виртуального хоста Apache.

Начнём с конфигурационного файла Passenger:

sudo vim /etc/apache2/mods-available/passenger.conf

В открывшийся файл нужно добавить строку PassengerDefaultUser www-data. Остальное содержимое файла оставим без изменений. В итоге файл должен выглядеть так:

<IfModule mod_passenger.c>
  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

Теперь создадим символьную ссылку, чтобы Redmine мог работать с веб-документами:

sudo ln -s /usr/share/redmine/public /var/www/html/redmine

После этого изменим стандартный виртуальный хост Apache:

sudo vim /etc/apache2/sites-available/000-default.conf

В конец открывшегося файла добавим раздел <Directory>, чтобы Apache мог работать с Rails:

<Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

Теперь создадим Gemfile.lock и передадим права на него Apache:

sudo touch /usr/share/redmine/Gemfile.lock
$ sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock

Готово!

Осталось перезапустить веб-сервер:

sudo systemctl restart apache2

Теперь можно проверять работу Redmine. Для этого нужно в адресной строке браузера указать адрес сервера, на котором был установлен Redmine. Если ваш VPS расположен на Джино, можете указать технический адрес сервера.