Semplice guida
che porta, passo dopo passo, all'installazione di Qmail+checkpassword basati su MySQL con
applicate le patch per lo Spamcontrol, l'accesso SMTP con autenticazione, oltre
all'installazione di Ucspi e dei daemontools. Questa procedura, con eventuali
lievi adattamente, è stata testata su RedHat7.x,8.x,9.x e Slackware 9.0
Potete scaricare i pacchetti ed applicarvi le relative
patch, o saltare direttamente al punto 22 scaricando il sorgente con le patch
già installate
-
Installazione daemontools che eseguira e terrà sotto
monitoring i processi di qmail
-
Creazione della directory
mkdir /usr/local/daemontools
cd /usr/local/daemontools
-
per redhat 9 installare la seguente patch:
http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
patch -p1 < /usr/src/qmail/daemontools-0.76.errno.patch
-
Installazione del pacchetto
tar zxvf /usr/src/qmail/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
./package/install
-
Creazione delle directory per il supervise dei servizi
mkdir -p /usr/local/qmail/supervise/qmail-send/log
mkdir -p /usr/local/qmail/supervise/qmail-smtpd/log
mkdir -p /usr/local/qmail/supervise/qmail-pop3d/log
mkdir /var/log/qmail
mkdir /var/log/qmail/smtpd
mkdir /var/log/qmail/pop3d
-
Impostazione permessi per i file di log
chown -R qmaill /var/log/qmail
-
Creare il file di startup del qmail-send
cat >/usr/local/qmail/supervise/qmail-send/run <<EOF
#!/bin/sh
exec /usr/local/qmail/rc.qmail
EOF
-
Creare il file di log per questo servizio
cat > /usr/local/qmail/supervise/qmail-send/log/run<<EOF
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \
s100000 /var/log/qmail
EOF
-
Creare il file di start per qmail-smtpd
cat >/usr/local/qmail/supervise/qmail-smtpd/run<<EOF
#!/bin/sh
QMAILDUID=\`id -u qmaild\`
NOFILESGID=\`id -g qmaild\`
MAXSMTPD=\`cat /usr/local/qmail/control/concurrencyincoming\`
exec /usr/local/bin/softlimit -m 4000000
\\
/usr/local/bin/tcpserver -v -l localhost -p -x /etc/tcp/smtp.cdb -c "\$MAXSMTPD"
\\
-u "\$QMAILDUID" -g "\$NOFILESGID" 0 smtp \\
/usr/local/bin/rblsmtpd -r relays.ordb.org \\
sh -c '{ test -z "\$TCPREMOTEHOST" && [ "\$TCPREMOTEIP" != "127.0.0.1" ] ; } \\
&& echo "451 bad reverse DNS
\$TCPREMOTEIP" \\
|| /usr/local/qmail/bin/qmail-smtpd \\
/usr/local/qmail/bin/checkpassword /bin/true' 2>&1
EOF
se non si vuole utilizzare le blacklist usare questo script
cat >/usr/local/qmail/supervise/qmail-smtpd/run<<EOF
#!/bin/sh
QMAILDUID=\`id -u qmaild\`
NOFILESGID=\`id -g qmaild\`
MAXSMTPD=\`cat /usr/local/qmail/control/concurrencyincoming\`
exec /usr/local/bin/softlimit -m 4000000
\\
/usr/local/bin/tcpserver -v -l localhost -p -x /etc/tcp/smtp.cdb -c "\$MAXSMTPD"
\\
-u "\$QMAILDUID" -g "\$NOFILESGID" 0 smtp \\
sh -c '{ test -z "\$TCPREMOTEHOST" && [ "\$TCPREMOTEIP" != "127.0.0.1" ] ; } \\
&& echo "451 bad reverse DNS
\$TCPREMOTEIP" \\
|| /usr/local/qmail/bin/qmail-smtpd \\
/usr/local/qmail/bin/checkpassword /bin/true' 2>&1
EOF
se non si vuole il controllo del reverse DNS usare quest'altro script
cat >/usr/local/qmail/supervise/qmail-smtpd/run<<EOF
#!/bin/sh
QMAILDUID=\`id -u qmaild\`
NOFILESGID=\`id -g qmaild\`
MAXSMTPD=\`cat /usr/local/qmail/control/concurrencyincoming\`
exec /usr/local/bin/softlimit -m 4000000
\\
/usr/local/bin/tcpserver -v -l localhost -p -x /etc/tcp/smtp.cdb -c "\$MAXSMTPD"
\\
-u "\$QMAILDUID" -g "\$NOFILESGID" 0 smtp \\
/usr/local/qmail/bin/qmail-smtpd \\
/usr/local/qmail/bin/checkpassword /bin/true 2>&1
EOF
-
Creare un file per il log di questo servizio
cat >/usr/local/qmail/supervise/qmail-smtpd/log/run<<EOF
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t
\\
s100000 /var/log/qmail/smtpd
EOF
-
Creare un file di run per il servizio pop3
cat > /usr/local/qmail/supervise/qmail-pop3d/run<<EOF
#!/bin/sh
exec /usr/local/bin/softlimit -m 4000000
\\
/usr/local/bin/tcpserver -v -x /etc/tcp/pop-3.cdb -R -H -l 0 0 pop-3 \\
/usr/local/qmail/bin/qmail-popup
\\
host.domain /usr/local/qmail/bin/checkpassword \\
/usr/local/qmail/bin/qmail-pop3d Maildir 2>&1
EOF
-
Creare un file per il log di questo servizio
cat >/usr/local/qmail/supervise/qmail-pop3d/log/run<<EOF
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t
\\
s100000 /var/log/qmail/pop3d
EOF
-
Rendere gli script sopra eseguibili con il comando
chmod 755 /usr/local/qmail/supervise/qmail-send/run
chmod 755 /usr/local/qmail/supervise/qmail-send/log/run
chmod 755 /usr/local/qmail/supervise/qmail-smtpd/run
chmod 755 /usr/local/qmail/supervise/qmail-smtpd/log/run
chmod 755 /usr/local/qmail/supervise/qmail-pop3d/run
chmod 755 /usr/local/qmail/supervise/qmail-pop3d/log/run
-
Creare il file concurrencyincoming
echo 20 > /usr/local/qmail/control/concurrencyincoming
chmod 664 /usr/local/qmail/control/concurrencyincoming
-
aggiunta dei filtri
echo '*@*@*' > /usr/local/qmail/control/badrcptpatterns
echo '*!*' >> /usr/local/qmail/control/badrcptpatterns
echo '*@*@*' > /usr/local/qmail/control/badmailpatterns
echo '*!*' >> /usr/local/qmail/control/badmailpatterns
-
Link dei file di esecuzione nella directory /services
ln -s /usr/local/qmail/supervise/qmail-pop3d /service
ln -s /usr/local/qmail/supervise/qmail-send /service
ln -s /usr/local/qmail/supervise/qmail-smtpd /service
-
Scaricare lo script di startup da
http://www.ebruni.it/docs/qmail_mysql/bin/qmaild e
cp qmaild /etc/rc.d/init.d/qmaild
chmod 755 /etc/rc.d/init.d/qmaild
-
Rimozione sendmail
/etc/rc.d/init.d/sendmail stop
rpm -e --nodeps sendmail
-
Rimozione pop3
vi /etc/xinetd.d/ipop3 e impostare disable=yes
service xinetd restart
-
eseguire qmail
/etc/rc.d/init.d/qmaild start
-
inserire lo script nei runlevel
chkconfig --add qmaild
chkconfig --level 235 qmaild on
-
simulazione sendmail
ln -s /usr/local/qmail/bin/sendmail /usr/sbin/sendmail