Если вы попали в эту тему, то вы уже понимаете что такое Redmine и зачем он нужен.
Данный мануал не претендует на звание лучше или еще чего-то, тут я постарался запомнить для себя, ошибки и проблемы, с которыми столкнулся во время установки.
Ставить будем последнюю на текущий момент версию Redmine 4.1 RedmineInstall
Redmine version Supported Ruby versions Rails version used
4.1 Ruby 2.3, 2.4, 2.5, 2.6 Rails 5.2
4.0 Ruby 2.21, 2.3, 2.4, 2.5, 2.6 Rails 5.2
Поэтому будет ставить:
ruby 2.6
rails 5.2
Установка ruby 2.6 из rvm
[bash title=»код»]rvm list known
rvm install 2.6[/bash]
В итоге должны получить что-то подобное:
[bash title=»код»][root@bugs bugs]# ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux][/bash]
Создаём gemset для использовании в проекте
[bash title=»код»]rvm gemset create max
rvm gemset use max[/bash]
Скрипт Redmine скачиваем с офсайта, либо загружаем через svn, либо любым другим способом.
Я расположил его в web каталоге /home/www/bugs/
Переходим в каталог и создаём файлы gemsetа для использования в проекте
[bash title=»код»]cd /home/www/bugs/[/bash]
[bash title=»код»]nano .ruby-version[/bash]
ruby-2.6.5
[bash title=»код»]nano .ruby-gemset[/bash]
max
Установка rails 5.2
[bash title=»код»]gem install rails -v 5.2.0
bundle install
rails -v[/bash]
Должны получить версию rails
[root@bugs bugs]# rails -v
Rails 5.2.4.2
Установка passenger
[bash title=»код»]gem install passenger[/bash]
Дальше, у меня были трудности при использовании passenger-install-apache2-module, потому как я использую версию httpd24
Для обычной версии Apache2 (httpd), достаточно будет установить:
[bash title=»код»]yum install httpd‐devel apr‐devel apr‐util‐devel[/bash]
Но с версией httpd24, необходимо выполнить:
[bash title=»код»]export HTTPD="/opt/rh/httpd24/root/usr/sbin/httpd"
export APXS2="/opt/rh/httpd24/root/usr/bin/apxs"
export APXS2="/opt/rh/httpd24/root/usr/bin/apxs"
export APR_CONFIG="/opt/rh/httpd24/root/usr/bin/apr-1-config"
export APU_CONFIG="/opt/rh/httpd24/root/usr/bin/apu-1-config"[/bash]
После чего можно идти дальше:
[bash title=»код»]passenger-install-apache2-module[/bash]
Если всё нормально, то будет компилировать модуль mod_passenger.so, если нет, вы увидите ошибки чего не хватает.
При удачном раскладе, вы получите код, который необходимо добавить в конфиг Apache:
У меня он расположен по пути:
[bash title=»код»]nano /etc/httpd/conf/Includes/passenger.conf[/bash]
[bash title=»код»] LoadModule passenger_module /root/.rvm/gems/ruby-2.6.5@max/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so
<ifmodule mod_passenger.c>
PassengerRoot /root/.rvm/gems/ruby-2.6.5@max/gems/passenger-6.0.4
PassengerDefaultRuby /root/.rvm/gems/ruby-2.6.5@max/wrappers/ruby
</ifmodule>[/bash]
Настройка Redmine:
Конфигурационные файлы:
Копируем config/database.yml.example в config/database.yml
Выбираете свой тип базы данных и название базы
У меня MySQL с именем БД redmine
[bash title=»код»]production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "my_password" [/bash]
Копируем config/configuration.yml.example в config/configuration.yml
Конфиг наших вложений и файлов:
[bash title=»код»]attachments_storage_path: /home/www/bugs/files[/bash]
В этом же файле
Настройка почты Redmine
обратите внимание на пробелы в конфиге:
[bash title=»код»]default:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.mail.ru
port: 465
ssl: true
enable_starttls_auto: true
domain: mail.ru
authentication: :login
user_name: "[email protected]"
password: "ваш пароль"[/bash]
Продолжаем…
[bash title=»код»]bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate[/bash]
Заполняем базу дефолтными значениями:
[bash title=»код»]RAILS_ENV=production bundle exec rake redmine:load_default_data[/bash]
Даём права на каталоги:
[bash title=»код»]sudo chown -R redmine:redmine files log tmp
sudo chmod -R 755 files log tmp[/bash]
Конфигурация Virtualhost httpd24 + php73-fpm
У меня используется httpd24 + php73-fpm, поэтому конфиг такой:
[bash title=»код»]<virtualhost *:8080>
ServerName bugs.hd.zp.ua
ServerAdmin [email protected]
DocumentRoot /home/www/bugs/public
<directory /home/www/bugs/public>
Allow from all
Options -MultiViews
Require all granted
</directory>
<filesmatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9001"
</filesmatch>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/www/bugs/public/$1
</virtualhost>[/bash]
Понеслась:
[bash title=»код»]service httpd restart[/bash]