Запуск Redmine на CentOS Stream 8

Пошаговое руководство по установке и первоначальной настройке менеджера проектов Redmine в связке с веб-сервером Apache и СУБД MariaDB на ОС CentOS Stream 8.5.

В первую очередь добавим пользователя redmine и назначим ему домашний каталог /opt/redmine/

# useradd -r -m -d /opt/redmine redmine

Затем откроем необходимый порт

# firewall-cmd --add-port=3000/tcp --permanent
# firewall-cmd --reload

и в файле /etc/selinux/config исправим строчку

SELINUX=enforcing

на

SELINUX=disabled

Также необходимо будет установить wget

# yum install wget

После этого установим Apache, запустим службу и включим его в автозагрузку

# yum install httpd
# systemctl start httpd
# systemctl enable httpd

Теперь добавим пользователя redmine в группу apache

# usermod -aG redmine apache

Далее установим СУБД MariaDB, запустим службу и включим её в автозагрузку

# yum install mariadb mariadb-server
# systemctl enable mariadb
# systemctl start mariadb

Затем запустим утилиту для быстрой настройки MariaDB

# /usr/bin/mysql_secure_installation

и войдём в консоль mysql

# mysql -u root -p

здесь создадим базу данных redmine_db и пользователя dbuser с полными правами на неё:

CREATE DATABASE redmine_db;
GRANT ALL PRIVILEGES ON redmine_db.* to 'dbuser'@'localhost' IDENTIFIED BY '147258';
FLUSH PRIVILEGES;
EXIT;

147258 — это пароль пользователя БД dbuser.

Теперь установим пакет epel-release и обновим список репозиториев

# yum install epel-release
# yum update

Далее установим необходимые пакеты и библиотеки для работы redmine

# yum install ruby ruby-devel rpm-build libxml2-devel make automake libtool mariadb-devel gcc httpd-devel libcurl-devel gcc-c++
# yum install ImageMagick ImageMagick-devel --skip-broken

Затем скачиваем redmine с официального сайта (на данный момент актуальная версия — 4.2.3) в директорию /tmp

# wget https://redmine.org/releases/redmine-4.2.3.tar.gz -P /tmp

и для пользователя redmine распакуем в директорию /opt/redmine/

# sudo -u redmine tar xzf /tmp/redmine-4.2.3.tar.gz -C /opt/redmine/ --strip-components=1

Переходим на пользователя redmine

# su - redmine

и скопируем файлы конфигурации из примеров (example)

# cp config/configuration.yml.example config/configuration.yml
# cp public/dispatch.fcgi.example public/dispatch.fcgi
# cp config/database.yml.example config/database.yml

После этого открываем файл конфигурации базы данных database.yml

# vi config/database.yml

и в секции production вносим изменения в соответствии с созданными в СУБД пользователем и базой данных:

production:
  adapter: mysql2
  database: redmine_db
  host: localhost
  username: dbuser
  password: "147258"
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4

Затем устанавливаем bundler

# gem install bundler

устанавливаем зависимости

# bundle install --without development test --path vendor/bundle

генерируем сессионные токены

# bundle exec rake generate_secret_token

создаём структуру базы данных

# RAILS_ENV=production bundle exec rake db:migrate

вносим данные конфигурации по умолчанию

# RAILS_ENV=production REDMINE_LANG=ru bundle exec rake redmine:load_default_data

после выполнения этой команды должно появиться такое сообщение:

Default configuration data loaded

задаём пользовательские права на необходимые директории

# chown -R redmine:redmine files log tmp public/plugin_assets
# chmod -R 755 /opt/redmine/

запускаем тест сервера с использованием webrick

# bundle exec rails server webrick -e production

на другой машине в сети в адресной строке браузера вводим:

http://IP_адрес_сервера:3000

должна появиться домашняя страница Redmine

выходим из режима тестирования сочетанием клавиш Ctrl + C

устанавливаем passenger

# gem install passenger --no-rdoc --no-ri

и модуль для Apache

# passenger-install-apache2-module

выбираем Ruby и нажимаем Enter

выходим из консоли пользователя redmine

# exit

и возвращаемся в консоль пользователя root.

Теперь создадим файл конфигурации Redmine для Apache

# touch /etc/httpd/conf.d/redmine.conf

открываем его

# vi /etc/httpd/conf.d/redmine.conf

и вписываем такие строки:

LoadModule passenger_module /opt/redmine/.gem/ruby/gems/passenger-6.0.12/buildout/apache2/mod_passenger.so

Listen 3000
<IfModule mod_passenger.c>
	PassengerRoot /opt/redmine/.gem/ruby/gems/passenger-6.0.12
	PassengerDefaultRuby /usr/bin/ruby
</IfModule>

<VirtualHost *:3000>
	ServerName localhost
	DocumentRoot "/opt/redmine/public"

	CustomLog logs/redmine_access.log combined
	ErrorLog logs/redmine_error_log
	LogLevel warn

	<Directory "/opt/redmine/public">
		Options Indexes ExecCGI FollowSymLinks
		Require all granted
		AllowOverride all
	</Directory>
</VirtualHost>

Не забываем протестировать синтаксис конфигурации Apache

# httpd -t

и если всё нормально, перезапустим службу httpd

# systemctl restart httpd

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

http://IP_адрес_сервера:3000

логинимся: admin/admin

и попадаем в консоль администратора Redmine, где необходимо настроить работу менеджера проектов из дашборда.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *