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 r...@example.com postmas...@example.com ... # cd /var/qmail/alias # ... Julien -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org