Servidor Linux

Tengo instalado un servidor con Linux Mandrake, me gustaria saber como configurar el servidor de correo electronico; lo he intentado de varias maneras y yo con el servidor leo ymando correo, pero mis usuarios no, ¿como lo puedo configurar?
1

1 respuesta

Respuesta
1
¿Podrias ser mas claro?
¿Qué servidor de correos usas? Qmail, ¿sendmail...? ¿Cuál
como lo tienes configurado actualnmente? ¿Puedes mostrarme la configuracion?
Espero.
Aquiles Cohen
69962080
Ayer te pregunte la forma de instalar un servidor de correo, el servidor que quiero instalar es sendmail. Estoy intentandoconfigurar un sservidor con Linux Mandrake y Apache y quisiera que mis usuarios tuvieran una cuenta de correo en mi servidor. Ejempo: [email protected]
Lo primero es obtener una version reciente, de sendmail.org
o conseguir el RPM
con el tarball de sendmail los pasos a seguir son estos
========================
# cp sendmail-version.tar.gz /var/tmp/
# cd /var/tmp/
# tar xzpf sendmail-version.tar.gz
luego anyades el usuario
useradd -u 47 -d /var/spool/mqueue -r -s /bin/false mailnull >/dev/null 2>&1 || :
hay un archivo dentro de los fuentes de sendmail
smrsh.c
vi +80 smrsh/smrsh.c
cambia
# else /* HPUX10 || HPUX11 || SOLARIS >= 20800 */
# define CMDDIR "/usr/adm/sm.bin"
por
# else /* HPUX10 || HPUX11 || SOLARIS >= 20800 */
# define CMDDIR "/etc/smrsh"
y cambia mas abajo
# define PATH "/bin:/usr/bin:/usr/ucb"
por
# define PATH "/bin:/usr/bin"
Por ultimo modifica daemon. C que esta dentro del directorio sendmail
vi +2765 sendmail/daemon.c
(+2765 quiere decir que vi bva a ir hasta esa linea )
en esa linea mas o menos hay una parte que dice
nleft = sizeof ibuf - 1; . alli debes anyadir parentesis a
nleft = sizeof (ibuf) - 1; -> asi debe quedar.!!
ahora te falta configurar para despues compilar!!
vi devtools/OS/Linux
define(`confDEPEND_TYPE', `CC-M')
define(`confMANROOT', `/usr/share/man/man')
define(`confLIBS', `-ldl')
define(`confEBINDIR', `/usr/sbin')
Define(`confLD', `ld')
Define(`confMTLDOPTS', `-lpthread')
Define(`confLDOPTS_SO', `-shared')
Define(`confSONAME',`-soname')
Crea el archivo site. Config. M4
Touch devtools/Site/site.config.m4 y anyade
define(`confMAPDEF', `-DMAP_REGEX')
define(`confENVDEF', `-DPICKY_QF_NAME_CHECK -DXDEBUG=0')
Define(`confCC', `gcc')
Define(`confOPTIMIZE', `-O3 -march=i686 -funroll-loops -fomit-frame-pointer')
define(`confNO_HELPFILE_INSTALL')
En la linea
Define(`confOPTIMIZE', `-O3 -march=i686 -funroll-loops -fomit-frame-pointer')
Debes tener cuidado que si tu equipo es un amd debe ser -march=k6, y lo que acompanya a 3 no es un cero es una O, que te indica el nivel de optimizaciion. Si algo te falla descomplicate con solo escribir
define(`confOPTIMIZE', `-O2')
que es como viene por defecto.
. Listo ahora a compilar
[[email protected] sendmail-8.12.0]# cd sendmail/
[[email protected] sendmail]# sh Build
[[email protected] sendmail]# cd ../mailstats/
[[email protected] mailstats]# sh Build
[[email protected] mailstats]# cd ../smrsh/
[[email protected] smrsh]# sh Build
[[email protected] smrsh]# cd ../makemap/
[[email protected] makemap]# sh Build
[[email protected] makemap]# cd ../praliases/
[[email protected] praliases]# sh Build
[[email protected] praliases]# cd ..
[[email protected] sendmail-8.12.0]# cd sendmail/
[[email protected] sendmail]# sh Build install
[[email protected] sendmail]# cd ../mailstats/
[[email protected] mailstats]# sh Build install
[[email protected] mailstats]# cd ../smrsh/
[[email protected] smrsh]# sh Build install
[[email protected] smrsh]# cd ../makemap/
[[email protected] makemap]# sh Build install
[[email protected] makemap]# cd ../praliases/
[[email protected] praliases]# sh Build install
[[email protected] praliases]# cd ..
[[email protected] sendmail-8.12.0]# ln -fs /usr/sbin/sendmail /usr/lib/sendmail
[[email protected] sendmail-8.12.0]# chmod 511 /usr/sbin/smrsh
[[email protected] sendmail-8.12.0]# install -d -m700 /var/spool/mqueue
[[email protected] sendmail-8.12.0]# chown 0.mail /var/spool/mail/
[[email protected] sendmail-8.12.0]# chmod 1777 /var/spool/mail/
[[email protected] sendmail-8.12.0]# mkdir /etc/smrsh
[[email protected] sendmail-8.12.0]# strip /usr/sbin/sendmail
y todos tus binarios quedaran hechos!!! y corcetamente instalados apar tu mandrake.. ahora la configuracion.!!
======================
estos pasos te serviran tanto para rpm como para tarball/
================
debesras configurar los siguientes archivos
/etc/mail/sendmail.mc (The Sendmail Macro Configuration File)
/etc/mail/access (The Sendmail access Configuration File)
/etc/mail/access.db (The Sendmail access DB Hash Table)
/etc/mail/relay-domains (The Sendmail Relay Configuration File)
/etc/mail/aliases (The Sendmail aliases Configuration File)
/etc/mail/aliases.db (The Sendmail aliases DB Hash Table)
/etc/mail/virtusertable (The Sendmail virtusertable Configuration File)
/etc/mail/virtusertable.db (The Sendmail virtusertable DB Hash Table)
/etc/mail/domaintable (The Sendmail domaintable Configuration File)
/etc/mail/domaintable.db (The Sendmail domaintable DB Hash Table)
/etc/mail/mailertable (The Sendmail mailertable Configuration File)
/etc/mail/mailertable.db (The Sendmail mailertable DB Hash Table File)
/etc/mail/local-host-names (The Sendmail Local Host Configuration File)
/etc/sysconfig/sendmail (The Sendmail System Configuration File)
/etc/rc.d/init.d/sendmail (The Sendmail Initialization File)
ok primero
crear sendmail.mc (touch /etc/mail/sendmail.mc) y anyadir
VERSIONID(`linux Sendmail Server')dnl
OSTYPE(`linux')dnl
DOMAIN(`generic')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`confPRIVACY_FLAGS', `authwarnings,goaway,restrictmailq,restrictqrun')dnl
define(`confSAFE_FILE_ENV',`/home')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
FEATURE(`redirect')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`relay_hosts_only')dnl
FEATURE(`use_cw_file')dnl
FEATURE(`local_procmail')dnl
FEATURE(`access_db')dnl
FEATURE(`blacklist_recipients')dnl
FEATURE(`dnsbl')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
MAILER(`procmail')dnl
Ahora para construir el archivo sendmail. Cf
hacemos
[[email protected] /]# cd /etc/mail/
[[email protected] mail]# m4 /var/tmp/sendmail-8.12.0/cf/m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf
protegemos el archivo
[[email protected] mail]# chmod 600 sendmail.cf
[[email protected] mail]# chown 0.0 sendmail.cf
configuras
el archivo /etc/mail/access
para cuadrar cuales dominios o host estan permitidos para hacer relay o rechazar o descartar.
La sintaxis es asi
Localhost RELAY
dominio.com DISCARD
unhosstmio.com RELAY
otrohost.com OK
spam.com REJECT
Asi puedes ubicar tus redes o servidores adicionales que tengas por ejemplo
198.65.54.50 RELAY
Para que tenga efecto haces
makemap hash /etc/mail/access.db < /etc/mail/access
[[email protected] mail]# chmod 600 access
[[email protected] mail]# chmod 600 access.db
[[email protected] mail]# chown 0.0 access
[[email protected] mail]# chown 0.0 access.db
crea el archivo /etc/mail/relay-domains con las lineas
localhost
www.midominio.com
ns1.midominio.com
ns2.midominio.com
[[email protected] mail]# chmod 600 relay-domains
[[email protected] mail]# chown 0.0 relay-domains
cree el archivo /etc/mail/aliases
default:
# esto debe existir y son loas alias basicos del sistema
MAILER-DAEMON: postmaster
Postmaster: root
# algunos alias
bin: root
Daemon: root
Nobody: root
Mailnull: root
# quien vaya a recibir el correo de root osea el correo se va para la cuanta que myusuarioadmin
root: myusuarioadmin
luego
[[email protected] /]# makemap hash /etc/mail/aliases.db < /etc/mail/aliases
[[email protected] mail]# chmod 600 aliases
[[email protected] mail]# chmod 600 aliases.db
[[email protected] mail]# chown 0.0 aliases
[[email protected] mail]# chown 0.0 aliases.db
para loas archivos virtusertable, domaintable, mailertable
haz
[[email protected] /]# for map in virtusertable domaintable mailertable
> do
> touch /etc/mail/${map}
> chmod 0600 /etc/mail/${map}
> makemap hash /etc/mail/${map}.db < /etc/mail/${map}
> chmod 0600 /etc/mail/${map}.db
> done
crea el archivo /etc/sysconfig/sendmail
DAEMON=yes
QUEUE=1h
y por ultimo crear el archivo /etc/rc.d/init.d/sendmail
y anyade esto:
#!/bin/sh
#
# sendmail This shell script takes care of starting and stopping
# sendmail.
#
# chkconfig: 2345 80 30
# description: Sendmail is a Mail Transport Agent, which is the program \
# that moves mail from one machine to another.
# processname: sendmail
# config: /etc/sendmail.cf
# pidfile: /var/run/sendmail.pid
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Source sendmail configureation.
if [ -f /etc/sysconfig/sendmail ] ; then
. /etc/sysconfig/sendmail
else
DAEMON=no
QUEUE=1h
fi
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/sbin/sendmail ] || exit 0
RETVAL=0
start() {
# Start daemons.
echo -n "Starting Sendmail: "
/usr/bin/newaliases > /dev/null 2>&1
for i in virtusertable access domaintable mailertable ; do
if [ -f /etc/mail/$i ] ; then
makemap hash /etc/mail/$i < /etc/mail/$i
fi
done
daemon /usr/sbin/sendmail $([ "$DAEMON" = yes ] && echo -bd) \
$([ -n "$QUEUE" ] && echo -q$QUEUE)
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
return $RETVAL
}
stop() {
# Stop daemons.
echo -n "Shutting down Sendmail: "
killproc sendmail
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/sendmail ]; then
stop
start
RETVAL=$?
fi
;;
status)
status sendmail
RETVAL=$?
;;
*)
echo "Usage: sendmail {start|stop|restart|condrestart|status}"
exit 1
esac
exit $RETVAL
haz que tu script sea ejecutable
chmod 700 /etc/rc.d/init.d/sendmail
[[email protected] /]# chown 0.0 /etc/rc.d/init.d/sendmail
y crea los links simbolicos
[[email protected] /]# chkconfig --add sendmail
[[email protected] /]# chkconfig --level 2345 sendmail on
y listo
/etc/rc.d/init.d/sendmail start
Cualquier problema que tengas no dudes en consultar!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas