Bueno podemos tomar las fuentes de Qmail y compilar a mano o podemos utilizar los ebuilds que provee Gentoo, para efectos prácticos mejor utilizamos lo que Gentoo ya provee y esta probado.
Veamos esta lista, son los paquetes sugeridos por la guía de QmailRocks:
- qmail
- ucspi-tcp
- daemon-tools
- qmail's pop3d
- qmail SMTP authentication patch
- qmail SMTP TLS patch
- ezmlm mailing list
- autoresponder
- qmailanalog
- vpopmail
- vqadmin
- maildrop
- qmailadmin
- courier IMAP & IMAP SSL
- SquirrelMail WebMail
- qmail-scanner
- qms-analog
- SpamAssassin
- ClamAv
- qtrap
Siguiendo la lista de paquetes que aparecen en gentoo-wiki tendríamos que instalar:
- NetQmail (ya que Qmail es ahora un paquete virtual y proveen lo mismo).
- net-mail/queue-repair
- net-mail/dot-forward
- sys-process/daemontools
- sys-apps/ucspi-tcp
- net-mail/cmd5checkpw
- net-mail/checkpassword
- mail-mta/netqmail
# emerge --ask --verbose netqmail
# env-update
El siguiente paso es crear el certificado que nos da autenticidad de ser quienes decimos que somos (¬¬). Antes de generarlo tenemos que editar el archivo de configuración personalizada para openssl, los datos a modificar son claros:
# nano -w /var/qmail/control/servercert.cnf
# /var/qmail/bin/mkservercert
Esto nos crea un archivo "servercert.pem" y un enlace simbólico suave al mismo llamado "clientcert.pem" en el directorio "/var/qmail/control/".
El certificado tiene una duración de 365 días por lo tanto no tendremos que hacer uno nuevo pronto pero pasa que a muchos se nos olvida renovarlo, en la documentación viene una forma de checar día a día si nuestro certificado ya caduco y en caso de que así sea volver a generarlo.
Primero hacemos una copia en el mismo lugar del script que genera el certificado y despues comentamos la parte interactiva.
# cp -a /var/qmail/bin/mkservercert /var/qmail/bin/mkservercert-noprompt
# nano -w /var/qmail/bin/mkservercert-noprompt
En este archivo que estamos editando comentamos las siguientes lineas que lo único que hacen es mandar un aviso y pedir un ENTER como confirmación el cual es leído de la linea de comandos y después continua con el proceso de hacer el certificado.
#ewarn "Please customize ${conffile} before continuing!"
#einfo "Press ENTER to continue, or CTRL-C to stop now."
#read
Procedemos ahora a hacer una nueva tarea cron esta la creamos en el directorio "/etc/cron.daily" todo lo que esta ahí se ejecuta todos los días por lo tanto todos los días va a checar que el certificado este vigente de lo contrario lo borra y genera uno nuevo, así lo hacemos:
# nano -w /etc/cron.daily/qmail-update-certificate
El contenido del archivo debe ser este:
#!/bin/sh
COUNT=`openssl verify /var/qmail/control/servercert.pem |grep expired|wc -c`
if [[${COUNT} -gt 1]] ; then
rm /var/qmail/control/servercert.pem
/var/qmail/bin/mkservercert-noprompt
/etc/init.d/svscan restart
fi
Guardamos y cerramos el archivo, con esto esta parte queda lista.
Lo siguiente que vamos a hacer es decirle al sistema que cada ves que realicemos una actualización o instalemos algo que modifique la configuración personalizada de "netqmail" nos diga que se á cambiado y/o que tenemos que cambiar la configuración del paquete "netqmail" después de que termino el emerge, eso lo hacemos con el siguiente comando:
# ebuild /var/db/pkg/mail-mta/netqmail-1.05-r8/netqmail-1.05-r8.ebuild config
Esto nos tirara en la terminal algo parecido a esto:
Appending /var/db/pkg to PORTDIR_OVERLAY...
Your fully qualified host name is correo.acatlan.unam.mx.
Putting correo.acatlan.unam.mx into control/me...
Putting acatlan.unam.mx into control/defaultdomain...
Putting unam.mx into control/plusdomain...
Putting correo.acatlan.unam.mx into control/locals...
Putting correo.acatlan.unam.mx into control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to correo.acatlan.unam.mx.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
* Accepting relaying by default from all ips configured on this machine.
* Generating RSA keys for SSL/TLS, this can take some time ... [ ok ]
* Creating a self-signed ssl-certificate:
* /var/qmail/control/servercert.pem already exists.
* If you want to have a properly signed certificate
* instead, do the following:
* openssl req -new -nodes -out req.pem \
* -config /var/qmail/control/servercert.cnf \
* -keyout /var/qmail/control/servercert.pem
* Send req.pem to your CA to obtain signed_req.pem, and do:
* cat signed_req.pem >> /var/qmail/control/servercert.pem
Con esto casi estamos listo para empezar a mandar correos.
No hay comentarios:
Publicar un comentario