oct 14

Muntant un servidor de correu amb Gentoo

Tag: Gentoo, linuxmad93 @ 5:58 pm

Bé, a Gentoo hi ha ja un manual de com fer-ho, però per l'usuari que té només un domini és massa complexe i presta moltes funcions que la veritat no necessitem si volem portar només un domini, així doncs aquest manual serà un copy del manual de gentoo i quatre modificacions per muntar-lo ràpid i sense complicar-nos la vida.

En aquest manual emprarem postfix. Per instal·lar-lo:

emerge postfix

Obrirem el /etc/postfix/main.cf i hi afegirem aquestes línies:

 
myhostname = $domain.name
mydomain = $domain.name
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks = my.ip.net.work/24, 127.0.0.0/8
home_mailbox = .maildir/
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
 

Si voleu que surtin els correus amb el nom de màquina del vostre servidor, en comptes de algu@exemple.com, doncs algu@servidor.exemple.com. Jo vull que surtin amb el nom de domini, així que poso només aquest.

A /etc/postfix/master.cf hi afegirem -v darrera d'smtpd per a que mostri informació de tot el que fa, a /var/log/messages, i així poder veure si falla res. Desactiveu-ho quan tingueu el servidor funcionant, sinó us inundarà els logs de porqueria.

smtp      inet  n       -       n       -       -       smtpd -v

Ara editarem els nostres alias a /etc/mail/aliases. Això és crear adreces de correu que realment no ho són, el correu serà redirigit a un usuari real de la màquina que digueu (es pot fer en cadena, per exemple: que wb l'enviï a webmaster i que webmaster ho enviï al vostre usuari local).

Hem de generar la base de dades d'àlies:

/usr/bin/newaliases

Ja podem iniciar el postfix:

/etc/init.d/postfix start

Com he dit, no ho volem fer complicat, així que ens assegurarem de que no emprem mysql per a la indentificació, sinó les comptes de sistema. Haurem d'afegir a /etc/portage/package.use (o crear-lo si no existeix):

dev-libs/cyrus-sasl -mysql
net-libs/courier-authlib -mysql

Ara toca instal·lar el courier-imap:

emerge courier-imap courier-authlib

Ara crearem certificats per a poder emprar encriptació amb les comunicacions amb el servidor de correu. Hem d'omplir els paràmetres C, ST, L, CN i email que corresponguin al nostre servidor:

 
vim pop3d.cnf
vim imapd.cnf
 

Ara creem els certificats:

mkpop3dcert
mkimapdcert

Ara iniciem els serveis:

/etc/init.d/courier-imapd start
/etc/init.d/courier-imapd-ssl start
/etc/init.d/courier-pop3d start
/etc/init.d/courier-pop3d-ssl start
 

Instal·lem cyrus:

emerge cyrus-sasl

Editem /etc/sasl2/smtpd.conf i /etc/conf.d/saslauthd:

vim /etc/sasl2/smtpd.conf
mech_list: PLAIN LOGIN
pwcheck_method: saslauthd
vim /etc/conf.d/saslauthd
SASLAUTHD_OPTS="${SASLAUTH_MECH} -a rimap -r"
SASLAUTHD_OPTS="${SASLAUTHD_OPTS} -O localhost"
/etc/init.d/saslauthd start

Hem d'editar també etc/courier/authlib/authdaemonrc i canviar authmodulelist:

authmodulelist="authpam "

Ara creem els certíficats per postfix:

 
# cd /etc/ssl/
# vim openssl.cnf

Canvia els següents valors per defecte pel teu domini:

 
countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
commonName_default
emailAddress_default.
 

(Si les variables no hi són, només afegeix-les.)

 
# cd misc
# ./CA.pl -newreq-nodes
# ./CA.pl -newca
# ./CA.pl -sign
# cp newcert.pem /etc/postfix
# cp newkey.pem /etc/postfix
# cp demoCA/cacert.pem /etc/postfix
 

(Ara fem el mateix per apache.)

 
# openssl req -new > new.cert.csr
# openssl rsa -in privkey.pem -out new.cert.key
# openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 365
 

Afegim el suport SSL i SASL al postfix:

 
# vim /etc/postfix/main.cf
 
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =
 
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/newkey.pem
smtpd_tls_cert_file = /etc/postfix/newcert.pem
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
 
# postfix reload
 

Ara ja tenim el servidor de correu funcionant :)

Només faltarà afegir els serveis a l'arrancada perquè s'encenguin sempre al reiniciar el servidor:

c-update add $servei default
Comparteix i gaudeix:
  • La Tafanera
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks

One Response to “Muntant un servidor de correu amb Gentoo”

  1. gil forcada says:

    guai, encara no havia entés mai com anava tot plegat i em feia una mica de respecte, així que me l’apunto i per quan ho hagi de fer a veure si funciona :)

Leave a Reply