آبجی
17th May 2010, 05:20 PM
موضوع : نصب و راه اندازی کامل یک Mail Server با استفاده از qmail به همراه آموزش کامل تنظیمات DNS و ست کردن Domainkey و DKIM.
قسمت اول شامل : تعاریف،پیش نیازها،نصب Qmail،نصب DNS Server
تعاریف :
qmail : نرم افزاری open source برای ایجاد یک Mail Server بر روی بستر لینوکس که قابلیت پشتیبانی از SMTP,POP3,IMAP و ... را دارد و همچنین به همراه پکیج های مدیریتی بسیاری ارائه شده است که میتوان به web mail,mrtg و webadmin اشاره کرد
تنظیمات DNS : جزء جدا نشدنی یک میل سرور کامل و سالم که میبایست بدون کوچکترین عیب و ایرادی تنظیم شود، به این علت که میل سرور های دیگر از جمله yahoo,google,live و ... به طور جدی نسبت به تنظیمات DNS حساسیت نشون میدن و مانع ورود ایمیل هایی بدون تنظیمات DNS صحیح خواهند شد.
Domainkey : یک کلید برای اهراز هویت نام Domain که ابداعی از yahoo هست و به منظور جلوگیری هرچه بیشتر از Spam ایجاد شده.
میتوانید مطالب بیشتر را در آدرس :http://antispam.yahoo.com/domainkeys که یک پروژه opensource از یاهو در http://domainkeys.sourceforge.net (http://domainkeys.sourceforge.net/) میباشد پیگیری کنید.
DKIM : ابداعی دیگر که کارائی همانند Domainkey دارد. مطالب بیشتر در این خصوص را در DKIM.org پیگیری نمایید.
پیش نیاز ها :
مرحله 1 : یکی از توزیع های لینوکس. این مقاله بر اساس توزیع Centos 5 تهیه شده است.
مرحله 2 : حذف پکیجهای نا سازگار
کد:
yum -y remove sendmail
yum -y remove openssl
yum -y remove cyrus-imapd
مرحله 3: نصب پکیجهای مورد نیاز
کد:
yum -y install autoconf automake automake17 bzip2 bzip2-devel bzip2-libs compat-gcc-34 compat-gcc-34-C++ compat-glibc compat-glibc-headers compat-libf2c compat-libgcc compat-libstdC++-296 compat-libsdC++-33 curl curl-devel expect expect-devel gcc gcc-C++ gdbm gdbm-devel gmp gmp-devel httpd httpd-devel httpd-manual krb5-auth-dialog krb5-devel krb5-libs krb5-workstation libgcc libidn libidn-devel libtool libtool-ltdl libtool-ltdl-devel mysql mysql-bench mysql-devel mysql-server mrtg ncurses-devel ntp openssh openssh-clients openssh-askpass openssh-server openssl openssl-devel pcre pcre-devel perl-Digest-HMAC perl-Digest-SHA1 perl-HTML-Parser perl-libwww-perl perl-Net-DNS php php-ldap php-mysql php-pear redhat-rpm-config rpm rpm-build rpm-devel rpm-libs rpm-python sed setup setuptool stunnel system-config-date wget which xinetd zlib zlib-devel
مرحله 4: نصب پکیجهای Perl برای Spamassassin
کد:
perl -e 'use CPAN; install MIME::Base64;'
perl -e 'use CPAN; install DB_File;'
perl -e 'use CPAN; install Net::DNS;'
perl -e 'use CPAN; install Net::SMTP;'
perl -e 'use CPAN; install Mail::SPF::Query;'
perl -e 'use CPAN; install Time::HiRes;'
perl -e 'use CPAN; install Mail::DomainKeys;'
perl -e 'use CPAN; install IO::Zlib;'
perl -e 'use CPAN; install Archive::Tar;'
مرحله 5: Stop سرویس های غیر ضروری و استارت سرویس های ضروری.
کد:
chkconfig httpd on
service httpd start
chkconfig mysqld on
service mysqld start
chkconfig ntpd on
service ntpd start
مرحله 6: تنظیمات mysql
کد:
mysqladmin -uroot -prootpassword
mysqladmin -uroot -prootpassword reload
mysqladmin -uroot -prootpassword refresh
ایجاد دیتابیس برای vpopmail
کد:
mysqladmin create vpopmail -uroot -prootpassword
mysqladmin -uroot -prootpassword reload
mysqladmin -uroot -prootpassword refresh
echo "GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY 'vpopmailpassword'" | mysql -uroot -prootpassword
mysqladmin -uroot -prootpassword reload
mysqladmin -uroot -prootpassword refresh
مرحله 7: runlevel 3
کد:
cp -u /etc/inittab /etc/inittab.bak
cat /etc/inittab | sed -e 's/^id:5:initdefault:/id:3:initdefault:/' > /etc/inittab.new
mv -f /etc/inittab.new /etc/inittab
مرحله 8: ایجاد symbol link برای krb5 com_err.h
کد:
ln -s /usr/include/et/com_err.h /usr/include/com_err.h
مرحله 9 : به روز رسانی مخزن yum
کد:
yum -y update
مرحله 10: ریبوت سیستم
کد:
reboot
نصب Qmail :
مرحله 1: دریافت پکیجهای مربوط
کد:
mkdir -p /usr/src/qtms-install
cd /usr/src/qtms-install
wget http://www.qmailtoaster.com/download/zlib-1.2.3-1.0.3.src.rpm
wget http://www.qmailtoaster.com/download/daemontools-toaster-0.76-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/ucspi-tcp-toaster-0.88-1.3.6.src.rpm
wget http://www.qmailtoaster.com/download/vpopmail-toaster-5.4.17-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/libdomainkeys-toaster-0.68-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/libsrs2-toaster-1.0.18-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/qmail-toaster-1.03-1.3.16.src.rpm
wget http://www.qmailtoaster.com/download/courier-authlib-toaster-0.59.2-1.3.7.src.rpm
wget http://www.qmailtoaster.com/download/courier-imap-toaster-4.1.2-1.3.8.src.rpm
wget http://www.qmailtoaster.com/download/autorespond-toaster-2.0.4-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/control-panel-toaster-0.5-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/ezmlm-toaster-0.53.324-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/qmailadmin-toaster-1.2.11-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/qmailmrtg-toaster-4.2-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/maildrop-toaster-2.0.3-1.3.6.src.rpm
wget http://www.qmailtoaster.com/download/isoqlog-toaster-2.1-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/squirrelmail-toaster-1.4.17-1.3.12.src.rpm
wget http://www.qmailtoaster.com/download/spamassassin-toaster-3.2.5-1.3.15.src.rpm
wget http://www.qmailtoaster.com/download/clamav-toaster-0.95.1-1.3.27.src.rpm
wget http://www.qmailtoaster.com/download/ripmime-toaster-1.4.0.6-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/simscan-toaster-1.3.1-1.3.7.src.rpm
wget http://www.qmailtoaster.com/download/vqadmin-toaster-2.3.4-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/djbdns-1.05-1.0.6.src.rpm
مرحله 2: نصب پکیجها
کد:
wget http://www.qmailtoaster.com/centos/cnt50/cnt50-install-script.sh
sh cnt50-install-script.sh
در این مرحله میتوانید تمام مراحل را با استفاده از Enter نصب نمایید.
توجه : نصب همه پکیجها الزامیست در صورتی که از DNS Server bind استفاده میکنید در این صورت از نصب پکیج djbdns-1.05-1.0.6.src.rpm جلوگیری کنید تا دچار تداخل نشوید.
توجه : در هنگام نصب پکیجها در صورت وجود هرگونه تداخل از نصب پکبج جلوگیری میشود.
مرحله 3: تنظیم سرویس های startup
کد:
chkconfig acpid on
chkconfig anacron on
chkconfig atd on
chkconfig autofs on
chkconfig cpuspeed on
chkconfig crond on
chkconfig freshclam on
chkconfig haldaemon on
chkconfig httpd on
chkconfig iptables on
chkconfig kudzu on
chkconfig messagebus on
chkconfig mysqld on
chkconfig network on
chkconfig ntpd on
chkconfig qmail on
chkconfig smartd on
chkconfig sshd on
chkconfig syslog on
chkconfig xinet on
chkconfig irqbalance on
نصب DNS Server:
در این مقاله از bind استفاده شده است.
مرحله 1: نصب پکیجهای مورد نیاز
کد:
yum -y install bind bind-chroot bind-devel bind-libbind-devel bind-libs bind-utils ypbind caching-nameserver
مرحله 2: تنظیم DNS Server داخلی
کد:
echo "search your-domain.com" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
مرحله 3: Start Up Dns Server
کد:
chkconfig named on
مرحله 4: ریبوت سیستم
کد:
reboot
آزمایش صحت نصب برنامه :
کد:
qmailctl stat
و در جواب داریم :
کد:
authlib: up (pid 2425) 65 seconds
clamd: up (pid 2425) 65 seconds
imap4: up (pid 2421) 65 seconds
imap4-ssl: up (pid 2423) 65 seconds
pop3: up (pid 2414) 65 seconds
pop3-ssl: up (pid 2409) 65 seconds
send: up (pid 2416) 65 seconds
smtp: up (pid 2418) 65 seconds
spamd: up (pid 2407) 65 seconds
authlib/log: up (pid 2417) 65 seconds
clamd/log: up (pid 2417) 65 seconds
imap4/log: up (pid 2422) 65 seconds
imap4-ssl/log: up (pid 2424) 65 seconds
pop3/log: up (pid 2415) 65 seconds
pop3-ssl/log: up (pid 2413) 65 seconds
send/log: up (pid 2420) 65 seconds
smtp/log: up (pid 2419) 65 seconds
spamd/log: up (pid 2408) 65 seconds
پایان فسمت اول
قسمت اول شامل : تعاریف،پیش نیازها،نصب Qmail،نصب DNS Server
تعاریف :
qmail : نرم افزاری open source برای ایجاد یک Mail Server بر روی بستر لینوکس که قابلیت پشتیبانی از SMTP,POP3,IMAP و ... را دارد و همچنین به همراه پکیج های مدیریتی بسیاری ارائه شده است که میتوان به web mail,mrtg و webadmin اشاره کرد
تنظیمات DNS : جزء جدا نشدنی یک میل سرور کامل و سالم که میبایست بدون کوچکترین عیب و ایرادی تنظیم شود، به این علت که میل سرور های دیگر از جمله yahoo,google,live و ... به طور جدی نسبت به تنظیمات DNS حساسیت نشون میدن و مانع ورود ایمیل هایی بدون تنظیمات DNS صحیح خواهند شد.
Domainkey : یک کلید برای اهراز هویت نام Domain که ابداعی از yahoo هست و به منظور جلوگیری هرچه بیشتر از Spam ایجاد شده.
میتوانید مطالب بیشتر را در آدرس :http://antispam.yahoo.com/domainkeys که یک پروژه opensource از یاهو در http://domainkeys.sourceforge.net (http://domainkeys.sourceforge.net/) میباشد پیگیری کنید.
DKIM : ابداعی دیگر که کارائی همانند Domainkey دارد. مطالب بیشتر در این خصوص را در DKIM.org پیگیری نمایید.
پیش نیاز ها :
مرحله 1 : یکی از توزیع های لینوکس. این مقاله بر اساس توزیع Centos 5 تهیه شده است.
مرحله 2 : حذف پکیجهای نا سازگار
کد:
yum -y remove sendmail
yum -y remove openssl
yum -y remove cyrus-imapd
مرحله 3: نصب پکیجهای مورد نیاز
کد:
yum -y install autoconf automake automake17 bzip2 bzip2-devel bzip2-libs compat-gcc-34 compat-gcc-34-C++ compat-glibc compat-glibc-headers compat-libf2c compat-libgcc compat-libstdC++-296 compat-libsdC++-33 curl curl-devel expect expect-devel gcc gcc-C++ gdbm gdbm-devel gmp gmp-devel httpd httpd-devel httpd-manual krb5-auth-dialog krb5-devel krb5-libs krb5-workstation libgcc libidn libidn-devel libtool libtool-ltdl libtool-ltdl-devel mysql mysql-bench mysql-devel mysql-server mrtg ncurses-devel ntp openssh openssh-clients openssh-askpass openssh-server openssl openssl-devel pcre pcre-devel perl-Digest-HMAC perl-Digest-SHA1 perl-HTML-Parser perl-libwww-perl perl-Net-DNS php php-ldap php-mysql php-pear redhat-rpm-config rpm rpm-build rpm-devel rpm-libs rpm-python sed setup setuptool stunnel system-config-date wget which xinetd zlib zlib-devel
مرحله 4: نصب پکیجهای Perl برای Spamassassin
کد:
perl -e 'use CPAN; install MIME::Base64;'
perl -e 'use CPAN; install DB_File;'
perl -e 'use CPAN; install Net::DNS;'
perl -e 'use CPAN; install Net::SMTP;'
perl -e 'use CPAN; install Mail::SPF::Query;'
perl -e 'use CPAN; install Time::HiRes;'
perl -e 'use CPAN; install Mail::DomainKeys;'
perl -e 'use CPAN; install IO::Zlib;'
perl -e 'use CPAN; install Archive::Tar;'
مرحله 5: Stop سرویس های غیر ضروری و استارت سرویس های ضروری.
کد:
chkconfig httpd on
service httpd start
chkconfig mysqld on
service mysqld start
chkconfig ntpd on
service ntpd start
مرحله 6: تنظیمات mysql
کد:
mysqladmin -uroot -prootpassword
mysqladmin -uroot -prootpassword reload
mysqladmin -uroot -prootpassword refresh
ایجاد دیتابیس برای vpopmail
کد:
mysqladmin create vpopmail -uroot -prootpassword
mysqladmin -uroot -prootpassword reload
mysqladmin -uroot -prootpassword refresh
echo "GRANT ALL PRIVILEGES ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY 'vpopmailpassword'" | mysql -uroot -prootpassword
mysqladmin -uroot -prootpassword reload
mysqladmin -uroot -prootpassword refresh
مرحله 7: runlevel 3
کد:
cp -u /etc/inittab /etc/inittab.bak
cat /etc/inittab | sed -e 's/^id:5:initdefault:/id:3:initdefault:/' > /etc/inittab.new
mv -f /etc/inittab.new /etc/inittab
مرحله 8: ایجاد symbol link برای krb5 com_err.h
کد:
ln -s /usr/include/et/com_err.h /usr/include/com_err.h
مرحله 9 : به روز رسانی مخزن yum
کد:
yum -y update
مرحله 10: ریبوت سیستم
کد:
reboot
نصب Qmail :
مرحله 1: دریافت پکیجهای مربوط
کد:
mkdir -p /usr/src/qtms-install
cd /usr/src/qtms-install
wget http://www.qmailtoaster.com/download/zlib-1.2.3-1.0.3.src.rpm
wget http://www.qmailtoaster.com/download/daemontools-toaster-0.76-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/ucspi-tcp-toaster-0.88-1.3.6.src.rpm
wget http://www.qmailtoaster.com/download/vpopmail-toaster-5.4.17-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/libdomainkeys-toaster-0.68-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/libsrs2-toaster-1.0.18-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/qmail-toaster-1.03-1.3.16.src.rpm
wget http://www.qmailtoaster.com/download/courier-authlib-toaster-0.59.2-1.3.7.src.rpm
wget http://www.qmailtoaster.com/download/courier-imap-toaster-4.1.2-1.3.8.src.rpm
wget http://www.qmailtoaster.com/download/autorespond-toaster-2.0.4-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/control-panel-toaster-0.5-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/ezmlm-toaster-0.53.324-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/qmailadmin-toaster-1.2.11-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/qmailmrtg-toaster-4.2-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/maildrop-toaster-2.0.3-1.3.6.src.rpm
wget http://www.qmailtoaster.com/download/isoqlog-toaster-2.1-1.3.5.src.rpm
wget http://www.qmailtoaster.com/download/squirrelmail-toaster-1.4.17-1.3.12.src.rpm
wget http://www.qmailtoaster.com/download/spamassassin-toaster-3.2.5-1.3.15.src.rpm
wget http://www.qmailtoaster.com/download/clamav-toaster-0.95.1-1.3.27.src.rpm
wget http://www.qmailtoaster.com/download/ripmime-toaster-1.4.0.6-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/simscan-toaster-1.3.1-1.3.7.src.rpm
wget http://www.qmailtoaster.com/download/vqadmin-toaster-2.3.4-1.3.4.src.rpm
wget http://www.qmailtoaster.com/download/djbdns-1.05-1.0.6.src.rpm
مرحله 2: نصب پکیجها
کد:
wget http://www.qmailtoaster.com/centos/cnt50/cnt50-install-script.sh
sh cnt50-install-script.sh
در این مرحله میتوانید تمام مراحل را با استفاده از Enter نصب نمایید.
توجه : نصب همه پکیجها الزامیست در صورتی که از DNS Server bind استفاده میکنید در این صورت از نصب پکیج djbdns-1.05-1.0.6.src.rpm جلوگیری کنید تا دچار تداخل نشوید.
توجه : در هنگام نصب پکیجها در صورت وجود هرگونه تداخل از نصب پکبج جلوگیری میشود.
مرحله 3: تنظیم سرویس های startup
کد:
chkconfig acpid on
chkconfig anacron on
chkconfig atd on
chkconfig autofs on
chkconfig cpuspeed on
chkconfig crond on
chkconfig freshclam on
chkconfig haldaemon on
chkconfig httpd on
chkconfig iptables on
chkconfig kudzu on
chkconfig messagebus on
chkconfig mysqld on
chkconfig network on
chkconfig ntpd on
chkconfig qmail on
chkconfig smartd on
chkconfig sshd on
chkconfig syslog on
chkconfig xinet on
chkconfig irqbalance on
نصب DNS Server:
در این مقاله از bind استفاده شده است.
مرحله 1: نصب پکیجهای مورد نیاز
کد:
yum -y install bind bind-chroot bind-devel bind-libbind-devel bind-libs bind-utils ypbind caching-nameserver
مرحله 2: تنظیم DNS Server داخلی
کد:
echo "search your-domain.com" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
مرحله 3: Start Up Dns Server
کد:
chkconfig named on
مرحله 4: ریبوت سیستم
کد:
reboot
آزمایش صحت نصب برنامه :
کد:
qmailctl stat
و در جواب داریم :
کد:
authlib: up (pid 2425) 65 seconds
clamd: up (pid 2425) 65 seconds
imap4: up (pid 2421) 65 seconds
imap4-ssl: up (pid 2423) 65 seconds
pop3: up (pid 2414) 65 seconds
pop3-ssl: up (pid 2409) 65 seconds
send: up (pid 2416) 65 seconds
smtp: up (pid 2418) 65 seconds
spamd: up (pid 2407) 65 seconds
authlib/log: up (pid 2417) 65 seconds
clamd/log: up (pid 2417) 65 seconds
imap4/log: up (pid 2422) 65 seconds
imap4-ssl/log: up (pid 2424) 65 seconds
pop3/log: up (pid 2415) 65 seconds
pop3-ssl/log: up (pid 2413) 65 seconds
send/log: up (pid 2420) 65 seconds
smtp/log: up (pid 2419) 65 seconds
spamd/log: up (pid 2408) 65 seconds
پایان فسمت اول