Ошибка Bugzilla: не удается найти метод выхода из пакета "Net::SMTP::SSL", строка 365

Кажется, я понял проблему --это была неправильная раскладка клавиатуры.

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

3
17.10.2019, 22:08
2 ответа

Ответ г-на Шонинга не является неправильным и привел меня к решению. В принципе, для конкретной ошибки я просто не видел (понимаю более чем вероятно )тот самый последний ответ в следующей ссылке, где автор сказал, что ему нужно выполнить следующую команду. Я выполнил команду и вуаля, мгновенный успех с электронными письмами.

Ссылка на другого клиента с проблемой

thanks solved using 'cpan upgrade Net::SMTP::SSL' command

Для других, и в этом отношении возможное будущее меня, я объясню вещи.

До этого, однако, несмотря на то, что Bugzilla работает (Пользовательский интерфейс в порядке, возможность добавлять пользователей, проекты и т. д. все в порядке ), сценарий./testserver.pl по-прежнему не может прочитать замок.png.

Запросы функций

  1. Нет поддержки "темы". Серый тусклый. Кроме того, обновления должны быть проще.
  2. Я могу представить либо автоматическое обновление, либо кнопку, которая при нажатии обновляет программное обеспечение, как Plesk.

Запись -вверх

Существует неправильное понимание того, как все происходило, и даже если я изначально следовал официальной документации Bugzilla, что я и сделал позже, документация все еще была неполной и неприменимой к моей среде. Кроме того, в локальном файле конфигурации ./localconfigотсутствует поле для пользователя, а не только для группы.

Прежде чем продолжить,вот мое окружение:

  • CentOS 7 с Plesk Obsidian на VPS (то, что Media Temple называет «DV»)

Файл HTTPD configuration, /etc/httpd/httpd.conf, показал, что пользователь и группа для HTTPD являются "apache". Это то, что в документах Bugzilla сказано использовать и в файле ./localconfig! К сожалению, это неправильно. Правильный ответ: "psacln"для группы. Лучший способ выяснить это — создать новый временный субдомен и посмотреть на владельца и группу файлов по умолчанию. В моем случае ответ "jmr -admin :psacln". Размещение psaclnв файле конфигурации Bugzilla позаботилось о групповой политике. Это означает, что два изменения для apache:

 # If you set this to anything other than "", you will need to run checksetup.pl
 # as root or as a user who is a member of the specified group.
 $webservergroup = 'psacln';

 # If set to 1, checksetup.pl will set file permissions so that Bugzilla
 # works in a SuexecUserGroup environment.
 $use_suexec = 1;

Мне пришлось вручную изменить пользователя с «root» на «jmr -admin» после повторного запуска ./checksetup.pl.

В /etc/httpd/httpd.confНЕТ прямых изменений. Никто на любой платформе не должен вносить туда изменения, так как этот файл будет переопределен. На всякий случай создайте собственный файл конфигурации и поместите его в каталог /etc/httpd/conf.d/. Файл конфигурации httpd httpd.confавтоматически считывает этот каталог. В моем случае добавление чего-то НЕПРАВИЛЬНОГО и все испортило. Правильно делать одно из двух:

1)(лучший способ ):Добавьте файл .htaccessи установите содержимое в:

#CGI
DirectoryIndex index.cgi
AddHandler cgi-script.cgi
AddHandler cgi-script.pl
Options +ExecCGI
#

2 )Редактирование внутри Plesk для домена (или поддомена, как в моем случае )среды, а именно :[домен] > Apache & nginx Settings>

  • Обработчики :Введите пользовательские значения

    cgi -скрипт.cgi cgi -скрипт.pl

  • Индексные файлы :Введите пользовательское значение (оставьте значения по умолчанию)

Примечание. :Использование этого пропускает " Options +ExecCGI", хотя это не кажется необходимым.

Лучший способ проверить CGI — создать совершенно новый тестовый субдомен и поместить в корневой каталог скрипт cgi, например мой testcgi2.cgi.

#!/usr/bin/perl

print "Content-type:text/html\r\n\r\n";
print '<html>';
print '<head>';
print '<title>Hello Word - First CGI Program</title>';
print '</head>';
print '<body>';
print '<h2>Hello Word! This is my first CGI program</h2>';
print '</body>';
print '</html>';

1;

Если изменения в Apache в порядке,то скрипт покажет этот отформатированный текст без кода:

Hello Word! This is my first CGI program

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

Мне пришлось запустить команду yum, как указано в документации CentOS 7 и Bugzilla.

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

Я просмотрел оригинальную документацию Bugzilla и сначала подумал, что китайский язык будет легче читать. По крайней мере, я однажды видел мини-сериал «Сёгун» по телевизору, правда, японский. Я связался со своим провайдером веб-хостинга, который дал мне ссылку на руководство по Bugzilla CentOS 7.

Это было неполным, поскольку в нем не обсуждались разрешения, Plesk или какие-либо изменения, которые, как я сказал, необходимо внести. Документация Bugzilla, которая теперь меньше похожа на китайскую и больше похожа на английскую, после нескольких дней страданий все равно не справилась бы со своей задачей. Позволить моему провайдеру веб-хостинга первоначально внести изменения было, возможно, хорошо, так что я увидел, что сайт может появиться, но из-за отсутствия объяснений и отсутствия моих текущих знаний все должно было быстро не работать в следующий раз, когда я запустил ./checksetup.plсценарий.

Я думаю, что это охватывает все. Я до сих пор не эксперт, но, надеюсь, мой отчет -поможет.

0
27.01.2020, 21:32

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

https://groups.google.com/d/msg/mozilla.support.bugzilla/ctvU6urNN0s/oj90IeduEAAJ

Can't locate object method "quit" via package "Net::SMTP::SSL" at Bugzilla/Config/Common.pm line 365.

На мой взгляд, у вас две разные проблемы, эта и Office365. Посмотрите на ветку из прошлого, на которую вы уже ссылались на StackExchange:

https://support-bugzilla.mozilla.narkive.com/ULqK5oBb/error-while-smtp-setup

Несколько авторов ответили, что проблема исчезла после переустановка модуля Perl -. И из моего опыта ваш первый проблема действительно возникает из-за отсутствия зависимостей, таких как openssl -dev или такой.

Таким образом, если вы использовали install -module.pl для установки зависимостей Perl -, пусто папку lib -Bugzilla и переустановите зависимости, используя менеджер пакетов вашего дистрибутива. Те предоставляют SSL -, связанные скорее всего дополнительные зависимости. установить -module.pl — это только последний шаг, если что-то действительно доступно вам только через CPAN. В этом случае вам может потребоваться выполнить дополнительные зависимости, такие как openssl -dev с помощью менеджера пакетов вручную.

I viewed the contents of Net/SMTP/SSL.pm, but that did not contain any subroutines.

Поскольку объекты импортируются автоматически во время компиляции, поэтому вы не найдете самого имени. Но я несколько уверен, что в работая с настройками, вы действительно получаете возможность «выйти». я должен Конечно, в прошлом это было более ясно. Следующий код главное:

no strict 'refs';
foreach ( keys %Net::SMTP:: ) {
    next unless (ref(\$Net::SMTP::{$_}) eq "GLOB" && defined(*{$Net::SMTP::{$_}}{CODE}))
              || ref(\$Net::SMTP::{$_}) eq "REF";
    *{$_} = \&{"Net::SMTP::$_"};
}

https://fastapi.metacpan.org/source/RJBS/Net-SMTP-SSL-1.03/lib/Net/SMTP/SSL.pm

I then viewed the contents of /Net/SSL.pm and saw subroutines/methods, but none of them quit, but then quit is an SMTP command, so I am not surprised there.

Сеть ::SMTP содержит "quit",не Net ::SSL и импортируется код выше:

quit () Send the QUIT command to the remote SMTP server and close the socket connection.

https://perldoc.perl.org/Net/SMTP.html

I set the email configuration to connect to Office 365, which means:

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

https://bugzilla.mozilla.org/show_bug.cgi?id=1182445https://groups.google.com/d/msg/mozilla.support.bugzilla/xFqK7S3h25g/6KI4Fg1NAAAJhttps://groups.google.com/d/msg/mozilla.support.bugzilla/xFqK7S3h25g/JF52kHGWEQAJ

Вы можете только выбрать, какой из множества обходных путей вы предпочитаете, или просто не использовать Office 365 вообще. Я предпочитаю не настраивать Bugzilla, поскольку насколько это возможно, и поэтому предпочел бы какой-нибудь локальный sendmail или такая забота о пересылке почты в Office 365. Но это до ты в конце концов.

SMTP Server: smtp.office365.com:587 smtp_ssl: on

Я несколько уверен, что smtp _ssl — это действительно SSL, а не TLS, как того требует В любом случае Office 365, поэтому эта конфигурация, скорее всего, не будет работать, даже если Bugzilla поддерживает 365.

I contacted my web hosting provider, Media Temple, and they were very unprofessional and refused to even consider helping.

Помимо зависимостей SSL -вашего первого сообщения об ошибке, они не могут все-таки действительно помогите. Поддержка Office 365 должна быть реализована Bugzilla или обходным путем, используя какой-либо другой локальный MTA.

0
27.01.2020, 21:32

Теги

Похожие вопросы