ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить и настроить Redmine в Ubuntu 18.04

Redmine – один из самых популярных программных инструментов для управления проектами с открытым исходным кодом. Это кроссплатформенная и кросс-база данных, построенная на основе инфраструктуры Ruby on Rails.

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

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

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

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 в вашей системе Ubuntu – через менеджер пакетов apt. На момент написания, версия в репозиториях Ubuntu была 2.5.1, которая является последней стабильной версией Ruby.

Установите Ruby, набрав:

sudo apt install ruby-full

 

Если вы хотите установить Ruby через Rbenv или RVM, проверьте это руководство.

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'

 

После того, как хранилище будет включено, обновите список пакетов и установите модуль Passenger Nginx:

sudo apt updatesudo apt install libnginx-mod-http-passenger

 

Начнем с установки зависимостей, необходимых для сборки Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev

 

 

На момент написания этой статьи последней стабильной версией Redmine была версия 3.4.6.

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

Загрузите архив Redmine с помощью следующей команды curl :

sudo curl -L http://www.redmine.org/releases/redmine-3.4.6.tar.gz -o /tmp/redmine.tar.gz

 

После завершения загрузки распакуйте архив и переместите его в каталог /opt:

sudo tar zxf /tmp/redmine.tar.gzsudo mv /tmp/redmine-3.4.6 /opt/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

 

 

После этого сохраните файл и выйдите из редактора.

Перейдите в каталог redmine и установите упаковщик и другие зависимости Ruby:

cd /opt/redmine/sudo gem install bundler --no-rdoc --no-risudo bundle install --without development test postgresql sqlite

 

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

cd /opt/redmine/sudo bundle exec rake generate_secret_tokensudo RAILS_ENV=production bundle exec rake db:migrate

 

Nginx работает как пользователь и группа www-data. Установите правильные разрешения, введя следующую команду chown:

sudo chown -R www-data: /opt/redmine/

 

К настоящему времени в вашей системе уже должен быть установлен Nginx с SSL-сертификатом, если не проверены предварительные условия для этой статьи.

Откройте ваш текстовый редактор и создайте следующий файл блока сервера Nginx:

sudo nano /etc/nginx/sites-available/example.ru

 

/etc/nginx/sites-available/example.ru

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.ru example.ru;

    include snippets/letsencrypt.conf;
    return 301 https://example.ru$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.ru;

    ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.ru/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.ru$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.ru;

    root /opt/redmine/public;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.ru/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.ru.access.log;
    error_log /var/log/nginx/example.ru.error.log;

    passenger_enabled on;
    passenger_min_instances 1;
    client_max_body_size 10m;
}

 

Не забудьте заменить example.ru доменом Redmine и указать правильный путь к файлам SSL-сертификатов. Фрагменты, используемые в этой конфигурации, созданы в этом руководстве.

Включите блок сервера, создав символическую ссылку на sites-enabledкаталог:

sudo ln -s /etc/nginx/sites-available/example.ru /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 в Ubuntu 18.04

Учетные данные по умолчанию для Redmine:

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

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

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

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

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

Exit mobile version