LINUX-BG   Адрес : http://www.linux-bg.org
Професионален пощенски сървър (Част 1)
От: Mordeth
Публикувана на: 14-04-2004
Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=programs&key=360501375
Здравейте,
преди известно време ми се наложи да пусна качествен майл сървър. Рових, рових и попаднах на подобоно HowTO.
В тази статия ще разберете как да пуснете:
QMAIL + Vpopmail + courier-imap + Qmailadmin + MySql + Spamassassin + clamav + Squirrelmail + stats (Isoqlog & qmail MRTG) под Linux

Here we go!

Qmail Install

1.1 Създаване на потребителите и групите необходими за  Qmail & Vpopmail

Извършете следните команди в конзолата:

mkdir /var/qmail
groupadd -g 98 vchkpw
useradd -u 98 -g 98 -c Vpopmail-Master -d /home/vpopmail -s /bin/false vpopmail
groupadd -g 91 nofiles
groupadd -g 92 qmail

useradd -u 91 -g 91 -d /var/qmail/alias -s /bin/false alias
useradd -u 92 -g 91 -d /var/qmail -s /bin/false qmaild
useradd -u 93 -g 91 -d /var/qmail -s /bin/false qmaill
useradd -u 94 -g 91 -d /var/qmail -s /bin/false qmailp
useradd -u 95 -g 92 -d /var/qmail -s /bin/false qmailq
useradd -u 96 -g 92 -d /var/qmail -s /bin/false qmailr
useradd -u 97 -g 92 -d /var/qmail -s /bin/false qmails

echo "/bin/false" >> /etc/shells

1.2 Създаване на необходимите директорий

mkdir /var/log/qmail
mkdir /var/log/qmail/qmail-send
mkdir /var/log/qmail/qmail-smtpd
mkdir /var/log/qmail/qmail-pop3d
chown -R qmaill.root /var/log/qmail
chmod -R 750 /var/log/qmail

1.3 Инстаиране на qmail

В някои случаи ще се наложи да пачнете qmail, за да го компилирате с Glib v2.3.1

wget http://qmail.agarik.com/qmail-1.03.tar.gz
tar -zxvf qmail-1.03.tar.gz
cd qmail-1.03
wget http://qmail.mirrored.ca/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
wget http://sylvestre.ledru.info/howto/qmail/qmailqueue-patch
patch -p1  /var/qmail/control/concurrencyremote
chmod 644 /var/qmail/control/concurrencyremote


2 Daemon tools

В някои случаи ще се наложи да пачнете daemontools, за да го компилирате с Glib v2.3.1

mkdir /package
chmod 1755 /package
cd /package
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar -zxvf daemontools-0.76.tar.gz
mv admin/daemontools-0.76/ daemontools-0.76
rmdir admin/
wget ftp://moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
patch -p0 2.1</b> Maildrop

wget http://heanet.dl.sourceforge.net/sourceforge/courier/maildrop-1.6.3.tar.bz2
tar -jxvf maildrop-1.6.3.tar.bz2
cd maildrop-1.6.3/
./configure
make
make install

Проверете дали /usr/local/bin/maildrop съществува!

3.TCPServer

Don't forget to install the developpment ssl lib.
Не забравяйте да инсталирате ssl библиотеката.

wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
tar -zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
wget ftp://moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch
patch -p1 4.</b> vpopmail

Vpopmail се използва като виртуален POP сървър (т.е. няма никаква връзка с /etc/passwd)

Създайте vpopmail база данни и два потребителя в MySQL. Първият потребител, който ще има достъп до данните, а втория, който ще може да модифицира данните.

Пример: вържете се в MySQL (mysql -u root -p)
След което изпълнете следните комадни в конзолата:

mysql> create database vpopmail;
mysql> grant update, create, delete, insert, select on vpopmail.* to vpopmail_edit@localhost identified by "pass";
#Сменете localhost с хоста на vpopmail-a
mysql> grant select on vpopmail.* to vpopmail_read@localhost identified by "pass2k"; #Сменете localhost с хоста на vpopmail-a
mysql> flush privileges;

Така, нека проверим дали потребителите работят:

mysql -u vpopmail_edit -ppass vpopmail
и
mysql -u vpopmail_read -ppass2k vpopmail

До тук с MySQL-a, сега да се върнем към инсталацията на vpopmail-a.

С vpopmail 5.2.X:

wget http://www.inter7.com/vpopmail/vpopmail-5.2.2.tar.gz
tar -zxvf vpopmail-5.2.2.tar.gz
cd vpopmail-5.2.2

отново използавйте любимият си редактор за да променим файл:
vmysql.h

Променете следното:
* Edit to match your set up */
#define MYSQL_UPDATE_SERVER "localhost"
#define MYSQL_UPDATE_USER "vpopmail_edit"
#define MYSQL_UPDATE_PASSWD "pass"

#define MYSQL_READ_SERVER "localhost"
#define MYSQL_READ_USER "vpopmail_read"
#define MYSQL_READ_PASSWD "pass2k"
/* End of setup section*/


След това:

apt-get install libmysqlclient10-dev #Този ред важи само, ако изполвате debian. Ако не, ще трябва да си ги търсите като сорс.
apt-get install zlib1g-dev #Този ред важи само, ако изполвате debian. Ако не, ще трябва да си ги търсите като сорс.
./configure --enable-roaming-users=y --enable-logging=y --enable-defaultquota=15000000000 --enable-ip-alias-domains=y --enable-default-domain=zion.ma3x.org --enable-mysql=y --enable-clear-passwd=n --enable-libdir=/usr/include/mysql/ --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-mysql-logging=y #Сменете 'zion.ma3x.org' с вашият домейн.
make
make install-strip

А,сега с vpopmail 5.4.0:

wget http://heanet.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.3.tar.gz
tar -zxvf vpopmail-5.4.3.tar.gz
mkdir -p ~vpopmail/etc/
cd vpopmail-5.4.3/
echo "localhost|0|vpopmail_edit|vpass|vpopmail" > ~vpopmail/etc/vpopmail.mysql
chown vpopmail.vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql
./configure --enable-roaming-users=y --enable-logging=y --enable-ip-alias-domains=y --enable-auth-module=mysql --enable-clear-passwd=n --enable-libdir=/usr/include/mysql/ --enable-tcpserver-path=/home/vpopmail/etc/ --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp --enable-qmail-ext --enable-logging=e --enable-tcprules-prog=/usr/local/bin/tcprules --enable-rebuild-tcpserver-file
make
make install-strip

А, сега нека да добавим следния ред в crontab(crontab -e):

40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

5. Autorespond

wget http://www.inter7.com/devel/autorespond-2.0.2.tar.gz
tar -zxvf autorespond-2.0.2.tar.gz
cd autorespond-2.0.2
make
make install

6. gdbm

wget ftp://mirrors.kernel.org/gnu/gdbm/gdbm-1.8.3.tar.gz
tar -zxvf gdbm-1.8.3.tar.gz
cd gdbm-1.8.3/
./configure
make
make install

7. Ezmlm (Easy Mailing List manager)

wget http://sylvestre.ledru.info/ezmlm-idx-0.40.tar.gz
wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
wget ftp://moni.csi.hu/pub/glibc-2.3.1/ezmlm-idx-0.53.400.unified_41.patch
tar -zxvf ezmlm-0.53.tar.gz
tar -zxvf ezmlm-idx-0.40.tar.gz
mv ezmlm-idx-0.40/* ezmlm-0.53/
cd ezmlm-0.53
patch 8.</b> SpamAssasin

wget http://useast.spamassassin.org/released/Mail-SpamAssassin-2.55.tar.gz
tar -zxvf Mail-SpamAssassin-2.55.tar.gz
cd Mail-SpamAssassin-2.55
perl Makefile.PL
make
make install
cp spamd/debian-rc-script.sh /etc/init.d/spamassassin You can replace debian by redhat, solaris, netbsd, suse ...
chmod +x /etc/init.d/spamassassin

Заменете следния ред в /etc/init.d/spamassassin:

Заменете DAEMON=/usr/sbin/spamd с:
DAEMON=/usr/bin/spamd

А сега създайте файл etc/default/spamassassin със следните два реда в него:

ENABLED=1
OPTIONS="-v -m 50 --auto-whitelist"

Време е да добавим тези редове в /etc/mail/spamassassin/local.cf:

required_hits 6.0
rewrite_subject 1
report_header 1
use_terse_report 1
defang_mime 1
dns_available yes
dcc_add_header 1
use_pyzor 1 #Оставете го "1" само ако имате инсталиран pyzor
use_razor2 1 #Оставете го "1" само ако имате инсталриан razor2
use_dcc 1

След всичко това нека да стартираме spamassasin-а и да го изпробваме:

/etc/init.d/spamassassin start
spamc 9.</b> Clamav - Antivirus

Преди да инсталирате кламав трябва да инсталирате:
1) unzoo
2) lha
3) unzip

groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

-- След това инсталирайте Кламав от сорс, инсталацията е елементарна. --

10. qmail-scanner

wget http://unc.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-1.20.tgz
tar -zxvf qmail-scanner-1.20.tgz
cd qmail-scanner-1.20/
groupadd qscand
useradd -c "Qmail-Scanner Account" -g qscand -s /bin/false qscand
./configure --spooldir /var/spool/qmailscan --qmaildir /var/qmail --bindir /var/qmail/bin --qmail-queue-binary /var/qmail/bin/qmail-queue --admin postmaster --domain domain.bg --notify sender,admin,recips --local-domains zion.ma3x.org--silent-viruses auto --debug 1 --unzip 1 --add-dscr-hdrs 1 --archive 0 --redundant no --log-details yes --log-crypto 0 --fix-mime 1 --scanners "clamscan,fast_spamassassin" --install 1

*** Заменете "zion.ma3x.org" и "domain.bg" с вашите домейни ***

11. Скриптове и директории

11.1
mkdir ~alias
chown alias.qmail ~alias
echo tech > /var/qmail/alias/.qmail-root
echo tech > /var/qmail/alias/.qmail-postmaster
echo tech > /var/qmail/alias/.qmail-mailer-daemon
chmod 2755 ~alias
chmod 644 ~alias/.qmail*

"Едитнете" файл /var/qmail/users/assign:

+avence.info:avence.info:98:98:/home/vpopmail/domains/avence.info:-:: # Сменете домейнът с вашия.
.
* Не забравяйте последната "."

11.2 Supervise/Svscan Startup.

mkdir /service
chmod 755 /service
mkdir /var/qmail/supervise
chmod 755 /var/qmail/supervise

mkdir /var/qmail/supervise/qmail-smtpd
mkdir /var/qmail/supervise/qmail-smtpd/log
chmod +t /var/qmail/supervise/qmail-smtpd

mkdir /var/qmail/supervise/qmail-send
mkdir /var/qmail/supervise/qmail-send/log
chmod +t /var/qmail/supervise/qmail-send

mkdir /var/qmail/supervise/qmail-pop3d
mkdir /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3d

ln -s /var/qmail/supervise/* /service/

сега направете файл: /var/qmail/rc
в него сложете:

#!/bin/sh
exec env - PATH="/var/qmail/bin:/usr/local/bin" \
qmail-start ./Maildir/

след това:

chmod 700 /var/qmail/rc

11.3 pop3

"едит" /var/qmail/supervise/qmail-pop3d/run

#!/bin/sh
exec /usr/local/bin/tcpserver -H -R -v -c100 0 pop3 /var/qmail/bin/qmail-popup vladimir.avence.info /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 #Сменете "vladimir.avence.info" с вашето ип/хост.

chmod 755 /var/qmail/supervise/qmail-pop3d/run

"едит" /var/qmail/supervise/qmail-pop3d/log/run

#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t s100000 n20 /var/log/qmail/qmail-pop3d 2>&1

chmod 755 /var/qmail/supervise/qmail-pop3d/log
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run

Това беше част първа.

.. СЛЕДВА ПРОДЪЛЖЕНИЕ.

Ако имате проблеми с qmail-a погледнете: http://www.lifewithqmail.org

Официални интернет страници на приложенията:

qmail - http://www.qmail.org
Daemon tools - http://cr.yp.to/daemontools.html
Maildrop - http://www.flounder.net/~mrsam/maildrop/
TCPServer - http://cr.yp.to/ucspi-tcp/
vpopmail - http://www.inter7.com/vpopmail.html
Autorespond - http://www.inter7.com/osfree.html
gdbm - http://www.gnu.org/software/gdbm/
Ezmlm - http://www.ezmlm.org/
Spamassassin - http://www.spamassassin.org/
qmail-scanner - http://qmail-scanner.sourceforge.net/

Орегинално HowTO:
http://sylvestre.ledru.info/howto/howto_qmail_vpopmail.php





<< Професионален мейл сървър (Част 2) | Наръчник за използване на GnuPG (Част II) >>

Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук, но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора, както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.

All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
Linux is copyright by Linus Torvalds.
© Линукс за българи ЕООД 2007
© Slavei Karadjov 1999 - 2006

All rights reserved.

Изпълнението отне: 0 wallclock secs ( 0.16 usr + 0.03 sys = 0.19 CPU)