Android

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

How To : Install Docker on Ubuntu 18.04 LTS

How To : Install Docker on Ubuntu 18.04 LTS

Оглавление:

Anonim

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

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

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

Предпосылки

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

  • У вас есть доменное имя, указывающее на публичный IP вашего сервера. В этом руководстве мы будем использовать example.com Вы вошли как пользователь с привилегиями sudo. У вас установлен Nginx, следуя этим инструкциям. У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям.

Создание базы данных MySQL

Redmine поддерживает MySQL / MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL. В этом уроке мы будем использовать 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

Установка 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 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 в вашей системе Ubuntu. Теперь вы должны проверить документацию Redmine и узнать больше о том, как настроить и использовать Redmine.

Ubuntu Redmine Рубин MySQL Nginx