
Redmine — один из самых популярных программных инструментов с открытым исходным кодом для управления проектами и отслеживания проблем. Он кроссплатформенный и кросс-базовый, построенный на фреймворке Ruby on Rails.
Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.
В этом руководстве описывается, как установить и настроить последнюю версию Redmine на сервере Ubuntu 18.04, используя MySQL в качестве серверной части базы данных и Passenger + Nginx в качестве сервера приложений Ruby.
Предпосылки
Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:
- У вас есть доменное имя, указывающее на публичный IP-адрес вашего сервера. В этом руководстве мы будем использовать
example.com. - Вы вошли в систему как пользователь с привилегиями sudo .
- Вы установили Nginx, следуя этим инструкциям .
- Для вашего домена установлен SSL-сертификат. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .
Создание базы данных MySQL
Redmine поддерживает MySQL/MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL . В этом руководстве мы будем использовать MySQL в качестве серверной базы данных.
Если на вашем сервере Ubuntu еще не установлен MySQL, вы можете выполнить установку, следуя этим инструкциям .
Войдите в оболочку MySQL, введя следующую команду:
sudo mysql
В оболочке MySQL выполните следующий оператор SQL, чтобы создать новую базу данных :
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Затем создайте учетную запись пользователя MySQL и предоставьте доступ к базе данных :
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Обязательно измените change-with-strong-password на надежный пароль.
После этого выйдите из консоли MySQL, введя:
EXIT;
Установка Ruby
Самый простой способ установить Ruby в системе Ubuntu — через менеджер пакетов apt . На момент написания статьи в репозиториях Ubuntu была версия 2.5.1 — последняя стабильная версия Ruby.
Установите Ruby, введя:
sudo apt install ruby-full
Если вы хотите установить Ruby через Rbenv или RVM, проверьте это руководство .
Установка Passenger и Nginx
Passenger — это быстрый и лёгкий сервер веб-приложений для Ruby, Node.js и Python, интегрируемый с Apache и Nginx. Мы установим Passenger как модуль Nginx.
Прежде чем продолжить выполнение следующих шагов, убедитесь, что вы выполнили предварительные требования и установили Nginx.
Начните с установки необходимых пакетов:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates
Импортируйте ключ GPG репозитория и включите репозиторий Phusionpassenger :
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main'
После включения репозитория apt обновите список пакетов и установите модуль Passenger Nginx с помощью:
sudo apt updatesudo apt install libnginx-mod-http-passenger
Установка Redmine в Ubuntu
Начнем с установки зависимостей, необходимых для сборки Redmine:
sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev
На момент написания статьи последней стабильной версией Redmine является версия 4.0.0.
Прежде чем перейти к следующему шагу, проверьте страницу загрузки Redmine, чтобы узнать, доступна ли более новая версия.
1. Загрузка Redmine
Загрузите архив Redmine с помощью следующей команды curl :
sudo curl -L http://www.redmine.org/releases/redmine-4.0.0.tar.gz -o /tmp/redmine.tar.gz
После завершения загрузки извлеките архив и переместите его в каталог /opt :
cd /tmpsudo tar zxf /tmp/redmine.tar.gzsudo mv /tmp/redmine-4.0.0 /opt/redmine
2. Настройка базы данных Redmine
Начните с копирования примера файла конфигурации Redmine:
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
Откройте файл с помощью текстового редактора:
sudo nano /opt/redmine/config/database.yml
Найдите раздел production и введите базу данных MySQL и информацию о пользователе, которую мы создали ранее:
/opt/redmine/config/database.yml
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8
После этого сохраните файл и выйдите из редактора.
3. Установка зависимостей Ruby
Перейдите в каталог redmine и установите bundler и другие зависимости Ruby:
cd /opt/redmine/sudo gem install bundler --no-rdoc --no-risudo bundle install --without development test postgresql sqlite
4. Сгенерируйте ключи и перенесите базу данных
Выполните следующую команду для генерации ключей и миграции базы данных:
cd /opt/redmine/sudo bundle exec rake generate_secret_tokensudo RAILS_ENV=production bundle exec rake db:migrate
5. Установите правильные разрешения
Nginx работает от имени пользователя и группы www-data . Установите необходимые права доступа, выполнив следующую команду chown :
sudo chown -R www-data: /opt/redmine/
Настройка Nginx
К настоящему моменту в вашей системе уже должен быть установлен Nginx с SSL-сертификатом. Если нет, проверьте предварительные требования для этого руководства.
Откройте текстовый редактор и создайте следующий файл блока сервера Nginx :
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
# Redirect HTTP -> HTTPS server { listen 80 ; server_name www.example.com example.com ; include snippets/letsencrypt.conf ; return 301 https://example.com $request_uri ; } # Redirect WWW -> NON WWW server { listen 443 ssl http2 ; server_name www.example.com ; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem ; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem ; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem ; include snippets/ssl.conf ; return 301 https://example.com $request_uri ; } server { listen 443 ssl http2 ; server_name example.com ; root /opt/redmine/public ; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem ; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem ; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem ; include snippets/ssl.conf ; include snippets/letsencrypt.conf ; # log files access_log /var/log/nginx/example.com.access.log ; error_log /var/log/nginx/example.com.error.log ; passenger_enabled on ; passenger_min_instances 1 ; client_max_body_size 10m ; }
Не забудьте заменить example.com на ваш домен Redmine и указать правильный путь к файлам SSL-сертификата. Все HTTP-запросы будут перенаправляться на HTTPS . Фрагменты кода, используемые в этой конфигурации, созданы в этом руководстве .
Включите блок сервера, создав символическую ссылку на каталог sites-enabled :
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Перед перезапуском службы Nginx выполните проверку, чтобы убедиться в отсутствии синтаксических ошибок:
sudo nginx -t
Если ошибок нет, вывод должен выглядеть так:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Наконец, перезапустите службу Nginx , введя:
sudo systemctl restart nginx
Доступ к Redmine
Откройте браузер , введите свой домен и, если установка прошла успешно, появится экран, подобный следующему:

Учетные данные по умолчанию для входа в Redmine:
- Имя пользователя: администратор
- Пароль: администратор
При первом входе в систему вам будет предложено сменить пароль, как показано ниже:

После смены пароля вы будете перенаправлены на страницу учетной записи пользователя.
Заключение
Вы успешно установили Redmine в своей системе Ubuntu. Теперь вам следует ознакомиться с документацией Redmine и узнать больше о настройке и использовании Redmine.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
ubuntu redmine ruby mysql nginx Не используете Ubuntu 18.04?
Выберите другую ОС: центос 7 центос 8 дебиан 9
Связанные руководства
- Как установить и настроить Redmine в Debian 9
- Как установить и настроить Redmine на CentOS 7
- Как установить Magento 2 на Ubuntu 18.04
- Как установить phpMyAdmin с Nginx в Ubuntu 18.04
- Как установить WordPress с Nginx в Ubuntu 18.04
- Как установить Drupal на Ubuntu 18.04
- Как установить и настроить Redmine на CentOS 8