Qmail-LDAP Wiki:Site support

From Qmail-LDAP Wiki

Jump to: navigation, search

Howto Sistema de correo Qmail, Openldap en debian etch (qmail-ldap)

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)

    1. DEPENDENCIAS NECESARIAS ##

apt-get install make gcc gcc++ gengetopt libpopt-dev python-crypto

    1. INSTALACION DE LDAP ##

apt-get install slapd ldap-utils

  1. RESPONDER #

Contraseña del admin : 12301230 Confirme la contraseña del admin : 12301230

  1. 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 : 12301230 Verificacion de la contraseña : 12301230 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

  1. COMPROBAR LA INSTALACION #

ldapsearch -x -b “dc=cip,dc=cu”

RESULTADO CORRECTO

  1. extended LDIF
  2. LDAPv3
  3. base <dc=cip,dc=cu> with scope subtree
  4. filter: (objectclass=*)
  5. requesting: ALL
  1. search result

search: 2 result: 34 Invalid DN syntax text: invalid DN

  1. INSTALAMOS APACHE ,PHP ,LDAPADMIN #

apt-get install apache php5-ldap phpldapadmin

  1. Descarga de Paquetes Necesarios #

cd /usr/local/src/

wget http://lomu.homelinux.com/0.76-errno.patch wget http://lomu.homelinux.com/0.88-errno.patch wget http://shupp.org/software/autorespond-2.0.4.tar.gz wget http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch wget http://shupp.org/software/courier-imap-4.1.2.tar.bz2 wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz wget http://www.silcom.com.pe/soft/qmail-ldap-etch/dirmaker.sh wget http://www.silcom.com.pe/soft/qmail-ldap-etch/djbdns-1.05.tar.gz wget http://cr.yp.to/software/ezmlm-0.53.tar.gz wget http://shupp.org/software/ezmlm-idx-0.443.tar.gz wget http://www.silcom.com.pe/soft/qmail-ldap-etch/maildrop-2.0.1.20051115.tar wget http://www.silcom.com.pe/soft/qmail-ldap-etch/qmail-1.03.tar.gz wget http://www.silcom.com.pe/soft/qmail-ldap-etch/qmail-conf-0.60.tar.gz wget http://www.silcom.com.pe/soft/qmail-ldap-etch/qmail-ldap-1.03-20060201.patch.gz wget http://www.silcom.com.pe/soft/qmail-ldap-etch/qmail-ldap-2da-parte.txt wget http://www.silcom.com.pe/soft/qmail-ldap-etch/rc wget http://www.silcom.com.pe/soft/qmail-ldap-etch/run wget http://www.silcom.com.pe/soft/qmail-ldap-etch/ucspi-tcp-0.88.tar.gz

  1. INSTALACION DE PAQUETES BASICOS #


  1. UCSPI-TCP

cd ucspi-tcp-0.88 patch -p0 < 0.88-errno.patch make make setup check

  1. DAEMONTOOLS

tar zxvf daemontools-0.76.tar.gz cd admin/daemontools-0.76

patch -p0 < 0.76-errno.patch ./package/install

  1. 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

  1. ADICIONAR SCHEMA DE QMAIL A LDAP
  1. ADICIONAR

nano /etc/ldap/slapd.conf include /etc/ldap/schema/qmail.schema

REINICIAR Ldap

/etc/init.d/slapd restart

  1. LIBRERIAS ANTES DE COMPILAR

apt-get install libssl-dev libldap2-dev zlib1g-dev

  1. 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/cip.cu chown -R vmail:vmail /home/vmail chown -R vmail:vmail /home/vmail/cip.cu cd /usr/local/src/qmail-1.03

nano 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

nanoqmail-ldap.h

  1. CAMBIAR

define LDAP_HOMEDIR “homeDirectory”

  1. POR

define LDAP_HOMEDIR “homeDirectoryfake”

  1. COMPILACION DE QMAIL

make setup check

  1. ARCHIVOS DE CONFIGURACION

cd /var/qmail/control echo cip.cu > /var/qmail/control/me

echo cip.cu > /var/qmail/control/rcpthosts

echo cip.cu > /var/qmail/control/locals

IPLDAP echo 127.0.0.1 > /var/qmail/control/ldapserver

LDAP Base DN echo ou=qmail,dc=cip,dc=cu > /var/qmail/control/ldapbasedn

OBJECT CLASS QMAIL echo qmailUser > /var/qmail/control/ldapobjectclass

PASSWD LDAP echo 12301230 >/var/qmail/control/ldappassword

LOGIN LDAP echo cn=admin,dc=cip,dc=cu > /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 serviciostecnicos@cip.cu > /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

http://tu-numero-de-ip/phpldapadmin/

En la raiz : agregar objectClass = qmailUser y utributo mail de esta forma :

imagen-qmail-ldap1

imagen-qmail-ldap2

imagen-qmail-ldap3

imagen-qmail-ldap4

imagen-qmail-ldap5

Ahora crear la siguiente estructura de unidades organizacionales

- agregar ou = qmail - agregar ou = cip.cu - agregar ou = users

quedara asi :

imagen-qmail-ldap6

  1. INICIAR SERVICIOS
  2. para crear el rc

RC

cd /var/qmail touch rc nano rc

  1. !/bin/sh
  2. Taken from LWQ by Dave Sill
  3. Using stdout for logging
  4. 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`”

  1. 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++ cd /usr/local/src/ 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 nano /service/smtpd/tcp

127.:allow,RELAYCLIENT="" 192.168.7.: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 nano /var/qmail/bin/dirmaker.sh

  1. !/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 nano tcp

192.168.7.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

  1. Imap mecesita ser compilado previamente con un usuario comun (no root)
  2. para eso cree un usuario joliva e inicie sesion con el en una consola
  3. aparte para no tener confuciones y se ejecuta lo siguiente:

cd /usr/local/src tar xvfj courier-imap-4.1.2.tar.bz2 chown -R cmanuel.cmanuel courier* su cmanuel export CPPFLAGS=-I/usr/local/include/ export LDFLAGS=-L/usr/local/lib

  1. (Cuidado con lo que tenemos antes de enable-unicode.
  2. Pegado a “ena” tenemos dos guiones juntos,
  3. 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 nano /etc/imapd.config

cambiar MAXPERIP=4 por MAXPERIP=40

CREAR DIRECTORIO DE INICIO mkdir /usr/lib/courier-imap/runscript nano /usr/lib/courier-imap/runscript/run

  1. !/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

Testear imap

telnet 127.0.0.1 143 ... a1 login your_login ***** a2 select inbox


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 cmanuel.ldif con el siguiente formato e importamos el archivo atravez de phpldapadmin

dn: cn=cmanuel,ou=users,ou=cip.cu,ou=qmail,dc=cip,dc=cu cn: cmanuel ou: users sn: cmanuel objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: qmailUser mail: cmanuel@cip.cu mailHost: mail.cip.cu mailQuotaSize: 0 mailQuotaCount: 0 accountStatus: active uid: joliva mailMessageStore: cip.cu/cmanuel userPassword: {MD5}RMe+SCJuutXcqCFmdMrWKw==

IMPORTAR EL ARCHIVO LDIF DESDE PHPLDAPADMIN Y CAMBIAR LA CONTRASEÑA

userPassword : 123456

qmail-ldap7

REALIZAR PRUEBAS DE INGRESO

  1. telnet 127.0.0.1 143

… a001 login cmanuel 123456 a002 select inbox

Personal tools