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 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
[root@localhost sendmail-8.12.0]# cd sendmail/
[root@localhost sendmail]# sh Build
[root@localhost sendmail]# cd ../mailstats/
[root@localhost mailstats]# sh Build
[root@localhost mailstats]# cd ../smrsh/
[root@localhost smrsh]# sh Build
[root@localhost smrsh]# cd ../makemap/
[root@localhost makemap]# sh Build
[root@localhost makemap]# cd ../praliases/
[root@localhost praliases]# sh Build
[root@localhost praliases]# cd ..
[root@localhost sendmail-8.12.0]# cd sendmail/
[root@localhost sendmail]# sh Build install
[root@localhost sendmail]# cd ../mailstats/
[root@localhost mailstats]# sh Build install
[root@localhost mailstats]# cd ../smrsh/
[root@localhost smrsh]# sh Build install
[root@localhost smrsh]# cd ../makemap/
[root@localhost makemap]# sh Build install
[root@localhost makemap]# cd ../praliases/
[root@localhost praliases]# sh Build install
[root@localhost praliases]# cd ..
[root@localhost sendmail-8.12.0]# ln -fs /usr/sbin/sendmail /usr/lib/sendmail
[root@localhost sendmail-8.12.0]# chmod 511 /usr/sbin/smrsh
[root@localhost sendmail-8.12.0]# install -d -m700 /var/spool/mqueue
[root@localhost sendmail-8.12.0]# chown 0.mail /var/spool/mail/
[root@localhost sendmail-8.12.0]# chmod 1777 /var/spool/mail/
[root@localhost sendmail-8.12.0]# mkdir /etc/smrsh
[root@localhost 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
[root@localhost /]# cd /etc/mail/
[root@localhost mail]# m4 /var/tmp/sendmail-8.12.0/cf/m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf
protegemos el archivo
[root@deep mail]# chmod 600 sendmail.cf
[root@deep 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
[root@localhost mail]# chmod 600 access
[root@localhost mail]# chmod 600 access.db
[root@localhost mail]# chown 0.0 access
[root@localhost 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
[root@localhost mail]# chmod 600 relay-domains
[root@localhost 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
[root@localhost /]# makemap hash /etc/mail/aliases.db < /etc/mail/aliases
[root@localhost mail]# chmod 600 aliases
[root@localhost mail]# chmod 600 aliases.db
[root@localhost mail]# chown 0.0 aliases
[root@localhost mail]# chown 0.0 aliases.db
para loas archivos virtusertable, domaintable, mailertable
haz
[root@localhost /]# 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
[root@localhost /]# chown 0.0 /etc/rc.d/init.d/sendmail
y crea los links simbolicos
[root@localhost /]# chkconfig --add sendmail
[root@localhost /]# 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