Servidor de correos

Con Postfix, Dovecot, SpamAssasin, Amavisd-new, OpenLDAP y dos clientes webmail: RoundCube y Squirrel Mail. Para instalar todo esto use el script iRedMail para CentOS.

Alias

en /etc/postfix/aliases están los alias

Para crear alias a mano los alias

  • En el fichero de configuración del postfix ponemos
    alias-maps=hash:/etc/postfix/aliases
  • Creamos la base de ddatos d elias para el postfix
postalias hash:/etc/postfix/aliases

Con newalias podemos genera alias para el sistema pero no para el postfix

Crear ficheros planos para crear alias

editamos /etc/postfix/virtual ponemos al final del fichero los alias. Cerramos y ejecutamos postmap hash:<ruta al fichero>. al ejecutar el comando nos crea un fichero con el mismo nombre pero con extensión db. Ejecutamos postfix reload y editamos el fichero main.cf y la directiva virtual_alias_map y añadimos lo siguiente: hash:<ruta al fichero sin poner el db al final>

Logs

Los logs se guardarían en :

  • Dovecot /var/log/dovecot.log registro de entrega en los buzones
  • Sieve /var/log/sieve.log Se ve si el mensaje es spam
  • Correo entrante y saliente /var/log/maillog
tail -f /var/log/messages
tail -f /var/log/httpd/access_log

Para habilitar el modo debug en Dovecot y Sieve

en /etc/dovecot.conf

mail_debug=yes

Reiniciar Dovecot para coger los cambios

/etc/init.d/dovecot restart

para reiniciar dovecot

/etc/init.d/dovecot restart /etc/init.d/ldap restart

SSL

Para crear o renovar los certificados ssl hay que seguir los siguientes pasos:

$ wget http://iredmail.googlecode.com/hg/iRedMail/tools/generate_ssl_keys.sh
$ bash generate_ssl_keys.sh

SSL keys were generated:

  1. /Users/michaelz/certs/iRedMail_CA.pem
  2. /Users/michaelz/private/iRedMail.key

It will generate two new files in current directory, copy/move them to somewhere you want:

  • certs/iRedMail_CA.pem
  • private/iRedMail.key

Reparar BDD ldap

  1. Parar LDAP
    /etc/init.d/ldap stop
  2. Ejecutar el demonio manualmente con el flag de debug
    /usr/sbin/slapd -u ldap -h ldap://127.0.0.1:389/ -d 256

    para comprobar que la bdd está corrupta

  3. Realizar el recovery
    /usr/sbin/slapd_db_recover -h /var/lib/ldap/dominiocorreo/
  4. Iniciar el servicio ldap
    /etc/init.d/ldap start

Si aún así sigue dando problemas hay que hacer lo siguiente:

  1. Parar el servidor ldap
     service ldap stop
  2. Hacer un backup de la estructura existente
     tar -cvzf ldap.tar.gz /var/lib/ldap/dominiocorreo/* 
      - Realizar la recuperación <code>/usr/sbin/slapd_db_recover -h /var/lib/ldap/dominiocorreo
      - Volcar la estructura a un fichero texto <code> slapcat -l ldap.ldif 
algunas veces es necesario borrar todos los ficheros bdb, pero “dn2id” y “id2entry”, deben estar accesibles para “slapcat” los ficheros
  1. Verificar que el fichero resultante contiene la estructura de direcorio. Si no es así o slapcat da un error intentar ejecutar slapd_db_recover en modo catastrofe
     slapd_db_recover -h /var/lib/ldap -v -c 
  2. Borrar el directorio LDAP corructo
     rm -fr /var/lib/ldap/dominiocorreo* 
  3. Recrear el fichero DB_CONFIG file, que contiene información básica para el bdb backend
     echo -en "set_cachesize 0 15000000 1\nset_lg_bsize 2097152\n" >/var/lib/ldap/DB_CONFIG
  4. Recrear la estructura del directorio LDAP desde el fichero ldap.ldif creado anteriormente
     slapadd -l ldap.ldif 
  5. Darle permisos de propietario al usuario “ldap” sobre el nuevo directorio
    chown -R ldap:ldap /var/lib/ldap/directoriocorreo/
  6. Iniciar el servicio LDAP
     /etc/init.d/ldap start 

Referencias http://blog.mydream.com.hk/howto/linux/openldap-recovery-howto

Referencia