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

12 set 2022 5 min di lettura
Как установить и настроить Redmine в Ubuntu 18.04 LTS
Indice dei contenuti

Введение

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

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

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

Предпосылки

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

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

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

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Создать базу данных MySQL

Redmine поддерживает MySQL/MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL. В этом руководстве мы будем использовать MySQL в качестве серверной части базы данных.

Если вы еще не установили MySQL на свой сервер Ubuntu, вы можете установить его, следуя этим инструкциям.

Войдите в оболочку MySQL, введя следующую команду:

sudo mysql

Или, если вы установили пароль для пользователя root, используйте следующую команду для входа в оболочку MySQL:

sudo mysql -u root -p

В оболочке 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

Установите 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 обновите список пакетов и установите модуль Nginx Passenger с помощью:

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.1.0.

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

Redmine скачать

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

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

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

cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.1.0 /opt/redmine

Настроить базу данных Redmine

Начните с копирования примера файла конфигурации Redmine:

sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Откройте файл в текстовом редакторе:

sudo nano /opt/redmine/config/database.yml

Найдите раздел production и введите базу данных MySQL и информацию о пользователе, которую мы создали ранее:

production:
 adapter: mysql2
 database: redmine
 host: localhost
 username: redmine
 password: "change-with-strong-password"
 encoding: utf8

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

Установите Ruby-зависимости

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

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

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

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

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

Установите правильные разрешения

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

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

Настроить Nginx

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

Теперь вам нужно настроить Nginx для обслуживания Redmine, обратите внимание на корректное добавление следующих параметровpassenger_enabled passenger_enabled on; passenger_min_instances 1;.

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

sudo nano /etc/nginx/sites-available/example.com
server {

 root /opt/redmine/public;

 index index.html;

 server_name example.com www.example.com;

 access_log /var/log/nginx/example.com.access.log;
 error_log /var/log/nginx/example.com.error.log;


 listen [::]:443 ssl ipv6only=on; # managed by Certbot
 listen 443 ssl; # managed by Certbot
 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 include /etc/letsencrypt/options-ssl-nginx.conf;
 ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;


 passenger_enabled on;
 passenger_min_instances 1;
 client_max_body_size 10m;


 }
 server {
 if ($host = www.example.com) {
 return 301 https://$host$request_uri;
 } # managed by Certbot


 if ($host = example.com) {
 return 301 https://$host$request_uri;
 } # managed by Certbot


 listen 80;
 listen [::]:80;

 server_name example.com www.example.com;
 return 404; # managed by Certbot


 }

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

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.