Сбой install_driver (mysql): не удается найти DBD / mysql.pm

0

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

Я пытаюсь настроить redmine git на моем ec2-aws-instance с помощью ссылки ниже

https://docs.bitnami.com/installer/how-to/configure-advanced-integration-git-redmine/

Я могу правильно связать проекты Redmine с моими репозиториями Git, но как только я доберусь до третьего шага по ссылке выше, я столкнусь с проблемой, как показано ниже

шаг: - 3 Настройка Git Access Control

Ниже приведена ошибка при попытке защитить мой git-репозиторий с помощью учетных данных пользователя Redmine.

[Чт 21 февраля 17: 46: 26.918619 2019] [perl: error] [pid 26820: tid 139790464616192] [клиент 127.0.0.1:50156] сбой install_driver (mysql): не удается найти DBD/mysql.pm в @INC ( @INC содержит: /opt/bitnami/git/lib/site_perl/5.16.3/opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi/opt/bitnami/perl/lib/5.16.3/opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/opt/bitnami/perl/lib/site_perl/5.16.3/opt/bitnami/perl/lib/5.16.3/x86_64 -linux-thread-multi/opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/bitnami/ruby23stack-linux-x64/output/perl/lib/site_perl/5.16.3/x86_64 -linux-thread-multi/bitnami/ruby23stack-linux-x64/output/perl/lib/site_perl/5.16.3/bitnami/ruby23stack-linux-x64/output/perl/lib/5.16.3/x86_64-linux-thread -multi/bitnami/ruby23stack-linux-x64/output/perl/lib/5.16.3./opt/bitnami/apache2) в строке (eval 6) 3.\nВозможно, perl-модуль DBD :: mysql не был полностью установлен,\возможно, заглавная буква 'mysql' неверна.\nДоступные драйверы : DBM, ExampleP, Файл, Gofer, Proxy, Sponge.\N в /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache/Redmine.pm строка 557.\n App 26921 стандартный вывод:

Без третьего шага мои репозитории являются общедоступными, любой, кто знает URL репо, может клонировать мои репо или выполнять другие операции с моими репозиториями git. Таким образом, третий шаг - в целях безопасности, как указано выше в ссылке на документ, и это важно для меня.

Как только я добавляю строку ниже в конфигурацию apache согласно упомянутой документации, я получаю вышеуказанную ошибку в своем журнале битнами, когда пытаюсь клонировать репозиторий

 <Location "/">
       AuthType Basic
       AuthName "Redmine git repositories"
       Require valid-user

       PerlAccessHandler Apache::Authn::Redmine::access_handler
       PerlAuthenHandler Apache::Authn::Redmine::authen_handler
       RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=installdir/mysql/tmp/mysql.sock"
       RedmineDbUser "REDMINE_DB_USERNAME"
       RedmineDbPass "REDMINE_DB_PASSWORD"
       RedmineGitSmartHttp yes
     </Location>

Когда я запускаю следующую команду, чтобы клонировать репо, без третьего шага в документации, я правильно могу клонировать репо, но с третьим шагом я терплю неудачу и получаю выше ошибку в журнале и ниже ошибку в командной строке.

[email protected]:/tmp$ git clone http://git.domain.com/test2
Cloning into 'test2'...
fatal: unable to access 'http://git.domain.com/test2/': The requested URL returned error: 500

Я даже пытался установить ниже пакет, но не повезло

sudo apt-get install libdbd-mysql-perl

моя операционная система

Ubuntu 16.04.5 LTS \n \l
  • 2
    Вы устанавливаете правильный пакет, но весь этот материал /opt/bitnami говорит о том, что вы не используете системный Perl, для которого предназначен пакет, поэтому модуль не найден.
  • 0
    Я сталкивался с подобной проблемой на складе Bitnami 3.4.6-1 на Ubuntu 16.04 на Azure. Системный Perl - 5,22, а версия Perl для Bitnami - 5.16, поэтому он не может использовать пакет «libdbd-mysql-perl». Я считаю, что модули DBD MySQL не были упакованы в вышеупомянутую версию Bitnami. Из-за нехватки времени я скопировал соответствующие файлы MySQL из Bitnami 3.3.x (с Bitnami Perl 5.16) в /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/ и перезапустил службы Bitnami. и это сработало. Вы также можете проверить, решает ли ваша проблема настройка / opt / bitnami / apache2 / bin / envvars для использования системных Perl и DBD :: MySQL.
Теги:
redmine

1 ответ

0

Чтобы установка Perl могла общаться с базой данных MySQL, ей необходимо использовать модуль DBD :: mysql. Этот модуль не является частью стандартной установки Perl и должен быть установлен отдельно. Когда вы устанавливаете его с помощью инструмента командной строки CPAN (cpan DBD::mysql) или с помощью apt-get (apt-get install libdbd-mysql-perl), он устанавливается в каталоги библиотек, используемые системным Perl (тот, который устанавливается как часть вашей операционной системы). Вы можете подтвердить, что это было установлено правильно, выполнив следующие команды:

$ perldoc DBD::mysql
$ perl -MDBD::mysql -le'print $DBD::mysql::VERSION'

Если DBD :: mysql установлен правильно, первая команда покажет вам документацию для модуля, а вторая даст номер версии.

Но, как я уже сказал, это устанавливается для использования системой установки Perl. Из сообщения об ошибке вы видите, что ваша установка Bitnami не использует системный Perl. Вместо этого он использует отдельную установку Perl, которая устанавливается в /opt/bitnami.

Поэтому для этой установки Perl вам нужно установить DBD :: mysql в библиотеку модулей. Можно попросить cpan установить модуль в другой каталог, но я бы с осторожностью cpan к установке всего лишь в дерево каталогов Bitnami. Я сильно подозреваю, что процесс установки был пропущен намного раньше в процессе. Если Bitnami необходимо использовать MySQL из Perl-программы и установить собственный дистрибутив Perl вместе со своей собственной библиотекой модулей, то он должен либо включить DBD :: mysql в свою установку, либо предоставить четкие инструкции по его установке.

Мое предложение было бы внимательно изучить инструкции по установке для Bitnami и посмотреть, что они говорят об установке поддержки MySQL. Если это не сработает, вы должны задать этот вопрос каналам поддержки Bitnami.

  • 0
    Я получаю следующий вывод для первой команды: - -bash: / opt / bitnami / perl / bin / perldoc: / bitnami / ruby23stack-linux-x64 / output / perl / bin / perl: плохой интерпретатор: нет такого файла или каталога
  • 0
    @ vishal-mote: размещение такой информации в комментарии делает ее практически нечитаемой. Здесь много людей, которые хотели бы помочь вам, но вам нужно облегчить им задачу. Пожалуйста, отредактируйте свой вопрос, чтобы добавить эту полезную информацию.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню