5
Май

Установка Redmine 4.1 на Centos 6 Apache2.4 (httpd24)

Если вы попали в эту тему, то вы уже понимаете что такое 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
rvm list known
rvm install 2.6

В итоге должны получить что-то подобное:

[[email protected] bugs]# ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
Создаём gemset для использовании в проекте
rvm gemset create max
rvm gemset use max

Скрипт Redmine скачиваем с офсайта, либо загружаем через svn, либо любым другим способом.
Я расположил его в web каталоге /home/www/bugs/
Переходим в каталог и создаём файлы gemsetа для использования в проекте

cd /home/www/bugs/
nano .ruby-version

ruby-2.6.5

nano .ruby-gemset

max

Установка rails 5.2
gem install rails -v 5.2.0
bundle install
rails -v

Должны получить версию rails
[[email protected] bugs]# rails -v
Rails 5.2.4.2

Установка passenger
gem install passenger

Дальше, у меня были трудности при использовании passenger-install-apache2-module, потому как я использую версию httpd24
Для обычной версии Apache2 (httpd), достаточно будет установить:

yum install httpd‐devel apr‐devel apr‐util‐devel

Но с версией httpd24, необходимо выполнить:

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"

После чего можно идти дальше:

passenger-install-apache2-module

Если всё нормально, то будет компилировать модуль mod_passenger.so, если нет, вы увидите ошибки чего не хватает.
При удачном раскладе, вы получите код, который необходимо добавить в конфиг Apache:
У меня он расположен по пути:

nano /etc/httpd/conf/Includes/passenger.conf
   LoadModule passenger_module /root/.rvm/gems/[email protected]/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so
   <ifmodule mod_passenger.c>
     PassengerRoot /root/.rvm/gems/[email protected]/gems/passenger-6.0.4
     PassengerDefaultRuby /root/.rvm/gems/[email protected]/wrappers/ruby
   </ifmodule>
Настройка Redmine:

Конфигурационные файлы:
Копируем config/database.yml.example в config/database.yml
Выбираете свой тип базы данных и название базы
У меня MySQL с именем БД redmine

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "my_password" 

Копируем config/configuration.yml.example в config/configuration.yml
Конфиг наших вложений и файлов:

attachments_storage_path: /home/www/bugs/files

В этом же файле

Настройка почты Redmine

обратите внимание на пробелы в конфиге:

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: "ваш пароль"

Продолжаем…

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

Заполняем базу дефолтными значениями:

RAILS_ENV=production bundle exec rake redmine:load_default_data

Даём права на каталоги:

sudo chown -R redmine:redmine files log tmp
sudo chmod -R 755 files log tmp
Конфигурация Virtualhost httpd24 + php73-fpm

У меня используется httpd24 + php73-fpm, поэтому конфиг такой:

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

Понеслась:

service httpd restart
Комментариев нет

Leave a Comment