Redmine представляет собой довольно широко распространённую систему управления проектами и мониторинга задач с открытым исходным кодом. Эта платформа предоставляет инструменты, которые помогают организовать рабочие процессы в проектах, эффективно управлять заданиями, отслеживать затраченное время, а также следить за изменениями в версиях и многими другими аспектами управления вашими проектами. Система создана с использованием фреймворка Ruby on Rails, является кроссплатформенной и может работать с различными базами данных.
В данной статье рассмотрим процесс установки Redmine на виртуальный выделенный сервер, который работает под управлением ОС Ubuntu 20.04. В качестве веб-сервера мы будем использовать Apache, а также, применим MySQL как систему управления базами данных.
Настройка и запуск Redmine на нашем тестовом сервере будет состоять из нескольких этапов:
- Установка и запуск веб-сервера Apache.
- Установка и настройка СУБД MySQL.
- Установка Ruby.
- Установка и запуск Redmine.
Перед началом работ необходимо произвести первоначальную настройку виртуального сервера, как это описано в соответствующем руководстве нашего справочника. Как минимум, создайте собственного пользователя, который будет иметь привилегии администратора, чтобы не использовать в работе учётную запись суперпользователя. Также для повышения уровня безопасности VPS запустите брандмауэр UFW, разрешив подключение к серверу только по SSH
.
Установка Apache
На первом этапе настройки Redmine необходимо установить и запустить веб-сервер. Как уже упоминалось во вступительной части руководства, в роли веб-сервера мы задействуем Apache.
Перед началом установки нового софта на ваш сервер запустите обновление индекса пакетов в операционной системе:
$ sudo apt update
Далее проинсталлируйте веб-сервер Apache при помощи команды:
$ sudo apt install apache2
После того, как установка завершится, активируйте и запустите Apache:
$ sudo systemctl enable apache2
$ sudo systemctl start apache2
Статус веб-сервера можно увидеть набрав команду:
$ sudo systemctl status apache2

Кроме того, у вас есть возможность посмотреть версию установленного пакета:
$ apache2 -v

Также добавьте разрешающее правило в брандмауэр для Apache:
$ sudo ufw allow 'Apache Full'
Помимо этого, в брандмауэр необходимо добавить разрешающее правило для порта 3000, через который будет осуществляться доступ к пользовательскому интерфейсу устанавливаемого экземпляра Redmine:
$ sudo ufw allow 3000
Чтобы убедиться, что веб-сервер работает корректно, откройте браузер и в его строке наберите IP-адрес вашего виртуального сервера. Если установка и запуск веб-сервера произведены успешно, браузер должен открыть дефолтную страницу Apache:

Установка MySQL
Следующий этап при установке Redmine – инсталляция СУБД MySQL. Более подробно процесс установки MySQL описан в статье нашего справочника – Как установить MySQL на Ubuntu 20.04. Непосредственно установка СУБД запускается при помощи следующей инструкции:
$ sudo apt install mysql-server
По завершении инсталляции MySQL активируйте установленную СУБД:
$ sudo systemctl enable mysql
Затем запустите MySQL:
$ sudo systemctl start mysql
Для того, чтобы увидеть статус MySQL используйте команды:
$ sudo systemctl status mysql

На следующем шаге необходимо изменить некоторые наиболее уязвимые опции СУБД, использующиеся по умолчанию с помощью встроенного в MySQL специального скрипта:
$ sudo mysql_secure_installation
Если в ходе работы скрипта система не предложила вам установить пароль для учётной записи root
, используемой для администрирования СУБД, подключитесь к MySQL при помощи команды:
$ sudo mysql
После чего следующей командой измените метод аутентификации пользователя root
и установите для данной учётной записи новый пароль:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Passw0rd';
Здесь вместо Passw0rd
наберите пароль, с помощью которого пользователь root
будет в дальнейшем подключаться к MySQL.
Далее выйдите из оболочки MySQL:
mysql> exit
После чего подключитесь уже под именем пользователя root
:
$ mysql -u root -p
Подключившись к СУБД необходимо создать новую базу данных, которая будет необходима для установки Redmine, а также соответствующего пользователя с полными привилегиями. В нашем примере и создаваемая учётная запись, и база данных будут называться redmine
. Естественно, на своём VPS вы можете использовать свои имена для пользователя и БД.
mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'Passw0rd';
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
mysql> ALTER USER 'redmine'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Passw0rd';
mysql> exit
В данных командах вместо Passw0rd
придумайте и введите пароль, который будет использоваться для учётной записи, которая в примере носит имя redmine
.
Установка Ruby
Поскольку Redmine написан на Ruby on Rails, необходимо произвести установку Ruby. Основные методы установки Ruby описаны в посвящённой данному вопросу статье. В нашем случае мы будем использовать инсталляцию Ruby при помощи RVM.
Для начала установите необходимые утилиты и зависимости:
$ sudo apt install curl gpg libgdbm-dev libncurses5-dev automake libtool bison libffi-dev build-essential ruby-dev libmysqlclient-dev
Затем импортируйте ключ, необходимый для инсталляции RVM:
$ curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
После чего запустите установку RVM:
$ curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
И, наконец, проинсталлируйте Ruby. Следующая команда произведёт установку Ruby версии 3.1.4:
$ rvm install 3.1.4
Установка Redmine
Теперь, когда мы установили необходимые зависимости, можно приступить к установке непосредственно Redmine. Для этого, прежде всего, загрузите последнюю версию, которая доступна на странице загрузок официального сайта Redmine. В нашем примере мы загрузим дистрибутив в директорию /tmp
:
$ cd /tmp
$ wget https://www.redmine.org/releases/redmine-5.0.5.tar.gz --no-check-certificate
Затем распакуйте загруженный архив и переместите его содержимое в директорию /var/www/redmine
:
$ tar xfz redmine-5.0.5.tar.gz
$ sudo mv redmine-5.0.5 /var/www/redmine
После чего перейдите в данную директорию:
$ cd /var/www/redmine
Далее создайте конфигурационные файлы Redmine. Для этого используйте прилагаемые файлы примеров, они имеют расширение example
:
$ cp config/database.yml.example config/database.yml
$ cp config/configuration.yml.example config/configuration.yml
$ cp public/dispatch.fcgi.example public/dispatch.fcgi
Затем откройте для редактирования файл database.
yml. В нашем примере мы будем использовать текстовый редактор nano
:
$ sudo nano config/database.yml
В тексте файла найдите раздел production
и приведите его содержимое к следующему виду:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "Passw0rd"
encoding: utf8mb4
В данном случае замените Passw0rd
на пароль пользователя redmine
. После чего закройте файл database.yml
сохранив внесённые изменения.
Далее запустите установку менеджера Bundler, который используется для управления зависимостями gem в Ruby-приложениях:
$ gem install bundler
$ bundle config set --local without 'development test'
$ bundle install
$ gem pristine --all
$ bundle add webrick
Затем сгенерируйте рандомный секретный ключ, чтобы предотвратить несанкционированное использование файлов cookie:
$ bundle exec rake generate_secret_token
После чего создайте структуру базы данных и вставьте данные в БД MySQL:
$ RAILS_ENV=production bundle exec rake db:migrate
$ RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
Далее создайте необходимые директории и установите соответствующие разрешения:
$ mkdir -p tmp/pdf
$ mkdir -p public/plugin_assets
$ chown -R $USER:$USER files log tmp public/plugin_assets
$ chmod -R 755 /var/www/redmine/
И наконец, при помощи следующей команды запустите экземпляр сервера Rails:
$ bundle exec rails server -u webrick -e production
Подключение к веб-интерфейсу Redmine
Если все выполненные вами команды отработали успешно, вы можете открыть браузер и получиться к веб-интерфейсу Redmine. Для того, чтобы перейти на стартовую страницу пользовательского интерфейса, в строке браузера наберите адрес в виде IP-вашего-сервера:3000
. Здесь, вместо
следует ввести IP-адрес вашего VPS. В результате система перенаправит вас на домашнюю страницу, которая выглядит следующим образом:IP-вашего-сервера

Для того, чтобы начать использовать только что установленный и запущенный Redmine, необходимо авторизоваться в системе. Как не сложно догадаться, для этого предназначена ссылка Войти
в правом верхнем углу стартовой страницы. Первый вход осуществляется с помощью пользователя admin
, имеющего пароль admin
. При этом система сразу же попросит вас установить новый пароль для последующей авторизации.

После смены пароля вы уже сможете в полной мере использовать свой собственный экземпляр Redmine, установленный на вашем виртуальном сервере.

Заключение
Установка Redmine на Ubuntu 20.04 – значимый шаг в создании функциональной системы управления проектами. Описанный в настоящем руководстве процесс, несмотря на некоторую сложность, предоставляет множество преимуществ, таких как улучшенная координация задач, отслеживание времени и контроль версий, что помогает сделать проектную работу более структурированной и продуктивной. Дополнительная помощь, а также полезная информация по установке и работе системы доступна на официальном сайте Redmine.
Не сохраняются данные в nano, когда прописываешь
$ cp config/database.yml.example config/database.yml
$ cp config/configuration.yml.example config/configuration.yml
$ cp public/dispatch.fcgi.example public/dispatch.fcgi
И при выключении ВМ приходится заново с этого пункта все вводить.
2024-08-20 at 21:27А как сделать чтобы сохранялось?
Комбинация клавиш Ctrl + O сохраняет файл в редакторе nano.
2024-09-13 at 14:21А как сменить порт на стандартный, 80?
2025-01-20 at 23:12Откройте конфигурационный файл Apache, который отвечает за Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Найдите строку, которая начинается с Listen (если её нет, добавьте её). Убедитесь, что порт указан как 80
Listen 80
В блоке измените порт на 80
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /path/to/redmine/public
...
</VirtualHost>
Сохраните файл и перезапустите Apache:
2025-02-03 at 14:40sudo systemctl restart apache2