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

How To Install and Configure Redmine on Ubuntu 18.04

8 Февраля 2021 | Ubuntu

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

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

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

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

Прежде чем приступить

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

  • У вас есть доменное имя, указывающее на общедоступный 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 561F9B9CAC40B2F7 sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main' 


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

sudo apt update sudo 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 /tmp sudo tar zxf /tmp/redmine.tar.gz sudo 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 и установите бандлер и другие зависимости 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 по умолчанию:

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

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

Redmine изменить пароль

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

Заключение 

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


    Комментарии

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

Загрузка комментариев...