Android

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

OpenProject Top-down Scheduling

OpenProject Top-down Scheduling

Оглавление:

Anonim

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 или MariaDB 10.3.

Если MariaDB или MySQL не установлены на вашем сервере Debian, вы можете установить их, используя эти инструкции.

Начните с входа в консоль 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.

Установка Passenger и Nginx

Passenger - это быстрый и легкий сервер веб-приложений для Ruby, Node.js и Python, который можно интегрировать с Apache и Nginx. Мы установим Passenger как модуль Nginx.

Убедитесь, что Nginx установлен, прежде чем продолжить выполнение следующих шагов.

Установка необходимых пакетов для включения хранилища

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 и установите упаковщик и другие зависимости Ruby:

cd /opt/redmine/ sudo gem install bundler --no-rdoc --no-ri sudo bundle install --without development test postgresql sqlite 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 в своей системе Debian. Теперь вы должны проверить документацию Redmine и узнать больше о том, как настроить и использовать Redmine.

debian redmine ruby ​​mysql nginx