Установка · 7 min read · Jan 15, 2026

Установка Maia Mailguard на Debian Lenny (Виртуальные пользователи/домены с Postfix/MySQL) - Страница 2

6 Тестирование конфигурации Maia Mailguard

Теперь выполните

cd /var/lib/amavis/maia/scripts/  
./configtest.pl

Этот скрипт проверяет, установлены ли все модули Perl, необходимые для amavisd-maia, SpamAssassin и скриптов обслуживания Maia Mailguard. Для меня вывод был следующим:

server1:/var/lib/amavis/maia/scripts# ./configtest.pl  
  
MAIA MAILGUARD CONFIGURATION TEST  
  
Этот скрипт проверяет наличие приложений и модулей Perl,  
необходимых для amavisd-maia, SpamAssassin и скриптов обслуживания  
Maia Mailguard.  Номера версий также проверяются, и если  
рекомендуется более новая версия компонента,  
вам следует рассмотреть возможность обновления хотя бы  
до минимально рекомендуемой версии.  
  
Если вы уже настроили свою базу данных Maia Mailguard,  
скрипт также протестирует соединение с этой базой данных.  
  
Не забудьте также запустить скрипт configtest.php  
на вашем веб-сервере, чтобы  
выполнить аналогичные тесты вашей веб-,  
PHP- и PEAR-среды.  
  
Приложение/Модуль      Версия   Статус  
========================================================================  
Perl                 :   5.10.0 : OK  
file(1)             :     4.26 : OK  
Archive::Tar       :     1.38 : OK  
Archive::Zip       :     1.18 : OK  
BerkeleyDB         :     0.34 : OK  
Compress::Zlib     :    2.012 : OK  
Convert::TNEF      :     0.17 : OK  
Convert::UUlib     :     1.11 : OK  
Crypt::Blowfish    :      N/A : NOT INSTALLED (опциональная функция шифрования Maia Mailguard требует этого)  
Crypt::CBC         :      N/A : NOT INSTALLED (опциональная функция шифрования Maia Mailguard требует этого)  
Crypt::OpenSSL::RSA :      N/A : NOT INSTALLED (опциональный плагин DKIM SpamAssassin требует этого)  
Data::UUID         :      N/A : NOT INSTALLED (требуется для Maia Mailguard)  
DB_File            :  1.816_1 : OK  
DBD::mysql         :    4.007 : OK  
DBD::Pg           :      N/A : NOT INSTALLED (требуется, если вы используете PostgreSQL в качестве базы данных Maia Mailguard)  
DBI                 :    1.605 : OK  
Digest::MD5        :  2.36_01 : OK  
Digest::SHA1       :     2.11 : OK  
File::Spec         :   3.2501 : OK  
HTML::Parser        :     3.56 : OK  
HTTP::Date         :    5.810 : OK  
IO::Stringy        :    2.110 : OK  
IO::Zlib           :     1.07 : OK  
IP::Country        :      N/A : NOT INSTALLED (опциональный плагин RelayCountry SpamAssassin требует этого)  
LWP::UserAgent     :    5.813 : OK  
Mail::Address      :     2.03 : OK  
Mail::DKIM         :      N/A : NOT INSTALLED (опциональный плагин DKIM SpamAssassin требует этого)  
Mail::Internet     :     2.03 : OK  
Mail::SpamAssassin :    3.2.5 : OK  
Mail::SPF::Query   :      N/A : NOT INSTALLED (опциональный плагин SPF SpamAssassin требует этого)  
MIME::Base64       :  3.07_01 : OK  
MIME::Parser       :    5.427 : OK  
MIME::QuotedPrint   :     3.07 : OK  
Net::CIDR::Lite    :      N/A : NOT INSTALLED (опциональный плагин SPF SpamAssassin требует этого)  
Net::Cmd           :     2.29 : OK  
Net::DNS           :     0.63 : OK  
Net::Server        :     0.97 : OK  
Net::SMTP          :     2.31 : OK  
Pod::Usage         :     1.35 : OK  
Template           :      N/A : NOT INSTALLED (требуется для Maia Mailguard)  
Time::HiRes        :   1.9711 : OK  
Unix::Syslog       :      1.1 : OK  
URI                :     1.35 : OK  
Text::CSV          :      N/A : NOT INSTALLED (требуется для maiadbtool.pl)  
  
Тест DSN базы данных : ПРОЙДЕН
  
    ЗАМЕТКА: При обновлении Perl до версии 5.10 или  
    планировании этого, пожалуйста,  
    не забудьте добавить отсутствующий /m флаг  
    к регулярным выражениям в ваших существующих  
    записях AV, как предложено в  
    примере файла amavisd.conf.dist. Perl 5.8  
    не обращает внимания на отсутствующие /m флаги,  
    но с perl 5.10 результаты  
    от сканера вирусов  
    могут больше не распознаваться должным образом.  
server1:/var/lib/amavis/maia/scripts#

Как вы видите, несколько модулей отсутствуют. Большинство из них можно установить через aptitude:

aptitude install libcrypt-blowfish-perl libcrypt-cbc-perl libcrypt-openssl-rsa-perl libmail-dkim-perl libmail-spf-query-perl libnet-cidr-lite-perl libtemplate-perl libtext-csv-perl

IP::Country и Data::UUID недоступны в виде пакетов Debian Lenny, поэтому мы должны установить их, используя оболочку Perl:

perl -MCPAN -e shell
install IP::Country
install Data::UUID

Наберите

q

чтобы выйти из оболочки Perl после этого.

Запустите

./configtest.pl

снова - вывод теперь должен быть следующим:

server1:/var/lib/amavis/maia/scripts# ./configtest.pl  
  
MAIA MAILGUARD CONFIGURATION TEST  
  
Этот скрипт проверяет наличие приложений и модулей Perl,  
необходимых для amavisd-maia, SpamAssassin и скриптов обслуживания  
Maia Mailguard.  Номера версий также проверяются, и если  
рекомендуется более новая версия компонента,  
вам следует рассмотреть возможность обновления хотя бы  
до минимально рекомендуемой версии.  
  
Если вы уже настроили свою базу данных Maia Mailguard,  
скрипт также протестирует соединение с этой базой данных.  
  
Не забудьте также запустить скрипт configtest.php  
на вашем веб-сервере, чтобы  
выполнить аналогичные тесты вашей веб-,  
PHP- и PEAR-среды.  
  
Приложение/Модуль      Версия   Статус  
========================================================================  
Perl                 :   5.10.0 : OK  
file(1)             :     4.26 : OK  
Archive::Tar       :     1.38 : OK  
Archive::Zip       :     1.18 : OK  
BerkeleyDB         :     0.34 : OK  
Compress::Zlib     :    2.012 : OK  
Convert::TNEF      :     0.17 : OK  
Convert::UUlib     :     1.11 : OK  
Crypt::Blowfish    :     2.10 : OK  
Crypt::CBC         :     2.29 : OK  
Crypt::OpenSSL::RSA :     0.25 : OK  
Data::UUID         :    1.215 : OK  
DB_File            :  1.816_1 : OK  
DBD::mysql         :    4.007 : OK  
DBD::Pg           :      N/A : NOT INSTALLED (требуется, если вы используете PostgreSQL в качестве базы данных Maia Mailguard)  
DBI                 :    1.605 : OK  
Digest::MD5        :  2.36_01 : OK  
Digest::SHA1       :     2.11 : OK  
File::Spec         :   3.2501 : OK  
HTML::Parser        :     3.56 : OK  
HTTP::Date         :    5.810 : OK  
IO::Stringy        :    2.110 : OK  
IO::Zlib           :     1.07 : OK  
IP::Country        :     2.27 : OK  
LWP::UserAgent     :    5.813 : OK  
Mail::Address      :     2.03 : OK  
Mail::DKIM         :     0.32 : OK  
Mail::Internet     :     2.03 : OK  
Mail::SpamAssassin :    3.2.5 : OK  
Mail::SPF::Query   :  1.999.1 : OK  
MIME::Base64       :  3.07_01 : OK  
MIME::Parser       :    5.427 : OK  
MIME::QuotedPrint   :     3.07 : OK  
Net::CIDR::Lite    :     0.20 : OK  
Net::Cmd           :     2.29 : OK  
Net::DNS           :     0.63 : OK  
Net::Server        :     0.97 : OK  
Net::SMTP          :     2.31 : OK  
Pod::Usage         :     1.35 : OK  
Template           :     2.19 : OK  
Time::HiRes        :   1.9711 : OK  
Unix::Syslog       :      1.1 : OK  
URI                :     1.35 : OK  
Text::CSV          :     1.06 : OK  
  
Тест DSN базы данных : ПРОЙДЕН
  
    ЗАМЕТКА: При обновлении Perl до версии 5.10 или  
    планировании этого, пожалуйста,  
    не забудьте добавить отсутствующий /m флаг  
    к регулярным выражениям в ваших существующих  
    записях AV, как предложено в  
    примере файла amavisd.conf.dist. Perl 5.8  
    не обращает внимания на отсутствующие /m флаги,  
    но с perl 5.10 результаты  
    от сканера вирусов  
    могут больше не распознаваться должным образом.  
server1:/var/lib/amavis/maia/scripts#

Поскольку мы используем MySQL, а не PostgreSQL, нам не нужен модуль DBD::Pg.

7 Загрузка правил SpamAssassin

Maia Mailguard необходимо индексировать все правила SpamAssassin, которые вы установили в своей системе. Это можно сделать следующим образом:

./load-sa-rules.pl --debug

Это следует делать снова каждый раз, когда ваши правила SpamAssassin обновляются. Если вы следовали руководству по виртуальным пользователям и доменам с Postfix, Courier, MySQL и SquirrelMail (Debian Lenny), у вас есть следующая задача cron в вашей системе:

23 4 */2 * * /usr/bin/sa-update --no-gpg &> /dev/null

Запустите

crontab -e

чтобы изменить эту задачу cron так, чтобы она выглядела следующим образом:

| 23 4 */2 * * /usr/bin/sa-update --no-gpg && /var/lib/amavis/maia/scripts/load-sa-rules.pl && /etc/init.d/amavis restart &> /dev/null |

8 Установка веб-интерфейса Maia Mailguard

Я хочу установить веб-интерфейс Maia в /var/www/maia, чтобы к нему можно было получить доступ через http://www.example.com/maia (пожалуйста, измените путь, если ваш корень документа отличается от /var/www). Поэтому я создаю этот каталог сейчас и копирую веб-интерфейс Maia в него:

mkdir /var/www/maia  
cp -pfr /usr/src/maia/1.0/php/* /var/www/maia/

Некоторые подкаталоги каталога /var/www/maia/themes должны быть записываемыми пользователем Apache. Это можно сделать следующим образом:

chgrp amavis /var/www/maia/themes/*/compiled  
chmod 775 /var/www/maia/themes/*/compiled  
gpasswd -a www-data amavis

Веб-интерфейс Maia использует движок шаблонов Smarty, который можно установить следующим образом:

aptitude install smarty
ln -s /usr/share/php/smarty/libs /usr/share/php/Smarty

Далее мы переименовываем /var/www/maia/config.php.dist в /var/www/maia/config.php…

mv /var/www/maia/config.php.dist /var/www/maia/config.php

… и изменяем следующие настройки:

vi /var/www/maia/config.php

| [...] $maia_sql_dsn = "mysql://amavis:passwd@tcp(localhost:3306)/maia"; [...] $address_rewriting_type = 4; [...] // Выберите метод аутентификации из одного из следующих: // // "pop3" - использовать сервер POP3 для аутентификации // "imap" - использовать сервер IMAP для аутентификации // "ldap" - использовать сервер LDAP для аутентификации // "exchange" - использовать сервер Exchange для аутентификации // "sql" - использовать сервер SQL для аутентификации // "internal" - использовать внутреннюю SQL-базу данных Maia для аутентификации $auth_method = "pop3"; [...] |

Запустите

chmod 0640 /var/www/maia/config.php  
chown root:www-data /var/www/maia/config.php

после этого.

9 Тестирование вашей конфигурации PHP

Откройте браузер и перейдите по адресу http://www.example.com/maia/admin/configtest.php. Эта страница сообщает вам, установлены ли все необходимые модули PHP:

Если модули отсутствуют, вы должны установить их сейчас. Мне пришлось сделать следующее, чтобы установить отсутствующие модули:

aptitude install php-pear
pear channel-update pear.php.net
pear install Mail_Mime  
pear install Mail_mimeDecode  
pear install Pager  
pear install Net_Socket  
pear install Net_SMTP  
pear install Auth_SASL  
pear install Net_IMAP  
pear install Net_POP3  
pear install Log  
pear install Image_Color  
pear install Image_Canvas-0.3.1  
pear install Image_Graph-0.7.2
cd /usr/share/php/Image/Graph/Plot/  
cp Pie.php Pie.php.original  
wget http://www.maiamailguard.org/maia/raw-attachment/ticket/326/Pie.php.patch  
patch -p0
pear install Numbers_Roman  
pear install Numbers_Words-0.16.1
pear channel-discover htmlpurifier.org  
pear install hp/HTMLPurifier
aptitude install php5-imap php5-ldap php5-mcrypt
/etc/init.d/apache2 restart

Теперь перезагрузите http://www.example.com/maia/admin/configtest.php - все необходимые модули теперь должны быть установлены:

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.