Configurar la función de autoaprendizaje de SpamAssassin en VestaCP (CentOS)

oct
12

Configurar la función de autoaprendizaje de SpamAssassin en VestaCP (CentOS)

Cuando configuramos SpamAssassin teniendo instalado el panel de hosting VestaCP (sobre CentOS), puede que obtengamos un error relacionado con la opción de autoaprendizaje de SpamAssassin. El problema reside en el plugin Bayes. Si miramos nuestro nuestro archivo de log veremos algo así como:

Spamassassin Error: cannot create user preferences file //.spamassassin/user_prefs: Permission denied

Como podéis comprobar, el error está claramente en que SpamAssassin no es capaz de crear el archivo user_prefs.

Pasos para arreglar el problema

Lo primero que tenemos que hacer es crear el usuario spamd para evitar que SpamAssassin se ejecute con el usuario nobody. Para ello usamos lo siguientes comandos:

groupadd -g 1001 spamd
useradd -u 1001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
mkdir /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin

Seguidamente tenemos que editar el archivo /etc/exim/exim.conf mediante el siguiente comando:

nano vi /etc/exim/exim.conf 1 vi /etc/exim/exim.conf

Si no tenemos el editor nano, tendremos que abrir el archivo con el editor vi. Dentro del archivo tenemos que modificar la siguiente línea:

spam = nobody:true/defer_ok

Y cambiar el usuario nobody por el usuario spamd, de modo que quede tal que así:

spam = spamd:true/defer_ok

Y listo, en principio ya no tendremos que realizar más modificaciones. Ahora tenemos que comprobar que los cambios se han aplicado correctamente.

Reinicio de servicios y comprobaciones finales

Tenemos que reiniciar tanto exim como SpamAssassin:

service exim restart
service spamassassin restart

Ahora, tras pasar un tiempo, los archivos user_prefs, bayes_seen y bayes_toks aparecerán en el directorio del usuario spamd, que en este caso es /var/lib/spamassassin. Para ello ejecutamos los siguientes comandos y vemos si están:

cd /var/lib/spamassassin
 ls -a

Debemos tener en cuenta de que Bayes para SpamAssassin necesita al menos 200 emails de spam antes de crear los archivos, así que si no están, podemos volver a mirar pasado un tiempo. Eso sí, el error debería haber desaparecido del log y el archivo user_prefs que antes nos daba error debería estar presente.

Acerca de EduZRO

Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

Escribe un comentario