от Mordeth(14-04-2004)

рейтинг (37)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Здравейте,
преди известно време ми се наложи да пусна качествен майл сървър. Рових, рових и попаднах на подобоно 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) >>