Как установить и настроить Redmine в Debian 9

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

Redmine — это бесплатное приложение с открытым исходным кодом для управления проектами и отслеживания проблем. Оно кроссплатформенное и кросс-базовое, построенное на фреймворке Ruby on Rails.

Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.

В этом руководстве мы покажем вам, как установить и настроить последнюю версию Redmine на сервере Debian 9, используя MySQL в качестве серверной части базы данных и Passenger + Nginx в качестве сервера приложений Ruby.

Предпосылки

Прежде чем продолжить изучение этого руководства, убедитесь, что выполнены следующие предварительные условия:

Создание базы данных 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 561F9B9CAC40B2F7 sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger stretch main'

Обновите список пакетов и установите модуль Passenger Nginx с помощью:

 sudo apt update sudo 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 /tmp sudo tar zxf /tmp/redmine.tar.gz sudo 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-ri sudo bundle install --without development test postgresql sqlite

4. Сгенерируйте ключи и перенесите базу данных

Выполните следующую команду для генерации ключей и миграции базы данных:

 cd /opt/redmine/ sudo bundle exec rake generate_secret_token sudo 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:

  • Имя пользователя: администратор
  • Пароль: администратор

При первом входе в систему вам будет предложено сменить пароль, как показано ниже:

redmine сменить пароль

После смены пароля вы будете перенаправлены на страницу учетной записи пользователя.

Заключение

Вы успешно установили Redmine в своей системе Debian. Теперь вам следует ознакомиться с документацией Redmine и узнать больше о настройке и использовании Redmine.

Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.

Debian Redmine Ruby MySQL Nginx Не используете Debian 9?
Выберите другую ОС:
центос 7 центос 8 убунту 18.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *