কিউ মেইল সেটআপ: বাংলাভাষীদের জন্য পর্ব- ১০ শেষ পর্ব (দূর করুন মেইল সার্ভার ভীতি)

বন্ধুরা, কিউ মেইল সেটআপের ধারাবাহিকে আশা করছি আপনারা আমার সাথে আছেন। আজ আমরা কিউ মেইল রান করবো। কিউ মেইল রান করানোর জন্য বিভিন্ন স্ক্রিপ্ট ব্যবহার করা হয়। আপনাদের সুবিধার্থে স্ক্রিপ্টগুলো আগেই তৈরী করে রাখা আছে, আমরা শুধু সেগুলো যথাযথ স্থানে রেখে প্রয়োজনীয় পারমিশন সেট করবো। অর্ধেক কাজ আমরা পর্ব ৯ এ করে রেখেছি। চলুন বাকী কাজ করি:

cp /qm/script/qmailctl /var/qmail/bin/qmailctl
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin

cp /qm/script/rc /var/qmail/
chmod 755 /var/qmail/rc

কিউ মেইল রান করানোর স্ক্রিপ্ট আমরা যথাযথ স্থানে রাখলাম এবং পারমিশন সেট করলাম। কিউ মেইর ডিফল্ট হিসাবে Maildir ফর্মেটে মেইল ফাইল রাখে। এ ফর্মেটের অনেক সুবিধা আছে, বিশেষ করে মেইল লকিং সংক্রান্ত সুবিধা পাওয়া যায়। বিস্তারিত বলতে যাবো না, চাইলে নিন্মের এড্রেসে দেখ নিন: https://www.google.com.bd/search?q=difference+between+maildir+and+mailbox&oq=difference+between+maildir+and+mailbox&aqs=chrome..69i57.6280j0j7&sourceid=chrome&espv=210&es_sm=93&ie=UTF-8

চলুন Maildir ফর্মেটে যেন মেইলগুলো সেভ হয় তার ব্যবস্থা করি। নিন্মের কমান্ড দিন:

echo ./Maildir > /var/qmail/control/defaultdelivery

এবার আমরা আমাদের তৈরীকৃত মেইল সার্ভারের জন্য ডিফল্ট ইনকামিং এবং আউটগোয়িং এর জন্য লিমিট সেট করবো। এটা আপনি আপনার প্রয়োজন মতো বেশি-কম করে নিন। নিন্মের কমান্ড দিন:

echo 255 > /var/qmail/control/concurrencyremote
echo 30 > /var/qmail/control/concurrencyincoming
echo 3 > /var/qmail/control/spfbehavior

৩ নাম্বার কমান্ডের মাধ্যমে আমরা স্পাম মেইলের জন্য spfbehavior সেট করলাম। আমরা কিউ মেইল যখন প্যাচ করেছিলাম, তখন এ ফিচারটি কিউমেইলে এনাবল করেছিলাম। আপনার হোস্ট নেম যদি সঠিকভাবে DNS সার্ভারে এড করা না থাকে, তাহলে কিছু এরর পাবেন। তাই sfpbehavior এর প্যারামিটারগুলো দেখ নিন:

0 to disable.
1 selects ’annotate-only’ mode, where qmail-smtpd will annotate incoming email with Received-SPF fields, but will not reject any messages.
2 will produce temporary failures on DNS lookup problems so you can make sure you always have meaningful Received-SPF headers.
3 selects ’reject’ mode, where incoming mail will be rejected if the SPF record says ’fail’.
4 selects a more strict rejection mode, which is like ’reject’ mode, except that incoming mail will also be rejected when the SPF record says ’softfail’.
5 will also reject when the SPF record says ’neutral’.
6 if no SPF records are available at all (or a syntax error was encountered).

কোন প্রকার প্রবলেম হলে /var/qmail/control/spfbehavior ফাইলে 0 (zero) যোগ করুন। তাহলে ভুলভাবে DNS সেটআপ করা হলেও এরর পাবেন না। এবার নিন্মের কমান্ড দিন:

echo postmaster@mail.yourdomain.com  > /var/qmail/control/bouncefrom
echo yourdomain.com > /var/qmail/control/doublebouncehost
echo postmaster > /var/qmail/control/doublebounceto
cd /var/qmail/control/
chmod 644 bouncefrom doublebouncehost doublebounceto concurrencyremote concurrencyincoming spfbehavior

echo '8000000' > /var/qmail/control/databytes [8MB data size]
echo 30 > /var/qmail/control/timeoutsmtpd [smtp timeout 30 sec]

এগুলো কিছু প্যারামিটার আমি বিভিন্ন ফাইলে যোগ করলাম। লাল লেখাগুলো আপনার সার্ভারের নাম অনুযায়ী পরিবর্তন করে নিবেন। ৬ নাম্বার লাইনে সর্বোচ্চ এটাচমেন্ট সাইজ বলে দেয়া হল। আমি এখানে ৮ মেগাবাইট এলাউ করলাম। আপনি আপনার প্রয়োজন মতো কম-বেশি করে নিন। ৭ নাম্বার লাইনের মাধ্যমে SMTP টাইম আউট সেট করা হল। আপনার ইন্টারনেট স্পিড স্লো হলে এটা বাড়িয়ে নিতে পারেন। এবার আমরা সেট করবো কোন কোন হোস্ট কোন প্রকার অথেনটিকেশন ছাড়া মেইল সেন্ড করতে পারবে। ডিফল্ট হিসাবে আমরা শুধু লোকাল হোস্টকে এলাউ করবো, বাকী সবাই অথেনটিকেট করে মেইল পাঠাবে। নিন্মের কমান্ড দিন:

echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp
qmailctl cdb

মনে রাখবেন /etc/tcp.smtp ফাইল নিয়ে গবেষণার অনেক কিছু আছে। তবে আমাদের সেটআপের জন্য এইটুকুই যথেষ্ট, তাই আমি এর বেশি কিছু লিখলাম না। আপনার প্রয়োজন হলে গূগলের সহায়তা নিন। এবার নিন্মের কমান্ডগুলি দিন।

echo postmaster@mail.yourdomain.com > /var/qmail/alias/.qmail-root
echo postmaster@mail.yourdomain.com > /var/qmail/alias/.qmail-postmaster
echo postmaster@mail.yourdomain.com > /var/qmail/alias/.qmail-mailer-daemon
chmod 644 /var/qmail/alias/.qmail*

উপরের কমান্ডে মাধ্যমে কিছু ডিফল্ট মেইল ইউজার সেট করা হলো। সিস্টেমের গুরুত্বপূর্ণ মেইল কোন একাউন্টে যাবে, তা বলা হলো। লাল লেখাটি আপনার প্রয়োজন অনুযায়ী চেঞ্জ করে নিন। শুরুতে আমরা বলেছিলাম যে আমরা একটা ফেক সেন্ডমেইল সেট করবো যেটা সিস্টেমের মধ্যে বিভিন্ন রিপোর্ট মেইল করার জন্য ব্যবহৃত হয়। এ স্পেপটা যেন মিস না হয়, তাহলে আপনি আপনার সার্ভারের বিভিন্ন গুরুত্বপূর্ণ মেইল পাবেন না। চলুন সেটআপ করি:

rm -f /usr/lib/sendmail
rm -f /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

এ পর্যন্ত করলে আপনার কিউ মেইল সার্ভার রান করার জন্য মোটামুটিভাবে রেডি। আর শুধু মাত্র একটি স্টেপ বাকী আছে। সেটা হল কিউ মেইল স্ক্যানার, এন্টিভাইরাস ও স্পাম এসেসেইন। চলুন, ইন্সটল করি:

আমরা সিস্টেমে এন্টিভাইরাস হিসাবে ফ্রি Clam AV ব্যবহার করবো। এটি ফ্রি হলেও ভালো সিকিউরিটি দেয়। আপনি চাইলে Kaspersky বা Avast ও ব্যবহার করতে পারবেন। কিউ মেইল স্ক্যানার দিয়ে অনেক এন্টিভাইরাস ব্যবহার করা যায়। প্রথমে Clam AV নিন্মের লিংক থেকে ডাউনলোড করুন: http://www.clamav.net

এই লেখা লেখার সময় Clam AV এর ভার্সন হলো 0.98. আমাদের সেটআপে আমরা এটাই ব্যবহার করবো। নিন্মের কমান্ডগুলো দিন:

tar -xvzf clamav-0.98.tar.gz
cd clamav-0.98
useradd clamav
./configure
make
make install
cp /usr/local/etc/clamd.conf.sample /usr/local/etc/clamd.conf
cp /usr/local/etc/freshclam.conf.sample /usr/local/etc/freshclam.conf

উপরের কমান্ডগুলো ঠিক মতো দিলে Clam AV ইন্সটল হয়ে যাবে। এবার এটি রান করার জন্য কনফিগার করতে হবে। Clam AV চায় যে কনফিগারেশন ফাইলটি ইউজার নিজেই কনফিগার করুক, তাই ডিফল্ট হিসাবে এটির ডিফল্ট সেটিং দিয়ে রান করানো যায় না। আপনাকে অবশ্যই এর কনফিগারেশন ফাইলে ন্যুনতম একটি পরিবর্তন আনতে হবে, তা-না হলে এটি রান করানো যাবে না। নিন্মের কমান্ড দিয়ে Clam AV এর দু’টি ফাইল ওপেন করুন ও নিন্মের মতো পরিবর্তন করুন:

vi /usr/local/etc/clamd.conf

ফাইলটি এডিটরে ওপেন হবে। এবার খুঁজে বের করুন Example লেখাটি। এই লেখাটির পূর্বে একটি # চিন্ত বসিয়ে দিন। এবার খুঁজে বের করুন LocalSocket লাইনটি। এটির প্রথমের # চিহ্ন তুলে দিন। ফাইলটি সেভ করে বের হয়ে আসুন। এবার Clam AV এর আপডেট প্রোগ্রামে পরিবর্তন আনতে হবে। নিন্মের কমান্ড দিন:

mkdir /usr/local/share/clamav
chown clamav /usr/local/share/clamav
vi /usr/local/etc/freshclam.conf

শেষ কমান্ডে জন্য vi এডিটর ওপেন হবে এবং Clam AV এর আপডেট করার ফাইলটি ওপেন হবে। এবার খুঁজে বের করুন Example লেখাটি। এই লেখাটির পূর্বে একটি # চিহ্ন বসিয়ে দিন। এবার একটি অতিরিক্ত লেখা যোগ করতে হবে। নিচের লেখাটি ওই ফাইলে যোগ করে সেভ করে বের হয়ে আসুন:

NotifyClamd /usr/local/etc/clamd.conf

এবার নিন্মের কমান্ড দিন:

freshclam
clamd

freshclam এর জন্য একটা cron ইভেন্ট তৈরী করতে পারেন অটো আপডেটের জন্য। আমরা Clam AV যেন র্স্টার্টআপে লোড হয় তার জন্য /etc/rc.local ফাইলে এন্ট্রি দিব। নিন্মের কমান্ড দিয়ে /etc/rc.local ফাইলটি খুলুন:

vi /etc/rc.local

ফাইলটি ওপেন হলে নিন্মের লাইনটি যোগ করুন:

/usr/local/sbin/clamd &

ফাইলটি সেভ করে বের হয়ে আসুন। এবার আমরা স্পাম এসেসেইন ইন্সটল করবো। নিন্মের কমান্ড দিন:

yum install spamassassin
sa-update

একটা কথা বিশেষভাবে মনে রাখবেন, কিউ মেইল স্ক্যানার ও ‍স্পাম এসেসেইন একসাথে কাজ করার জন্য কিছু পার্ল মড্যুল ইন্সটল থাকতে হবে। আপনার সার্ভারে প্রযোজনীয় পার্লমড্যুলগুলো আছে কি-না সেটা চেক করার জন্য নিন্মের কমান্ড দিন:

sh /qm/script/check_perlmods.script

কোন মড্যুল না পেলে এরর দেখাবে। এররটি নিন্মের মতো হতে পারে:

checking for Parse::Syslog...
No documentation found for "Parse::Syslog".

এমন হলে আমরা cpan থেকে সরাসরি পার্ল মড্যুল ইন্সটল করবো। cpan থেকে পার্ল মড্যুল ইন্সটর করার জন্য নিন্মের কমান্ড দিন। উদাহরণ হিসাবে আমরা Statistics:Distributions মড্যুলটা ইন্সটল করবো:

yum install perl-YAML
perl -e 'use CPAN; install Statistics::Distributions'

শুধু মাত্র লাল রঙের লেখা পরিবর্তন করে আপনি প্রয়োজনীয় মড্যুল ইন্সটল করতে পারবেন। কিছু প্রশ্ন জিজ্ঞাসা করবো, সবগুলোর উত্তর এ কীবোর্ড থেকে এন্টার চাপলেই হবে। তবে কখনও কখনও পার্ল এর মিরর এর এড্রেস চাইতে পারে। সে ক্ষেত্রে নিন্মের মিরর গুলো ব্যবহার করে দেখতে পারেন:

ftp://cpan.mirror.ac.za/
http://mirrors.163.com/cpan/
ftp://cpan.iht.co.il/

আপনি চাইরে গূগল থেকে cpan mirror লিখে সার্চ করলে অনেক মিরর এড্রেস পেয়ে যাবেন। সব মড্যুল ইন্সটল হলে আবার sh /qm/script/check_perlmods.script কমান্ড দিয়ে কনফার্ম হয়ে নিন যে মড্যুলগুলো সঠিকভাবে ইন্সটল হয়েছে কি-না। এবার আমরা spamassassin রান করার জন্য কনফিগার করবো। নিন্মের কমান্ড দিন:

groupadd spamd
useradd -g spamd -s /bin/false spamd

এবার নিচের ফাইলটি খুলুন। কমান্ড:

vi /etc/sysconfig/spamassassin

এ ফাইলের সবকিছু মুছে ফেলে নিন্মের লাইনটি যোগ করুন:

SPAMDOPTIONS="-x -u spamd -H /home/spamd -d"

ফাইলটি সেভ করে বের হয়ে আসুন। এবার spamassassin রান করার জন্য নিন্মের কমান্ড দিন:

chkconfig spamassassin on
service spamassassin start

spamassassin এর কাজ শেষ। চলুন qmailscanner ইন্সটল করি। প্রথমে ইউজার যোগ করুন:

useradd -c "Qmail-Scanner Account" -s /bin/false qscand

qmailscanner এর সাথে tnef টা ব্যবহার করবো যেন MS Word এর ফাইলের চেকিং করতে পারি। নিন্মের কমান্ড দিন:

cd /qm/
tar -xvzf tnef-1.4.9.tar.gz
cd tnef-1.4.9
./configure
make
make install

tnef ইন্সটল হয়ে যাবে। এবার qmailscanner ইন্সটল করবো। নিন্মের কমান্ড দিন:

cd /qm/
tar -xvzf qmail-scanner-2.11.tgz
cd /qm/qmail-scanner-2.11/contrib
make install
cd /qm/qmail-scanner-2.11

এবার আমরা qmailscanner কম্পাইলে করবো। কম্পাইল করার জন্য কিছু প্যারামিটার ইনপুট করবো। সে জন্য আমি একটা ফাইল তৈরী করেছি যেটাতে প্যারামিটারগুলো দেয়া আছে। আমরা আমাদের প্রয়োজন মতো প্যারামিটারগুলি এডিট করে ফাইলটি রান করালেই কিউ মেইল স্ক্যানার কম্পাইল হয়ে যাবে। চলুন দেখে নেই ব্যাপারটা। প্রথমে নিন্মের কমান্ড দিয়ে ফাইলটি এডিটরে খুলুন:

cp /qm/script/qm-scanner.ins /qm/qmail-scanner-2.11
vi /qm/qmail-scanner-2.11/qm-scanner.ins

vi এডিটরে qm-scanner.ins নামে একটি ফাইল ওপেন হবে। এখানে আপনার শুধু এডিট করতে হবে --domain এবং --local-domains পার্টটুকু। বাকী সব যেমন আছে তেমনই রাখুন। আশা করি ফাইলটি খুলে বুঝতে পারবেন যে েকোন অংশটুকু আপনাকে এডিট করতে হবে। এবার qmailscanner ইন্সটল করার জন্য নিন্মের কমান্ড দিন:

sh /qm/qmail-scanner-2.11/qm-scanner.ins

কিছু প্রশ্ন করবে, yes দিয়ে ইন্সটল করুন। এবার qmailscanner কে পার্ল এর সাথে ভালোভাবে কাজ করানোর জন্য কিছু কাজ করতে হবে। নিন্মের কমান্ড দিয়ে vi করুন নিন্মের ফািইলটি:

vi /var/qmail/bin/qmail-scanner-queue.pl

লক্ষ্য করুন, ফাইলটি প্রথম লাইনে #!/usr/bin/perl -T লেখা আছে। এখান থেকে শুধু মাত্র -T লেখাটি মুছে ফেলুন। অন্য যা যেমন আছে, তেমনই থাকবে। মনে রাখবেন এটা কিন্তু খুবই গুরুত্বপূর্ণ। সুতরাং ভুল যেন না হয়। এবার নিন্মের কমান্ড দিন:

chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl
su simran
/var/qmail/bin/qmail-scanner-queue -z
/var/qmail/bin/qmail-scanner-queue -g
exit
chmod -R 777 /var/spool/qscan/

এ পর্যন্ত করলে কিউ মেইল সেটআপ এর একদম শেষ ধাপে আপনি চলে এসেছেন। এবার /var/qmail/supervise/qmail-smtpd/run ফাইলটি খুলে চেক করে দেখুন যে নিন্মের লাইনটি আছে কি-না:

QMAILQUEUE="$VQ/bin/qmail-scanner-queue.pl"

এ স্পেপটা খুবই গুরুত্বপূর্ণ। ভুল যেন না হয়, তাহলে কিউ মেইল কাজ করবে না। এবার নিন্মের কমান্ড দিন:

ln -s /var/spool/qscan /var/log/qmail/qscan
cp /qm/qmail-scanner-2.11/contrib/logrotate.qmail-scanner /etc/logrotate.d/qmail-scanner

qmailctl restart
chmod 755 /qm/script/test_installation.sh

sh /qm/script/test_installation.sh

শেষ কমান্ডের মাধ্যমে আমরা চেক করে দেখছি যে আমাদের স্পামগার্ড ও এন্টিভাইরাস ঠিক মতো কাজ করছে কি-না। েনিন্মের কমান্ডগুলো দিয়ে আপনি কিউ মেইল কন্ট্রোল করতে পারবেন:

qmailctl start

qmailctl stop

qmailctl reload

qmailctl flush

qmailctl stat

আপনার সার্ভার রিবুট দিয়ে চেক করে দেখুন সব কিছু ঠিক মতো আছে কি-না। ভবিষ্যতে আমরা অন্য কোন পোস্টে কিউ মেইল এর জন্য ডোমেইন কী সেটআপ করা শিখবো। ডোমেইন কী এই মুহুর্তে আপনার প্রয়োজনীয় মনে না হলেও আপনি যদি বাল্ক মেইল সার্ভার তৈরী করতে চান, কিংবা আপনার মেইল সার্ভারে যদি প্রতিদিন কয়েক লাখ মেইল আদান-প্রদান করতে হয়, তাহলে এতা অত্যাবশ্যক। তাছাড়া আমরা spamdyke ও fail2ban সেটআপ ও সেটা কিউ মেইলের সাথে ইন্টিগ্রেট করা শিখবো। তবে আগে মুল কিউ মেইলটা শিখুন। বাকী সব আপনারা নিজেরাই পারবেন।

আপনাদের সবাইকে ধন্যবাদ কিউ মেইল সেটআপের ধারাবাহিক পর্বে আমার সাথে থাকার জন্য। কোন প্রকার প্রবলেম হলে আমাকে মেইল করতে পারেন: imran AT dhakafiber.net আমি আশা করবো, আপনারা নিজেরা শিখে অন্যকেও কিউ মেইল শেখাবেন। আমাদের দেশে কিউ মেইলকে জনপ্রিয় করে তুলুন। কারণ, Qmail is best. একবার শুধু চালু করে দিন, অনন্তকাল পর্যন্ত চলবে কোন প্রকার প্রবলেম ছাড়া। ছোটখাট দু একটা জিনিস আমি হয়তো অজান্তেই বাদ দিয়ে থাকতে পারি। আপনারা সেটা খুঁজে পেলে জানাবেন, আপডেট করার চেষ্টা করবো। সবাই ভালো থাকবেন।

ধন্যবাদ।

Level 0

আমি shahimran। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 10 বছর 5 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 10 টি টিউন ও 14 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস