CentOS Postfix Mail server

vladimir simeonov
04/07/2011

Поднобно на статията за Убунту, пускам как се инсталира почти същата конфигурация+ малко промени натрупани с времето. основната разлика е използването на Dovecot вместо Courier поради следните съществени причини:

1. води се, че Dovecot е по – бърз спрямо Courier

2. Dovecot може да замести напълно courier-authlib и конфигурирането на postfix+SASL не е равносилно на клизма

разбира се трябва да изтъкна и следните недостатъци:

1. Dovecot има по чувствителен конф. файл тип bind

2. dovecot се килва автоматично, ако установи рязка промяна в системния часовник. ако някой не ползва ntp или не му работи правилно, доста често ще му се килва процеса. няма да се спирам на начини за разрешаване. те са описани подробно в интернет.

за улеснение съм написал един прост скрипт, който автоматизира по – голяма част от процеса. на места се налага намеса за ръчно редактиране. ако не ги направите или скрипта изгърми ще трябва ръчно да правите командите ред по ред.

Тук ще посоча източниците на информация, тъйкато това е обобщена информация и не съм си я изсмуквал от пръстите. възможно е да съм пропуснал нещо, но главното е това:

  • http://howtoforge.com/virtual_users_postfix_courier_mailscanner_clamav_centos
  • http://wiki.dovecot.org/HowTo/DovecotLDAPostfixAdminMySQL
  • http://wiki.centos.org/HowTos/Amavisd]http://wiki.centos.org/HowTos/Amavisd
  • http://www.kutukupret.com/2009/09/13/postfix-centos-policyd-v2-mysql/
  • http://www.howtoforge.com/perfect-server-centos-5.2

разбира се скрипта не покрива напълно инсталацията и се налага първата и най – важна стъпка да я направите на ръка.

Прекомпилиране на postfix за поддръжка на mysql

1. взимате актуален SRC файл от сървър на centos

при мен в момента на инсталацията е:

wget http://mirror.centos.org/centos/5.4/os/SRPMS/postfix-2.3.3-2.1.el5_2.src.rpm

ако линка не работи, отидете на http://mirror.centos.org/centos/5.4/os/SRPMS

и намерете от списъка актуалния файл и го свалете на удобно място.

2.

rpm -i postfix-2.3.3-2.1.el5_2.src.rpm

3.

sed -i -e “s/\%define MYSQL 0/\%define MYSQL 1/” /usr/src/redhat/SPECS/postfix.spec

4.

yum install wget bzip2 unzip zip nmap rpm-build pcre-devel cyrus-sasl-devel.i386 subversion yum-utils dovecot.i386 \

openssl lynx fileutils ncftp gcc gcc-c++ quota mysql mysql-devel mysql-server php php-devel php-gd php-imap php-ldap \

php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl libxml2 libxml2-devel openldap-devel \

php-mbstring.i386 amavisd-new clamd.i386 perl-Cache-FastMmap perl-Config-IniFiles ntp perl-Net-CIDR

5.

rpmbuild -ba /usr/src/redhat/SPECS/postfix.spec

6.

rpm -ivh /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.1.i386.rpm

едва след успешното изпълнение на тази стъпка, можете да копирате скрипта, да го направите изпълним файл и да почвате.

ВАЖНО: задължително отворете втори терминал, тъйкато там където се изисква вашата намеса в повечето случай директно се отваря vi за редактиране на файла. ако излезете от файла за да видите неизвестен параметър. скрипта продължава напред. в почти всички случай това е фатално!!!

ВАЖНО: скрипта не трябва да се пуска повече от веднъж. резултатите от повторно пускане са непредвидими!!!

ако откриете бъгове по скрипта или пропуски можете да ми пишете.