Esta es la primera parte de la instalacion y configuracion de un sistema de correo con los servicios smtp, pop e imap para lo cual se utilizara qmail como mta y openldap (qmail-ldap) para autentificar las cuentas. Esta instalacion se realizara sobre Debian Etch R1
(La segunda parte contemplara los filtros de antivirus y spam)
DEPENDENCIAS NECESARIAS
#apt-get install make gcc gcc++ gengetopt libpopt-dev python-crypto
INSTALACION DE LDAP
#apt-get install slapd ldap-utils
RESPONDER
Contraseña del admin : 123456
Confirme la contraseña del admin : 123456
RECONFIGURACION
#dpkg-reconfigure slapd
Desea omitir la configuracion de ldap : no
Introdusca el nombre de dominio DNS : silcom.com
Instrodusca el nombre de su organizacion : silcom.com
Contraseña del administrador : 123456
Verificacion de la contraseña : 123456
Motor de base de datos a utilizar : BDB
Desea que se borre la base de datos cuando purge el paquete slapd :NO
Desea mover la base de datos antigua : SI
Permitir el protocolo LDAPV2 : si
COMPROBAR LA INSTALACION
#ldapsearch -x -b “dc=silcom,dc=com”
RESULTADO CORRECTO
# extended LDIF
#
# LDAPv3
# base <“dc=silcom,dc=comâ€> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 34 Invalid DN syntax
text: invalid DN
INSTALAMOS APACHE ,PHP ,LDAPADMIN
#apt-get install apache php5-ldap phpldapadmin
INSTALACION DE PAQUETES BASICOS
UCSPI-TCP
#cd /usr/local/src/
#tar zxvf ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#wget http://lomu.homelinux.com/0.88-errno.patch
#patch -p0 < 0.88-errno.patch
#make
#make setup check
DAEMONTOOLS
#tar zxvf daemontools-0.76.tar.gz
#cd admin/daemontools-0.76
#wget http://lomu.homelinux.com/0.76-errno.patch
#patch -p0 < 0.76-errno.patch
#./package/install
INSTALANDO QMAIL CON SOPORTE PARA LDAP
QMAIL LDAP
#apt-get install zlib-bin
#tar -zxvf qmail-1.03.tar.gz
#gunzip qmail-ldap-1.03-20060201.patch.gz
#cd qmail-1.03
#patch -p1 <../qmail-ldap-1.03-20060201.patch
#cp qmail.schema /etc/ldap/schema
ADICIONAR SCHEMA DE QMAIL A LDAP
ADICIONAR
#vi /etc/ldap/slapd.conf
include /etc/ldap/schema/qmail.schema
REINICIAR
#/etc/init.d/slapd restart
LIBRERIAS ANTES DE COMPILAR
#apt-get install libssl-dev libldap2-dev zlib1g-dev
AGREGAR USUARIOS REQUERIDOS POR QMAIL
#groupadd nofiles
#useradd -g nofiles -d /var/qmail/alias alias
#useradd -g nofiles -d /var/qmail qmaild
#useradd -g nofiles -d /var/qmail qmaill
#useradd -g nofiles -d /var/qmail qmailp
#groupadd qmail
#useradd -g qmail -d /var/qmail qmailq
#useradd -g qmail -d /var/qmail qmailr
#useradd -g qmail -d /var/qmail qmails
#groupadd vmail -g 2110
#useradd vmail -u 11184 -g vmail -d /home/vmail -s /bin/true
#mkdir /home/vmail
#mkdir /home/vmail/silcom.com.pe
#chown -R vmail:vmail /home/vmail
#chown -R vmail:vmail /home/vmail/silcom.com.pe
#cd /usr/local/src/qmail-1.03
#vi Makefile
descomentar : LDAPFLAGS=-DQLDAP_CLUSTER -DEXTERNAL_TODO -DDASH_EXT -DDATA_COMPRESS -DQMQP_COMPRESS -DSMTPEXECCHECK -DALTQUEUE
queda igual : LDAPLIBS=-L/usr/local/lib -lldap -llber
queda igual : LDAPINCLUDES=-I/usr/local/include
descomentar : ZLIB=-lz
descomentar : TLS=-DTLS_REMOTE -DTLS_SMTPD
descomentar : TLSINCLUDES=-I/usr/local/include
descomentar : TLSLIBS=-L/usr/local/lib -lssl -lcrypto
descomentar : OPENSSLBIN=/usr/local/bin/openssl
queda igual : MNW=-DMAKE_NETSCAPE_WORK
descomentar : MDIRMAKE=-DAUTOMAILDIRMAKE
descomentar : HDIRMAKE=-DAUTOHOMEDIRMAKE
descomentar : SHADOWLIBS=-lcrypt
descomentar : DEBUG=-DDEBUG
#vi qmail-ldap.h
CAMBIAR
define LDAP_HOMEDIR «homeDirectory»
POR
define LDAP_HOMEDIR «homeDirectoryfake»
COMPILACION DE QMAIL
#make setup check
ARCHIVOS DE CONFIGURACION
#cd /var/qmail/control
#echo silcom.com.pe > /var/qmail/control/me
#echo silcom.com.pe > /var/qmail/control/rcpthosts
#echo silcom.com.pe > /var/qmail/control/locals
IPLDAP
#echo 127.0.0.1 > /var/qmail/control/ldapserver
LDAP Base DN
#echo ou=qmail,dc=silcom,dc=com > /var/qmail/control/ldapbasedn
OBJECT CLASS QMAIL
#echo qmailUser > /var/qmail/control/ldapobjectclass
PASSWD LDAP
#echo 123456 >/var/qmail/control/ldappassword
LOGIN LDAP
#echo cn=admin,dc=silcom,dc=com > /var/qmail/control/ldaplogin
QUE NO BUSQUE LAS CONTRASEÑAS EN ETC
#echo 0 >/var/qmail/control/ldaplocaldelivery
LDAP CLUSTER NO
#echo 0 >/var/qmail/control/ldapcluster
CUOTA POR DEFECTO 10MB
#echo 10000000 >/var/qmail/control/defaultquotasize
NORMERO DE CORREOS QUE SE PUEDE TENER
#echo 10000 >/var/qmail/control/defaultquotacount
MENSAJE CON EL LIMITE
#echo Tu buzon se esta saturando, haz espacio si quieres seguir recibiendo correos > /var/qmail/control/quotawarning
TODA LA CONFIGURACION DE OBTIENE DE LDAP
#echo ldaponly > /var/qmail/control/ldapdefaultdotmode
BUZONES DE USUARIOS
#echo /home/vmail/ > /var/qmail/control/ldapmessagestore
UID DE USER VMAIL
#echo 11184 > /var/qmail/control/ldapuid
GID USUARIO VMAIL
#echo 2110 > /var/qmail/control/ldapgid
TIEMPO MAXIMO DE BUSQUEDA
#echo 30 > /var/qmail/control/ldaptimeout
TEXTO PARA RECHASOS
#echo Para mayor informacion escribir a webmaster@silcom.com.pe > /var/qmail/control/custombouncetext
LISTAS RBL
#touch /var/qmail/control/rbllist
IP QMAIL REMOTE
#echo 0.0.0.0 >/var/qmail/control/outgoingip
FORMATO PARA LOS BUSZONES DE USUARIOS
#echo ./Maildir/ >/var/qmail/control/defaultdelivery
INGRESAR A LDAPADMIN
En la raiz : agregar objectClass = qmailUser y utributo mail de esta forma :
Ahora crear la siguiente estructura de unidades organizacionales
-agregar ou = qmail
– agregar ou = silcom.com.pe
– agregar ou = users
quedara asi :
INICIAR SERVICIOS
RC
#cd /var/qmail
#touch rc
#vi rc
#!/bin/sh
# Taken from LWQ by Dave Sill
# Using stdout for logging
# Using control/defaultdelivery from qmail-local to deliver messages by default
exec env – PATH=»/var/qmail/bin:$PATH» \
qmail-start «`cat /var/qmail/control/defaultdelivery`»
##########################
ASIGNAR PERMISOS
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
QMAILCONF – DJBDNS
#cd /usr/local
#tar xvfz djbdns-1.05.tar.gz
#cd djbdns-1.05
#echo gcc -O2 -include /usr/include/errno.h > conf-cc
#make
#make setup check
#tar xvfz qmail-conf-0.60.tar.gz
#cd qmail-conf-0.60
#make -f Makefile.ini djbdns=../djbdns-1.05/
#echo gcc -O2 -include /usr/include/errno.h > conf-cc
#make setup check
MAILDROP
#apt-get install libpcre3-dev g++
#tar -xvf maildrop-2.0.1.20051115.tar
#cd maildrop-2.0.1.20051115
#./configure
#make
#make install
QMAIL DELIVERI
#cd /
#/var/qmail/bin/qmail-delivery-conf qmaill /var/qmail/service/qmail
#ln -s /var/qmail/service/qmail /service
#svc -u /service/qmail
#svstat /service/qmail
SI TODO ESTA BIEN DEBERIA SALIR ESTO:
/service/qmail: up (pid 443) 2401 seconds
QMAIL SMTP
#/var/qmail/bin/qmail-smtpd-conf qmaild qmaill /var/qmail/service/smtpd
#ln -s /var/qmail/service/smtpd /service
#svc -u /service/smtpd
#svstat /service/smtpd
SI TODO ESTA BIEN DEBERIA SALIR ESTO:
/service/smtpd: up (pid 469) 1 seconds
#mv /etc/init.d/exim4 /root
DEFINIR RELAY
#vi /service/smtpd/tcp
127.:allow,RELAYCLIENT=»»
200.62.171.:allow,RELAYCLIENT=»»
192.168.1.:allow,RELAYCLIENT=»»
:allow
#echo «3»> /service/smtpd/env/LOGLEVEL
#cd /service/smtpd
#make
SI TODO ESTA BIEN DEBERIA SALIR ESTO:
/usr/local/bin/tcprules tcp.cdb tcp.tmp < tcp
SI SALE UN ERROR HAY QUE TENER CUIDADO CON LAS COMILLAS NO SE COPIAN BIEN
DIRMAKER
#vi /var/qmail/bin/dirmaker.sh
#!/bin/sh
/bin/mkdir -m 700 -p $1/Maildir
/bin/mkdir -m 700 -p $1/Maildir/new
/bin/mkdir -m 700 -p $1/Maildir/cur
/bin/mkdir -m 700 -p $1/Maildir/tmp
#######################
ASIGNANDO PERMISOS
#chmod +x /var/qmail/bin/dirmaker.sh
#echo /var/qmail/bin/dirmaker.sh > /var/qmail/control/dirmaker
SERVICIO POP3
#cd /
(Todo es una linea)
/var/qmail/bin/qmail-pop3d-conf /var/qmail/bin/auth_pop qmaill /var/qmail/service/pop3d
#cd /var/qmail/service/pop3d
#vi tcp
192.168.1.0:allow
200.62.171.0:allow
#make
SI TODO ESTA BIEN DEBERIA SALIR ESTO:
/usr/local/bin/tcprules tcp.cdb tcp.tmp < tcp
#ln -s /var/qmail/service/pop3d /service
#echo «3»> /service/pop3d/env/POP3_LOGLEVEL
#svstat /service/pop3d /service/pop3d/log
SI TODO ESTA BIEN DEBERIA SALIR ESTO:
/service/pop3d: up (pid 1437) 8 seconds
/service/pop3d/log: up (pid 1436) 8 seconds
VERIFICAR LOGS DE POP3
#tail -f /service/pop3d/log/main/current | tai64nlocal
SERVICIO IMAP
#apt-get install libgdbm-dev
Imap mecesita ser compilado previamente con un usuario comun (no root) para eso cree un usuario joliva e inicie sesion con el en una consola aparte para no tener confuciones y se ejecuta lo siguiente:
#cd /usr/local/src
#tar -xvf courier-imap-3.0.8.tar
#chown -R joliva.joliva courier*
#su joliva
#cd courier-imap-3.0.8
(Cuidado con lo que tenemos antes de enable-unicode. Pegado a “ena” tenemos dos guiones juntos, en el blog no se aprecia bien pero sería “- -enable-unicode”, juntando los dos guiones seguidos. )
#./configure –enable-unicode=iso-8859-1,utf-8
#make
#make check
#exit
#cd courier-imap-3.0.8
#make install
#make install-configure
#cp /usr/lib/courier-imap/etc/imapd.dist /etc/imapd.config
#vi /etc/imapd.config
MAXPERIP=40
CREAR DIRECTORIO DE INICIO
#mkdir /usr/lib/courier-imap/runscript
#vi /usr/lib/courier-imap/runscript/run
#!/bin/sh
IPADDR=»0.0.0.0″
exec_prefix=/usr/lib/courier-imap
. /etc/imapd.config
exec tcpserver -c 100 -l 0 -v -R $IPADDR imap \
${exec_prefix}/sbin/imaplogin \
/var/qmail/bin/auth_imap \
${exec_prefix}/bin/imapd Maildir 2>&1
##############################
ASIGNAR PERMISOS
#chmod +x /usr/lib/courier-imap/runscript/run
#ln -s /usr/lib/courier-imap/runscript /service/imapd
ACTIVAR SERVICIO IMAP
#svstat /service/imapd
SI TODO ESTA CORRECTO SE OBTIENE ALGO ASI:
/service/imapd: up (pid 92820) 20 seconds
AUTORESPONDER
#cd /usr/local/src
#tar -xzf autorespond-2.0.4.tar.gz
#cd autorespond-2.0.4
#patch -p1 < ../autorespond-2.0.4-2.0.5.patch
#make
#make install
MANEJADOR DE LISTAS EMZL
#cd /usr/local/src
#tar -xzf ezmlm-0.53.tar.gz
#tar -xzf ezmlm-idx-5.0.2.tar.gz
#mv ezmlm-idx-5.0.2/* ezmlm-0.53/
#cd ezmlm-0.53
#patch -p0 < idx.patch
#make
#make setup
REINICIAR
#shutdown -r now
PRUEBAS DE LOS PUERTOS
#telnet localhost 25
#telnet localhost 110
#telnet localhost 143
CREAR USUARIOS
CREAR joliva.ldif con el siguiente formato e importamos el archivo atravez de phpldapadmin
dn: cn=joliva,ou=users,ou=silcom.com.pe,ou=qmail,dc=silcom,dc=com
cn: joliva
ou: users
sn: joliva
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: qmailUser
mail: joliva@silcom.com.pe
mailHost: mail.silcom.com.pe
mailQuotaSize: 0
mailQuotaCount: 0
accountStatus: active
uid: joliva
mailMessageStore: silcom.com.pe/joliva
userPassword: {MD5}RMe+SCJuutXcqCFmdMrWKw==
IMPORTAR EL ARCHIVO LDIF DESDE PHPLDAPADMIN Y CAMBIAR LA CONTRASEÑA
userPassword : 123456
REALIZAR PRUEBAS DE INGRESO
#telnet 127.0.0.1 143
…
a001 login joliva 123456
a002 select inbox
Si todo esta correcto podremos loguearnos atravez de imap , y se debera haber creado buzon en /home/vmail/joliva
Archivos de configuracion y programas
http://www.silcom.com.pe/soft/qmail-ldap-etch/
Enlaces de referencia
http://www.qmail-ldap.org/wiki/Installation_Guide
http://www.lomunet.org/

Replica a CGG Cancelar la respuesta