Re: Le nom de domaine pour configurer DNS avec BIND9
Le vendredi 15 mai 2009 à 11:40 +0200, Yves Rutschle a écrit :
> On Fri, May 15, 2009 at 11:00:42AM +0200, Julien wrote:
> > Je te conseillerais donc QMail pour commencer mais ça va
> > faire hurler tout le monde !
>
> Ouais, personellement je vais commencer par te demander
> comment tu installes qmail sur Debian.
Pour ceux qui sont interessé par QMail, voilà comment j'installe QMail
sur Debian. Toutes les lignes qui commence par # sont à lancer dans une
console. N'hésitez pas si vous avez des questions !
Ps : est-ce que c'est Hors Sujet ? je crée un nouveau fils ? c'est nul
de mettre des gros script comme ça ?
Installation QMail pour Debian
Installer daemontools
# aptitude install daemontools
# aptitude install daemontools-run
# cd /
# ln -s /etc/service
Installer ucspi-tcp
# aptitude install ucspi-tcp
Installer QMail
Créer les groupes et utilisateurs
# addgroup --system nofiles
# adduser --system --ingroup nofiles --home /var/qmail/alias alias
# adduser --system --ingroup nofiles --home /var/qmail qmaild
# adduser --system --ingroup nofiles --home /var/qmail qmaill
# adduser --system --ingroup nofiles --home /var/qmail qmailp
# addgroup --system qmail
# adduser --system --ingroup qmail --home /var/qmail qmailq
# adduser --system --ingroup qmail --home /var/qmail qmailr
# adduser --system --ingroup qmail --home /var/qmail qmails
Décompresser, compiler et installer QMail
# cd
# wget http://www.qmail.org/netqmail-1.06.tar.gz
# tar xzf /root/server-install/netqmail-1.06.tar.gz
# cd netqmail-1.06/
# make setup check
Configurer QMail
# ./config
# cd /var/qmail/control/
# echo "20" > concurrencyincoming
# echo "./Maildir/" > defaultdelivery
# rm plusdomain locals
Ajouter les domaines à gérer dans le fichier rcpthosts puis :
# ln -s rcpthosts locals
Ajouter le scripts de gestion de QMail (qmailctl.sh)
dans /usr/local/bin :
------------------------------- contenu de qmailctl.sh --
#!/bin/sh
# description: the qmail MTA
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
case "$1" in
start)
echo "Starting qmail"
if svok /service/qmail-send ; then
svc -u /service/qmail-send /service/qmail-send/log
else
echo "qmail-send supervise not running"
fi
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
else
echo "qmail-smtpd supervise not running"
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
;;
stop)
echo "Stopping qmail..."
echo " qmail-smtpd"
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo " qmail-send"
svc -d /service/qmail-send /service/qmail-send/log
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
qmail-qstat
;;
doqueue|alrm|flush)
echo "Flushing timeout table and sending ALRM signal to qmail-send."
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /service/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
;;
cont)
echo "Continuing qmail-send"
svc -c /service/qmail-send
echo "Continuing qmail-smtpd"
svc -c /service/qmail-smtpd
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /service/qmail-send /service/qmail-send/log
echo "* Restarting qmail-smtpd."
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp.cdb
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat <<HELP
stop -- stops mail service (smtp connections refused, nothing goes
out)
start -- starts mail service (smtp connection accepted, mail can go
out)
pause -- temporarily stops mail service (connections accepted, nothing
leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts
it
doqueue -- schedules queued messages for immediate delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
flush -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|
cont|cdb|queue|help}"
exit 1
;;
esac
exit 0
------------------------------- fin du contenu de qmailctl.sh ---
Créer les scripts de lancement :
# mkdir
-p /var/qmail/supervise/qmail-send/log /var/qmail/supervise/qmail-smtpd/log
Lancement de qmail-send
- Démon dans le fichier /var/qmail/supervise/qmail-send/run :
----------------- contenu de /var/qmail/supervise/qmail-send/run ---
#!/bin/sh
# 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`"
-------------- fin du contenu de /var/qmail/supervise/qmail-send/run --
- Log dans le fichier /var/qmail/supervise/qmail-send/log/run :
------------ contenu de /var/qmail/supervise/qmail-send/log/run ---
#!/bin/sh
exec /usr/bin/setuidgid qmaill /usr/bin/multilog
t /var/log/qmail/qmail-send
---- fin du contenu de /var/qmail/supervise/qmail-send/log/run ----
Lancement de qmail-smtpd :
- Démon dans le fichier /var/qmail/supervise/qmail-smtpd/run :
--------- contenu de /var/qmail/supervise/qmail-smtpd/run -----
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z
"$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo "No /var/qmail/control/rcpthosts!"
echo "Refusing to start SMTP listener because it'll create an open
relay"
exit 1
fi
exec /usr/bin/softlimit -m 20000000 \
/usr/bin/tcpserver -v -R -l "$LOCAL" \
-x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 127.0.0.1
smtp /var/qmail/bin/qmail-smtpd 2>&1
-------- fin du contenu de /var/qmail/supervise/qmail-smtpd/run ------
Il faut remplacer dans le script précedent 127.0.0.1 par l'adresse IP
public du serveur ou mettre 0.0.0.0
- Log dans le fichier /var/qmail/supervise/qmail-smtpd/log/run :
---------------- contenu de /var/qmail/supervise/qmail-smtpd/log/run ---
#!/bin/sh
exec /usr/bin/setuidgid qmaill /usr/bin/multilog
t /var/log/qmail/qmail-smtpd
--------- fin du contenu de /var/qmail/supervise/qmail-smtpd/log/run --
Créer les répertoires pour les logs :
# mkdir -p /var/log/qmail/qmail-smtpd /var/log/qmail/qmail-send
# chown qmaill /var/log/qmail/qmail-smtpd /var/log/qmail/qmail-send
Rendre exécutable les script run
# cd /var/qmail/supervise
# chmod +x `find -name run`
Créer les réglès pour tcpserver dans le fichier /etc/tcp.smtp :
-------------- contenu de /etc/tcp.smtp --------------
127.0.0.1:allow,RELAYCLIENT=""
--------------- fin du contenu de /etc/tcp.smtp --------------
Puis compiler ces règles :
# qmailctl.sh cdb
Suppression de Exim4/Postfix :
# aptitude install equivs
# cd /var/tmp
# cp /usr/share/doc/equivs/examples/mail-transport-agent.ctl .
# equivs-build mail-transport-agent.ctl
Cas de Exim4 :
# dpkg --ignore-depends=exim4 -r exim4
# dpkg --ignore-depends=exim4-daemon-light -r exim4-daemon-light
# dpkg --ignore-depends=exim4-base -r exim4-base
Cas de Postfix :
# dpkg --ignore-depends=postfix -r postfix
Installation du mta “dummy” :
# dpkg -i /var/tmp/mta-local_1.0_all.deb
Lancer QMail
# cd /service
# ln -s /var/qmail/supervise/qmail-send
# ln -s /var/qmail/supervise/qmail-smtpd
Installation du remplacement de sendmail
Ajouter /var/qmail/bin à la fin du PATH du fichier /etc/profile
# cd /usr/local/bin
# ln -s /var/qmail/bin/sendmail
Créer des alias pour les adresses root@example.com
postmaster@example.com ...
# cd /var/qmail/alias
# ...
Julien
Reply to: