Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО] (Сначала попробовал поставить из родных репозиториев, потом с офсайта)

Knoppix

Модераторы: Warderer, Модераторы разделов

Ответить
Stasroot1
Сообщения: 1026
ОС: Debian9

Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Установка пролетает с ошибками:

Код: Выделить всё

При обработке следующих пакетов произошли ошибки:
 redmine
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ошибка при установке пакета. Попытка восстановления:
Настраивается пакет redmine (3.3.1-4) …
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/redmine/instances/default.conf
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO).
unable to connect to mysql server.
error encountered creating user:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
dbconfig-common: redmine/instances/default configure: ignoring errors from here forwards
dbconfig-common: flushing administrative password
/usr/local/bin/bundle:22:in `load': cannot load such file -- /usr/share/rubygems-integration/all/gems/bundler-1.13.6/exe/bundle (LoadError)
    from /usr/local/bin/bundle:22:in `<main>'
dpkg: ошибка при обработке пакета redmine (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
С БД разберусь ручками, в конфигах поправлю параметры подключения и должно быть ОК, но остальное?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение SLEDopit »

Stasroot1 писал(а):
18.12.2017 23:23
но остальное?
А что остальное?
Насколько я помню, оно в post-script'ах спрашивает логин / пароль от базы, чтобы там развернуть свои таблички и закатать логины / пароли в конфиги. У вас что-то пошло не так в процессе забивания этого пароля. Вот оно и упало.
Можно через dpkg-reconfigure ещё раз вызвать этот мастер.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

так то конечно может быть, но сомневаюсь. Выработал привычку пароли копипастить из файла.

В итоге пойти решил по пути установки redmine последней стабильной версии с офсайта. Она немножко свежее той, что в пакетах debian9. А там целый процесс...
Согласно мануалу: http://www.redmine.org/projects/redmine/wi...ll#Requirements провожу установку.
Застрял на 4 шаге.

С трудностями этого этапа помогла частично разобраться вот эта статья: https://technotes.tt4living.com/ruby-on-rai...l-ruby-on-rails Трудности в основном были связаны с отсутствием различных пакетов в системе, компилятора, заголовкочных файлов, еще всяких... Я очень давно не ставил какие либо RoR приложения, коим является Redmin.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Продолжая установку столкнулся еще с rmagik, аналогично тому, как перед этим столкнулся с nokogiri 1.7.2. Тоже нужно было поставить dev пакеты...

Продублирую кое что из своей консоли, на память, может пригодится:

Код: Выделить всё

sat@debian9:~/Redmine/redmine-3.4.3$ bundle install --path /home/sat/.bundle/
Please configure your config/database.yml first
Please configure your config/database.yml first
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies.....
Using rake 12.3.0
Using i18n 0.7.0
Using minitest 5.10.3
Using thread_safe 0.3.6
Using tzinfo 1.2.4
Using activesupport 4.2.8
Using builder 3.2.3
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using nokogiri 1.7.2
Using rails-deprecated_sanitizer 1.0.3
Using rails-dom-testing 1.0.9
Using crass 1.0.3
Using loofah 2.1.1
Using rails-html-sanitizer 1.0.3
Using actionview 4.2.8
Using rack 1.6.8
Using rack-test 0.6.3
Using actionpack 4.2.8
Using globalid 0.4.1
Using activejob 4.2.8
Using mini_mime 1.0.0
Using mail 2.7.0
Using actionmailer 4.2.8
Using actionpack-xml_parser 1.0.2
Using activemodel 4.2.8
Using arel 6.0.4
Using activerecord 4.2.8
Using public_suffix 3.0.1
Using addressable 2.5.2
Using bundler 1.16.0
Using coderay 1.1.2
Using concurrent-ruby 1.0.5
Using css_parser 1.6.0
Using htmlentities 4.3.4
Using thor 0.20.0
Using railties 4.2.8
Using jquery-rails 3.1.4
Using mime-types-data 3.2016.0521
Using mime-types 3.1
Using mimemagic 0.3.2
Using net-ldap 0.12.1
Using protected_attributes 1.1.4
Using ruby-openid 2.3.0
Using rack-openid 1.4.2
Using sprockets 3.7.1
Using sprockets-rails 3.2.1
Using rails 4.2.8
Using rbpdf-font 1.19.1
Using rbpdf 1.19.3
Using redcarpet 3.4.0
Using request_store 1.0.5
Fetching rmagick 2.16.0
Installing rmagick 2.16.0 with native extensions
Fetching roadie 3.2.2
Installing roadie 3.2.2
Fetching roadie-rails 1.1.1
Installing roadie-rails 1.1.1
Bundle complete! 29 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `/home/sat/.bundle`
sat@debian9:~/Redmine/redmine-3.4.3$


Надо отметить, что логирование сборки gem пакетов весьма информативно и помогает найти решения проблем, правда на англосайтах. По rmagik помогла вот эта ссылочка: https://stackoverflow.com/questions/1927429...7IilsgEBTi35Rcw
Продолжаем установку.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Продолжая установку столкнулся с тем, что не получается поставить gem mysql2 для конекта с БД. Выдает ошибку:

Код: Выделить всё

Fetching mysql2 0.4.10
Installing mysql2 0.4.10 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.


При этом в тексте этой ошибки, довольно большом сообщении указывается и возможное ее решение:

Код: Выделить всё

mysql client is missing. You may need to 'apt-get install libmysqlclient-dev' or 'yum install mysql-devel', and
try again.


Так и попробуем.

Однако:

Код: Выделить всё

sat@debian9:~$ sudo apt-get install libmysqlclient-dev
[sudo] пароль для sat:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет libmysqlclient-dev недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «libmysqlclient-dev» не найден кандидат на установку
sat@debian9:~$


Возможно это связано с тем, что в системе mariaDB?
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Пользуемся поиском пакетов на debian.org: https://packages.debian.org/search?suite=st...mysqlclient-dev
Находим пакет: default-libmysqlclient-dev
Других пакетов нету. Возможно это как раз связано с тем, что mariaDB с 9 версии Debian теперь по умолчанию и пакет ранее называвшийся (при MySQL) libmysqlclient-dev стал называться default-libmysqlclient-dev. Знающие люди, скажите, правильно ли я понимаю этот момент.

Поэтому попробуем поставить найденный пакет

Код: Выделить всё

sudo apt-get install default-libmysqlclient-dev

по зависимостям подтянулись:

Код: Выделить всё

Будут установлены следующие дополнительные пакеты:
  libmariadbclient-dev libmariadbclient-dev-compat

и продолжить установку Redmine.

В ходе которой, теперь, вполне успешно судя по

Код: Выделить всё

Fetching mysql2 0.4.10
Installing mysql2 0.4.10 with native extensions

собрался коннектор mysql2.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

SLEDopit писал(а):
19.12.2017 00:42
А что остальное?
Насколько я помню, оно в post-script'ах спрашивает логин / пароль от базы, чтобы там развернуть свои таблички и закатать логины / пароли в конфиги. У вас что-то пошло не так в процессе забивания этого пароля. Вот оно и упало.

Скорее всего не было по зависимостям подтянуто пакета: default-libmysqlclient-dev

Да в списке зависимостей для redmine пакет default-libmysqlclient-dev не числится. Не знаю на сколько это действительно критично при установке из родного репозитория Debian9.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

К самой установке Redmine из архива.
Теперь команда отрабатывает корректно без сообщений об ошибках:

Код: Выделить всё

sat@debian9:~/Redmine/redmine-3.4.3$ bundle install --path /home/sat/.bundle/
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using rake 12.3.0
Using i18n 0.7.0
Using minitest 5.10.3
Using thread_safe 0.3.6
Using tzinfo 1.2.4
Using activesupport 4.2.8
Using builder 3.2.3
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using nokogiri 1.7.2
Using rails-deprecated_sanitizer 1.0.3
Using rails-dom-testing 1.0.9
Using crass 1.0.3
Using loofah 2.1.1
Using rails-html-sanitizer 1.0.3
Using actionview 4.2.8
Using rack 1.6.8
Using rack-test 0.6.3
Using actionpack 4.2.8
Using globalid 0.4.1
Using activejob 4.2.8
Using mini_mime 1.0.0
Using mail 2.7.0
Using actionmailer 4.2.8
Using actionpack-xml_parser 1.0.2
Using activemodel 4.2.8
Using arel 6.0.4
Using activerecord 4.2.8
Using public_suffix 3.0.1
Using addressable 2.5.2
Using bundler 1.16.0
Using xpath 2.1.0
Using capybara 2.16.1
Using ffi 1.9.18
Using childprocess 0.8.0
Using coderay 1.1.2
Using concurrent-ruby 1.0.5
Using css_parser 1.6.0
Using docile 1.1.5
Using htmlentities 4.3.4
Using thor 0.20.0
Using railties 4.2.8
Using jquery-rails 3.1.4
Using metaclass 0.0.4
Using mime-types-data 3.2016.0521
Using mime-types 3.1
Using mimemagic 0.3.2
Using mocha 1.3.0
Using multi_json 1.12.2
Fetching mysql2 0.4.10
Installing mysql2 0.4.10 with native extensions
Using net-ldap 0.12.1
Using protected_attributes 1.1.4
Using ruby-openid 2.3.0
Using rack-openid 1.4.2
Using sprockets 3.7.1
Using sprockets-rails 3.2.1
Using rails 4.2.8
Using rbpdf-font 1.19.1
Using rbpdf 1.19.3
Using rdoc 4.3.0
Using redcarpet 3.4.0
Using request_store 1.0.5
Using rmagick 2.16.0
Using roadie 3.2.2
Using roadie-rails 1.1.1
Using rubyzip 1.2.1
Using websocket 1.2.5
Using selenium-webdriver 2.53.4
Using simplecov-html 0.9.0
Using simplecov 0.9.2
Using test_after_commit 0.4.2
Using yard 0.9.12
Bundle complete! 30 Gemfile dependencies, 72 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `/home/sat/.bundle`
sat@debian9:~/Redmine/redmine-3.4.3$
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Далее по офицальной инструкции шагом 5 обозначено создание секретного ключа для кодирования файлов кук.

Код: Выделить всё

bundle exec rake generate_secret_token
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Шагом 6 указано создание структуры БД при помощи команды:

Код: Выделить всё

RAILS_ENV=production bundle exec rake db:migrate
Выполняем её в директории проекта.

Ошибок не было, прошло гладко.

На всякий случай проверяю появилась ли структура БД в ранее пустой Базе, зайдя в консоль mariaDB:

Код: Выделить всё

MariaDB [(none)]> SHOW TABLES IN redmine_test;
Empty set (0.00 sec)

MariaDB [(none)]> SHOW TABLES IN redmine_production;
+------------------------------+
| Tables_in_redmine_production |
+------------------------------+
| attachments                  |
| auth_sources                 |
| comments                     |
| custom_fields                |
| custom_fields_projects       |
| custom_fields_trackers       |
| custom_values                |
| documents                    |
| enumerations                 |
| issue_categories             |
| issue_statuses               |
| issues                       |
| journal_details              |
| journals                     |
| members                      |
| news                         |
| permissions                  |
| permissions_roles            |
| projects                     |
| queries                      |
| repositories                 |
| roles                        |
| schema_migrations            |
| settings                     |
| tokens                       |
| trackers                     |
| user_preferences             |
| users                        |
| versions                     |
| wiki_pages                   |
| wikis                        |
| workflows                    |
+------------------------------+
32 rows in set (0.00 sec)

MariaDB [(none)]>
Что свидетельствует об удачном импорте структуры. Структура импортирована в production БД.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

На 7-м шаге предлагается записать в БД некоторые конфигурационные параметры, загрузив в неё можно полностью дефолтный "конфиг", я полагаю язык Redmine будет английским. Для этого выполнить команду:

Код: Выделить всё

RAILS_ENV=production bundle exec rake redmine:load_default_data


ОДНАКО мне интереснее пользоваться рускоговорящим ПО. Поэтому модифицируем команду следующим образом:

Код: Выделить всё

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

Подробнее о таких уточнениях наверное можно почитать в документации к Redmine
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Так, наткнулся на проблему:

Код: Выделить всё

sat@debian9:~/Redmine/redmine-3.4.3$ RAILS_ENV=production REDMINE_LANG=ru bundle exec rake redmine:load_default_data
Error: Mysql2::Error: Unknown column 'roles.builtin' in 'where clause': SELECT  1 AS one FROM `roles` WHERE `roles`.`builtin` = 0 LIMIT 1
Default configuration data was not loaded.
sat@debian9:~/Redmine/redmine-3.4.3$


Оказывается не вся база была закинута на 6-м шаге.
Внимательно просмотрел лог создания структуры БД и нашел там ошибку:

Код: Выделить всё

Error: Mysql2::Error: Unknown column 'roles.builtin' in 'where clause': SELECT  1 AS one FROM `roles` WHERE `roles`.`builtin` = 0 LIMIT 1
Default confi

и

Код: Выделить всё

Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE  INDEX `wiki_pages_wiki_id_title`  ON `wiki_pages` (`wiki_id`, `title`)

Решение похоже есть тут: http://www.redmine.org/issues/23586

Удаляем БД

Код: Выделить всё

MariaDB [(none)]> DROP DATABASE redmine_production;
Query OK, 32 rows affected (0.29 sec)

MariaDB [(none)]>

и создаем её по новой.

Код: Выделить всё

MariaDB [(none)]> CREATE DATABASE redmine_production;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>

Это быстрее чем удалять внутри БД созданные ранее таблицы.
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Поробую подправить файл:

Код: Выделить всё

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf


вставив в него, под:

Код: Выделить всё

# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!


Следующие строчки:

Код: Выделить всё

#блок ниже вставил по материалам : http://www.redmine.org/issues/23586
innodb_file_format=Barracuda #default for >= 10.2.2
innodb_file_per_table=ON #default for >= 5.5
innodb_large_prefix=1 #default for >= 10.2.2
innodb_default_row_format=DYNAMIC #default for >= 10.2.2
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

При этом это не работает у меня:

Код: Выделить всё

innodb_default_row_format=DYNAMIC
Как заставить это дело крутиться вместе?
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Продвинулся дальше: решение описано мной тут: http://www.redmine.org/issues/23586#note-8
в кратце: Изменил my.conf:

Код: Выделить всё

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

добавив в него:

Код: Выделить всё

#блок ниже вставил по материалам : http://www.redmine.org/issues/23586

innodb_large_prefix = 1
innodb_file_format = barracuda
innodb_file_per_table = 1


И создав файл:

Код: Выделить всё

/home/sat/Redmine/redmine-3.4.3/config/initializers/ar_innodb_row_format.rb

с таким содержимым:

Код: Выделить всё

ActiveSupport.on_load :active_record do
    module ActiveRecord::ConnectionAdapters
        class AbstractMysqlAdapter
            def create_table_with_innodb_row_format(table_name, options = {})
                table_options = options.reverse_merge(:options => 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC')
                create_table_without_innodb_row_format(table_name, table_options) do |td|
                    yield td if block_given?
                end
            end
            alias_method_chain :create_table, :innodb_row_format
        end
    end
end

После чего выполнился импорт БД и данных в ней.

ВАЖНО: после каждой неудачной попытки я удалял БД redmine_production и создавал ее пустой по новой. Чтобы данные от предыдущей попытки не мешались новой, на всякий случай.


Переходим к следующему шагу:

Код: Выделить всё

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


Код: Выделить всё

sat@debian9:~/Redmine/redmine-3.4.3$ RAILS_ENV=production REDMINE_LANG=ru bundle exec rake redmine:load_default_data
Default configuration data loaded.
sat@debian9:~/Redmine/redmine-3.4.3$
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Далее по инструкции настраиваем файловое хранилище redmine:

Код: Выделить всё

sat@debian9:~/Redmine/redmine-3.4.3$ mkdir -p tmp tmp/pdf public/plugin_assets
sat@debian9:~/Redmine/redmine-3.4.3$ sudo chown -R ПОЛЬЗОВАТЕЛЬ:ГРУППАпользователя files log tmp public/plugin_assets
[sudo] пароль для sat:
sat@debian9:~/Redmine/redmine-3.4.3$ sudo chmod -R 755 files log tmp public/plugin_assets
sat@debian9:~/Redmine/redmine-3.4.3$ sudo find files log tmp public/plugin_assets -type f -exec chmod -x {} +
sat@debian9:~/Redmine/redmine-3.4.3$
Спасибо сказали:
Stasroot1
Сообщения: 1026
ОС: Debian9

Re: Установка Redmine из репозиториев и из архива полученного с официального сайта Redmine 3.4.3 в Debian9 [РЕШЕНО]

Сообщение Stasroot1 »

Запускаем Рельсы!

Код: Выделить всё

sat@debian9:~/Redmine/redmine-3.4.3$ bundle exec rails server webrick -e production

И заходим по адресу: http://localhost:3000

Входим как admin/admin и сразу меняем пароль на нужный для вас.

Все. Теперь все работает!
Спасибо сказали:
Ответить