Amavisd-new отказывается стартовать
На сервере под управлением FreeBSD 8.1-RELEASE архитектуры amd64 работает программа антиспама amavisd-new (версия amavisd-new-2.6.4_11,1). После некорректного обновления языка perl до версии perl-5.14.1 amavisd-new отказался стартовать со следующей ошибкой… |
# /usr/local/etc/rc.d/amavisd start Starting amavisd. ERROR: MISSING REQUIRED BASIC MODULES: IO::Stringy MIME::Words MIME::Head MIME::Body MIME::Entity MIME::Parser MIME::Decoder MIME::Decoder::Base64 MIME::Decoder::Binary MIME::Decoder::QuotedPrint MIME::Decoder::NBit MIME::Decoder::UU MIME::Decoder::Gzip64 BEGIN failed--compilation aborted at /usr/local/sbin/amavisd line 237. /usr/local/etc/rc.d/amavisd: WARNING: failed to start amavisd
Я попытался переустановить amavisd-new вручную (включая опцию установки программы обучения спаму – SpamAssassin), но во время компиляции порта выскочила ошибка:
# cd /usr/ports/security/amavisd-new # make config # make reinstall clean … checking module dependencies and their versions… *************************************************************************** ERROR: the required HTML::Parser module is not installed, minimum required version is 3.43. HTML is used for an ever-increasing amount of email so this dependency is unavoidable. Run “perldoc -q html” for additional information. *************************************************************************** ERROR: the required Net::DNS module is not installed, minimum required version is 0.34. Used for all DNS-based tests (SBL, XBL, SpamCop, DSBL, etc.), perform MX checks, and is also used when manually reporting spam to SpamCop. You need to make sure the Net::DNS version is sufficiently up-to-date: – version 0.34 or higher on Unix systems – version 0.46 or higher on Windows systems *************************************************************************** NOTE: the optional Mail::SPF module is not installed. Used to check DNS Sender Policy Framework (SPF) records to fight email address forgery and make it easier to identify spams. *************************************************************************** NOTE: the optional IP::Country module is not installed. Used by the RelayCountry plugin (not enabled by default) to determine the domain country codes of each relay in the path of an email. *************************************************************************** NOTE: the optional Razor2 module is not installed, minimum required version is 2.61. Used to check message signatures against Vipul’s Razor collaborative filtering network. Razor has a large number of dependencies on CPAN modules. Feel free to skip installing it, if this makes you nervous; SpamAssassin will still work well without it. More info on installing and using Razor can be found at http://wiki.apache.org/spamassassin/InstallingRazor . *************************************************************************** NOTE: the optional Net::Ident module is not installed. If you plan to use the —auth-ident option to spamd, you will need to install this module. *************************************************************************** NOTE: the optional IO::Socket::SSL module is not installed. If you wish to use SSL encryption to communicate between spamc and spamd (the —ssl option to spamd), you need to install this module. (You will need the OpenSSL libraries and use the ENABLE_SSL=“yes” argument to Makefile.PL to build and run an SSL compatibile spamc.) *************************************************************************** NOTE: the optional Mail::DKIM module is not installed, minimum required version is 0.31, recommended version is 0.37 or higher. If this module is installed and the DKIM plugin is enabled, SpamAssassin will perform DKIM signature verification when DKIM-Signature header fields are present in the message headers, and check ADSP rules (e.g. anti-phishing) when a mail message does not contain a valid author domain signature. Version 0.37 or later is needed to fully support ADSP. *************************************************************************** NOTE: the optional DBI module is not installed. If you intend to use SpamAssassin with an SQL database backend for user configuration data, Bayes storage, or other storage, you will need to have these installed; both the basic DBI module and the DBD driver for your database. REQUIRED module missing: HTML::Parser REQUIRED module missing: Net::DNS optional module missing: Mail::SPF optional module missing: IP::Country optional module missing: Razor2 optional module missing: Net::Ident optional module missing: IO::Socket::SSL optional module missing: Mail::DKIM optional module missing: DBI warning: some functionality may not be available, please read the above report before continuing! Can’t open Makefile: Нет такого файла или каталога. ===> Building for p5-Mail-SpamAssassin-3.3.1_4 make: cannot open Makefile. *** Error code 1 Stop in /usr/ports/mail/p5-Mail-SpamAssassin. *** Error code 1 Stop in /usr/ports/mail/p5-Mail-SpamAssassin. *** Error code 1 Stop in /usr/ports/mail/p5-Mail-SpamAssassin. *** Error code 1 Stop in /usr/ports/security/amavisd-new. *** Error code 1 Stop in /usr/ports/security/amavisd-new. *** Error code 1 Stop in /usr/ports/security/amavisd-new.
Как видим из сообщения make, установщик не находит требуемые модули в системе, и их довольно много. Пришлось переустанавливать их все вручную (не забудьте перед этим обновить дерево портов).
- Port: p5-HTML-Parser-3.68 - Path: /usr/ports/www/p5-HTML-Parser
- Port: p5-Net-DNS-0.66_1 - Path: /usr/ports/dns/p5-Net-DNS
- Port: p5-Mail-SPF-2.007 - Path: /usr/ports/mail/p5-Mail-SPF
- Port: p5-IP-Country-2.27 - Path: /usr/ports/net/p5-IP-Country
- Port: razor-agents-2.84 - Path: /usr/ports/mail/razor-agents
- Port: p5-Net-Ident-1.23 - Path: /usr/ports/net/p5-Net-Ident
- Port: p5-IO-Socket-SSL-1.44 - Path: /usr/ports/security/p5-IO-Socket-SSL
- Port: p5-Mail-DKIM-0.39 - Path: /usr/ports/mail/p5-Mail-DKIM
- Port: p5-DBI-1.616 - Path: /usr/ports/databases/p5-DBI
После чего необходимо обязательно сделать make clean в папках:
# cd /usr/ports/security/amavisd-new # make clean # cd /usr/ports/mail/p5-Mail-SpamAssassin # make clean
После этих действий установка и запуск amavisd-new прошли без ошибок.