установка redmine на freebsd 11.1

Опубликовано beregov.a.e - вт, 02/20/2018 - 10:13

Эта статья возникла из-за того что столкнулся с трудностями при установки redmine на freebsd 11.1. http://bash.im/quote/109650

Предполагается что уже установлен apache24 и сервер баз данных postgres.

Внимание

На момент публикации статьи вышло обновление rubygem-pg-1.0.0 что приводит к тому что redmine не заработает. Чтобы решить данную проблему. Предлагаю установить redmine из пакетов или отдельно устанавлитьва пакет rubygem-pg-0.18.4 databases/rubygem-pg018 потому что при установки из партов ставился только rubygem-pg-1.0.0

pkg install redmine

или изловчится и установить rubygem-pg-0.21.0 из пакетов а всё остальное из ports. Или если вы располагаете хорошими знаниями то можете сами переписать порты отвечающие за установка redmine чтобы изменить зависимости.  

Установка redmine

Обновим порты и установим.

portsnap auto

cd /usr/ports/www/redmine

portmaster -d или make install clean

После чего настроим rubygem-passenger-apache. Создадим файл /usr/local/etc/apache24/Includes/parser.conf Содержимое может отличатся от вашего, так как версия пакета другая.

Примерное содержание файла
LoadModule passenger_module /usr/local/lib/ruby/gems/2.4/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/2.4/gems/passenger-5.1.12
PassengerRuby /usr/local/bin/ruby24

переходим в директорию и настраиваем подключение к базе. Как это делается вот ссылка http://www.redmine.org/projects/redmine/wiki/RedmineInstall

CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

Настройка подключения к базе /usr/local/www/redmine/config/database.yml

production:
  adapter: postgresql
  database: <your_database_name>
  host: <postgres_host>
  username: <postgres_user>
  password: <postgres_user_password>
  encoding: utf8

После этого

cd /usr/local/www/redmine

rake generate_secret_token

Возможно у вас всё пройдёт без ошибок. А для тех у кого появились ошибки. Примерно такого плана.

[!] There was an error parsing `Gemfile`: You cannot specify the same gem twice with different version requirements.
You specified: net-ldap (~> 0.12) and net-ldap (>= 0.12.0). Bundler cannot continue.

 #  from /usr/local/www/redmine/Gemfile:88
 #  -------------------------------------------
 #  Dir["#{File.dirname(__FILE__)}/bundler.d/*.rb"].each do |bundle|
 >    self.instance_eval(Bundler.read_file(bundle))
 #  end
 #  -------------------------------------------

Это говорит о том что есть предопределённый настройки которые находятся в файлах /usr/local/www/redmine/bundler.d/*.rb

Исходя из данной ошибки можно сделать вывод что проблема

You specified: net-ldap (~> 0.12) and net-ldap (>= 0.12.0). Bundler cannot continue.

связана с некоректной настройкой файла

cat /usr/local/www/redmine/bundler.d/ldap.rb
gem "net-ldap", ">= 0.12.0"

так как текущая версия пакета

pkg info | grep net-ldap
rubygem-net-ldap-0.16.1        Pure Ruby LDAP support library with most client features

приведём файл к такому виду

cat bundler.d/ldap.rb
gem "net-ldap", ">= 0.16.1"

И файле /usr/local/www/redmine/Gemfile удалим или комментируем три строки или в обще удалим bundler.d/ldap.rb , а изменения внесём в файл Gemfile

#group :ldap do
#       gem "net-ldap", "~> 0.12.0"
#end

Пробуем по новой

[!] There was an error parsing `Gemfile`: You cannot specify the same gem twice with different version requirements.
You specified: pg (~> 0.18.1) and pg (>= 0.18.1). Bundler cannot continue.

 #  from /usr/local/www/redmine/Gemfile:88
 #  -------------------------------------------
 #  Dir["#{File.dirname(__FILE__)}/bundler.d/*.rb"].each do |bundle|
 >    self.instance_eval(Bundler.read_file(bundle))
 #  end
 #  -------------------------------------------

 

Как видим аналогичная проблема. В данном случаи я выбрал установку c поддержки postgresql.

pkg info | grep rubygem-pg
rubygem-pg-0.21.0              Ruby interface to PostgreSQL library

cat bundler.d/pg.rb
gem "pg", ">= 0.18.1"

изменим удалим файл bundler.d/pg.rb и изменения внесём в Gemfile После чего

rake generate_secret_token

Выполнилось без ошибок.

Если будут ещё какие-нибудь ошибки то по аналогии устраняются.

Далее. Если следовать документации на официальном сайте то

rake db:migrate RAILS_ENV=production
rake redmine:load_default_data RAILS_ENV=production REDMINE_LANG=ru

На это с redmine закончено. Теперь настройка apache24. Ранее настраивали passenger. Теперь настроит vhost. 

cat /usr/local/etc/apache24/Includes/redmine.conf
<VirtualHost *:80>
    ServerName redmine.unixskills.ru
    ServerAlias www.redmine.unixskills.ru
    ErrorLog /usr/local/www/redmine/log/redmine_error.log
    CustomLog /usr/local/www/redmine/log/redmine_access.log common
  RailsEnv production
    #PassengerDefaultUser www
    DocumentRoot /usr/local/www/redmine/public/
    <Directory "/usr/local/www/redmine/public/">
        Allow from all
        Options -MultiViews
        Require all granted
    </Directory>
</VirtualHost>

После этого apachectl restart

Если всё нормально то открываем в браузере redmine.unixskills.ru

Водим логи и пароль admin admin

Изменяем пароль учётной записи admin

redmine-start

на это установка и базовая настройка закончена.

 

 

 

Теги