
Redmine — это бесплатное приложение с открытым исходным кодом для управления проектами и отслеживания проблем. Оно кроссплатформенное и кросс-базовое, построенное на фреймворке Ruby on Rails.
Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.
В этом руководстве мы покажем вам, как установить и настроить последнюю версию Redmine на сервере Debian 9, используя MySQL в качестве серверной части базы данных и Passenger + Nginx в качестве сервера приложений Ruby.
Предпосылки
Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:
- Укажите доменное имя, указывающее на публичный IP-адрес вашего сервера. Мы будем использовать
example.com. - Выполнен вход как пользователь с привилегиями sudo .
- Установите Nginx .
- Установите SSL-сертификат для своего домена.
Создание базы данных MySQL
Redmine поддерживает MySQL/MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL . В качестве серверной базы данных мы будем использовать MariaDB. Убедитесь, что на вашем компьютере установлена версия MySQL 5.7 или выше или выше.
Если на вашем сервере Debian не установлен MariaDB или MySQL, вы можете установить их, следуя этим инструкциям .
Для начала войдите в консоль MySQL, введя:
sudo 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 на надежный пароль.
После этого выйдите из консоли MariaDB, введя:
EXIT;
Установка Ruby
Самый простой способ установить Ruby в Debian — использовать менеджер пакетов apt :
Установите Ruby, введя:
sudo apt install ruby-full
На момент написания статьи в репозиториях Debian находилась версия 2.3.3p222 , которая поддерживается последней версией Redmine.
Если вы хотите установить Ruby через Rbenv или RVM, посетите это руководство .
Установка Passenger и Nginx
Passenger — это быстрый и лёгкий сервер веб-приложений для Ruby, Node.js и Python, интегрируемый с Apache и Nginx. Мы установим Passenger как модуль Nginx.
Прежде чем продолжить выполнение следующих шагов, убедитесь, что Nginx установлен.
Установка необходимых пакетов для включения https-репозитория:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
Импортируйте ключ 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 stretch main'
Обновите список пакетов и установите модуль Passenger Nginx с помощью:
sudo apt updatesudo apt install libnginx-mod-http-passenger
Установка Redmine на Debian
Начните с установки зависимостей, необходимых для сборки Redmine:
sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev
На момент написания статьи последней стабильной версией Redmine является версия 4.0.4.
Прежде чем перейти к следующему шагу, вам следует проверить страницу загрузки Redmine на наличие более новой версии.
1. Загрузка Redmine
Загрузите архив Redmine с помощью следующей команды curl :
sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz
После завершения загрузки извлеките архив и переместите его в каталог /opt :
cd /tmpsudo tar zxf /tmp/redmine.tar.gzsudo mv /tmp/redmine-4.0.4 /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 в своей системе Debian. Теперь вам следует ознакомиться с документацией Redmine и узнать больше о настройке и использовании Redmine.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
Debian Redmine Ruby MySQL Nginx Не используете Debian 9?
Выберите другую ОС: центос 7 центос 8 убунту 18.04
Связанные руководства
- Как установить и настроить Redmine на CentOS 7
- Как установить и настроить Redmine в Ubuntu 18.04
- Как установить и настроить Redmine на CentOS 8
- Защитите Nginx с помощью Let's Encrypt на Debian 10 Linux
- Как настроить репликацию Master-Slave MySQL (MariaDB) в Debian 10
- Как установить MySQL на Debian 10 Linux
- Как установить Nginx на Debian 10 Linux