Пошаговое руководство по установке и первоначальной настройке менеджера проектов 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, где необходимо настроить работу менеджера проектов из дашборда.