Как установить и настроить Redmine на CentOS 8

12 set 2022 4 min di lettura
Как установить и настроить Redmine на CentOS 8
Indice dei contenuti

Введение

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

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

В этом руководстве объясняется, как установить и настроить последнюю версию Redmine на CentOS 8. Мы будем использовать MariaDB в качестве базы данных и Passenger + Apache в качестве сервера приложений Ruby.

Предпосылки

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

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

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

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

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

sudo mysql

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

sudo mysql -u root -p

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

CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';

Убедитесь, что вы изменили « change-with-strong-password » на надежный пароль.

После этого выйдите из оболочки MySQL:

EXIT;

Установите Passenger, Apache и Ruby

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

Включите репозиторий EPEL:

sudo dnf install epel-release
sudo dnf config-manager --enable epel

После включения репозитория обновите список пакетов и установите Ruby, Apache и Passenger:

sudo dnf install httpd mod_passenger passenger passenger-devel ruby

Запустите службу Apache и включите ее запуск при запуске:

sudo systemctl enable httpd --now

Создайте нового системного пользователя

Создайте нового пользователя и группу с домашним каталогом /opt/redmine, который будет запускать экземпляр Redmine:

sudo useradd -m -U -r -d /opt/redmine redmine

Добавьте пользователя redmine в группу apache и измените права доступа к /opt/redmine, чтобы Apache мог получить к нему доступ:

sudo usermod -a -G redmine apache
sudo chmod 750 /opt/redmine

Установить Redmine

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

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

Установите компилятор GCC и библиотеки, необходимые для компиляции Redmine:

sudo dnf install make automake curl-devel glibc-devel git bzip2 nano wget tar gettext-devel openssl-devel zlib-devel gcc autoconf mariadb-devel redhat-rpm-config ruby-devel

Убедитесь, что вы выполняете следующие шаги как пользователь redmine:

sudo su - redmine

Redmine скачать

Скачайте архив Redmine с curl:

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

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

tar -xvf redmine.tar.gz

Настройка базы данных Redmine

Скопируйте файл конфигурации образца базы данных Redmine:

cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml

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

nano /opt/redmine/redmine-4.1.0/config/database.yml

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

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

Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.

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

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

cd ~/redmine-4.1.0
gem install bundler --no-rdoc --no-ri
bundle install --without development test postgresql sqlite --path vendor/bundle

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

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

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate

Настроить Apache

Вернитесь к своему пользователю sudo и создайте следующий vhost-файл Apache:

exit
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
 ServerName example.com
 ServerAlias www.example.com
 DocumentRoot /opt/redmine/redmine-4.1.0/public

 <Directory /opt/redmine/redmine-4.1.0/public>
 Options Indexes ExecCGI FollowSymLinks
 Require all granted
 AllowOverride all
 </Directory>

 ErrorLog /var/log/httpd/example.com-error.log
 CustomLog /var/log/httpd/example.com-access.log combined
 </VirtualHost>
example.com

Перезапустите службу Apache, набрав:

sudo systemctl restart httpd

Настройте Apache с SSL

Если у вас нет доверенного SSL-сертификата для вашего домена, вы можете создать бесплатный SSL-сертификат Let's Encrypt. Следуя этим инструкциям, вы сможете автоматически установить и настроить бесплатный SSL-сертификат Let's Encrypt.

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

sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
 ServerName example.com
 ServerAlias www.example.com
 DocumentRoot /opt/redmine/redmine-4.1.0/public

 <Directory /opt/redmine/redmine-4.1.0/public>
 Options Indexes ExecCGI FollowSymLinks
 Require all granted
 AllowOverride all
 </Directory>

 ErrorLog /var/log/httpd/example.com-error.log
 CustomLog /var/log/httpd/example.com-access.log combined

 RewriteEngine on
 RewriteCond %{SERVER_NAME} =www.example.com [OR]
 RewriteCond %{SERVER_NAME} =example.com
 RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
 </VirtualHost>
HTTP-запросы будут перенаправлены на HTTPS

Войдите в Redmine

Откройте браузер и введите свой домен https://DOMINIO/login.

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

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

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

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

Если вы не можете получить доступ к странице, возможно, ваш брандмауэр блокирует порты Apache.

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

sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload

Вывод

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