Instalación · 7 min read · Jan 15, 2026

Instalando Maia Mailguard en Debian Lenny (Usuarios/Dominios Virtuales Con Postfix/MySQL) - Página 2

6 Prueba de Configuración de Maia Mailguard

Ahora ejecuta

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

Este script verifica si todos los módulos de Perl necesarios para amavisd-maia, SpamAssassin y los scripts de mantenimiento de Maia Mailguard están instalados. Para mí, la salida fue la siguiente:

server1:/var/lib/amavis/maia/scripts# ./configtest.pl  
  
MAIA MAILGUARD CONFIGURATION TEST  
  
Este script verifica la presencia de aplicaciones y módulos de Perl  
requeridos por amavisd-maia, SpamAssassin y los scripts de mantenimiento  
de Maia Mailguard.  Los números de versión también se verifican, y  
sí se recomienda una versión más nueva de un componente,  
debes considerar actualizar al menos a la versión mínima recomendada.  
  
Si ya has configurado tu base de datos de Maia Mailguard, el script  
también probará la conexión a esa base de datos.  
  
Recuerda también ejecutar el script configtest.php en tu  
servidor web para realizar pruebas similares de tu entorno web,  
PHP y PEAR.  
  
Aplicación/Módulo      Versión   Estado  
========================================================================  
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 (la función de cifrado opcional de Maia Mailguard requiere esto)  
Crypt::CBC         :      N/A : NOT INSTALLED (la función de cifrado opcional de Maia Mailguard requiere esto)  
Crypt::OpenSSL::RSA :      N/A : NOT INSTALLED (el plugin DKIM opcional de SpamAssassin requiere esto)  
Data::UUID         :      N/A : NOT INSTALLED (requerido por Maia Mailguard)  
DB_File            :  1.816_1 : OK  
DBD::mysql         :    4.007 : OK  
DBD::Pg           :      N/A : NOT INSTALLED (requerido si usas PostgreSQL como tu base de datos de 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 (el plugin RelayCountry opcional de SpamAssassin requiere esto)  
LWP::UserAgent     :    5.813 : OK  
Mail::Address      :     2.03 : OK  
Mail::DKIM        :      N/A : NOT INSTALLED (el plugin DKIM opcional de SpamAssassin requiere esto)  
Mail::Internet     :     2.03 : OK  
Mail::SpamAssassin :    3.2.5 : OK  
Mail::SPF::Query   :      N/A : NOT INSTALLED (el plugin SPF opcional de SpamAssassin requiere esto)  
MIME::Base64       :  3.07_01 : OK  
MIME::Parser       :    5.427 : OK  
MIME::QuotedPrint  :     3.07 : OK  
Net::CIDR::Lite    :      N/A : NOT INSTALLED (el plugin SPF opcional de SpamAssassin requiere esto)  
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 (requerido por Maia Mailguard)  
Time::HiRes        :   1.9711 : OK  
Unix::Syslog       :      1.1 : OK  
URI                :     1.35 : OK  
Text::CSV          :      N/A : NOT INSTALLED (requerido por maiadbtool.pl)  
  
Prueba de DSN de base de datos : PASSED  
  
    NOTA: Cuando actualices Perl a la versión 5.10 o planees hacerlo, por favor  
    no olvides agregar una bandera /m que falta a las expresiones regulares en tus  
    entradas AV existentes, como se sugiere en el archivo de ejemplo amavisd.conf.dist. Perl 5.8 no  
    se preocupa por las banderas /m que faltan, pero con perl 5.10 los resultados de un  
    escáner de virus pueden ya no ser reconocidos correctamente.  
server1:/var/lib/amavis/maia/scripts#

Como ves, faltan algunos módulos. La mayoría de ellos se pueden instalar a través de 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 y Data::UUID no están disponibles como paquetes de Debian Lenny, así que debemos instalarlos usando el shell de Perl:

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

Escribe

q

para salir del shell de Perl después.

Ejecuta

./configtest.pl

nuevamente - la salida ahora debería ser la siguiente:

server1:/var/lib/amavis/maia/scripts# ./configtest.pl  
  
MAIA MAILGUARD CONFIGURATION TEST  
  
Este script verifica la presencia de aplicaciones y módulos de Perl  
requeridos por amavisd-maia, SpamAssassin y los scripts de mantenimiento  
de Maia Mailguard.  Los números de versión también se verifican, y  
sí se recomienda una versión más nueva de un componente,  
debes considerar actualizar al menos a la versión mínima recomendada.  
  
Si ya has configurado tu base de datos de Maia Mailguard, el script  
también probará la conexión a esa base de datos.  
  
Recuerda también ejecutar el script configtest.php en tu  
servidor web para realizar pruebas similares de tu entorno web,  
PHP y PEAR.  
  
Aplicación/Módulo      Versión   Estado  
========================================================================  
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 (requerido si usas PostgreSQL como tu base de datos de 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  
  
Prueba de DSN de base de datos : PASSED  
  
    NOTA: Cuando actualices Perl a la versión 5.10 o planees hacerlo, por favor  
    no olvides agregar una bandera /m que falta a las expresiones regulares en tus  
    entradas AV existentes, como se sugiere en el archivo de ejemplo amavisd.conf.dist. Perl 5.8 no  
    se preocupa por las banderas /m que faltan, pero con perl 5.10 los resultados de un  
    escáner de virus pueden ya no ser reconocidos correctamente.  
server1:/var/lib/amavis/maia/scripts#

Dado que estamos usando MySQL y no PostgreSQL, no necesitamos el módulo DBD::Pg.

7 Cargando Reglas de SpamAssassin

Maia Mailguard necesita indexar todas las reglas de SpamAssassin que tienes instaladas en tu sistema. Esto se puede hacer de la siguiente manera:

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

Esto debe hacerse nuevamente cada vez que se actualicen tus reglas de SpamAssassin. Si has seguido el tutorial de Usuarios Virtuales y Dominios con Postfix, Courier, MySQL y SquirrelMail (Debian Lenny), tienes el siguiente trabajo cron en tu sistema:

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

Ejecuta

crontab -e

para modificar ese trabajo cron para que se vea de la siguiente manera:

| 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 Instalando La Interfaz Web de Maia Mailguard

Quiero instalar la interfaz web de Maia en /var/www/maia para que se pueda acceder a través de http://www.example.com/maia (por favor ajusta la ruta si tu raíz de documentos es diferente de /var/www). Por lo tanto, creo ese directorio ahora y copio la interfaz web de Maia en él:

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

Ciertos subdirectorios del directorio /var/www/maia/themes deben ser escribibles por el usuario de Apache. Esto se puede lograr de la siguiente manera:

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

La interfaz web de Maia utiliza el motor de plantillas Smarty, que se puede instalar de la siguiente manera:

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

A continuación, renombramos /var/www/maia/config.php.dist a /var/www/maia/config.php…

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

… y cambiamos las siguientes configuraciones:

vi /var/www/maia/config.php

| [...] $maia_sql_dsn = "mysql://amavis:passwd@tcp(localhost:3306)/maia"; [...] $address_rewriting_type = 4; [...] // Selecciona un método de autenticación de uno de los siguientes: // // "pop3" - usar un servidor POP3 para autenticar // "imap" - usar un servidor IMAP para autenticar // "ldap" - usar un servidor LDAP para autenticar // "exchange" - usar un servidor Exchange para autenticar // "sql" - usar un servidor de base de datos SQL para autenticar // "internal" - usar la base de datos SQL interna de Maia para autenticar $auth_method = "pop3"; [...] |

Ejecuta

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

despues.

9 Probando Tu Configuración de PHP

Abre un navegador y ve a http://www.example.com/maia/admin/configtest.php. Esta página te dice si todos los módulos de PHP necesarios están instalados:

Si faltan módulos, debes instalarlos ahora. Tuve que hacer lo siguiente para instalar los módulos que faltaban:

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

Ahora recarga http://www.example.com/maia/admin/configtest.php - todos los módulos requeridos deberían estar ahora instalados:

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.