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

QMailআশা করছি সবাই ভালো আছেন। টেক টিউনে এটাই আমার প্রথম টিউন, আশা করছি আপনাদের সবার ভালো লাগবে। আমার এ লেখাটি পড়ে আপনি নিজেই ”কিউ মেইল” মেইল সার্ভার সেট আপ করতে পারবেন। আমি ধরে নিচ্ছি যে আপনি লিনাক্স অপারেটিং সিস্টেমে কাজ করেছেন এবং ২% লিনাক্স অপারেটিং সিস্টেম সম্পর্কে জানেন। ২% বললাম এই জন্য যে কেউ বলতে পারবে না যে সে ১০০% লিনাক্স জানে। এমনকি কেউ যদি দাবী করে যে সে ২০% জানে, তবে তাকে নিয়মিত সালাম দিবেন, কারণ সত্যিই সে অনেক কিছু জানে। কিউ
মেইল কি সেটা নিশ্চইয় আপনার অজানা নয়, তবুও যারা জানেন না, তাদের জন্য বলছি, কিউ মেইল হলো একটি মেইল সার্ভার সফটওয়্যার। গূগল, ইয়াহু এ সব সার্ভারে কিউ মেইল ব্যবহৃত হয় (ওরা অবশ্য কিউ মেইলকে অনেক মডিফাই করে ব্যবহার করছে, কিন্তু মুল সফটওয়্যার কিউ মেইলই ব্যবহার করছে)। ইন্টারনেটে কিউ মেইল কনফিগার করার জন্য অনেক ওয়েব সাইট আছে যেমন: http://www.lifewithqmail.org বা http://qmailrocks.thibs.com/ অথবা  http://qmailrocks.thibs.com/ আপনি চাইলে এ ওয়েব সাইটগুলোর সাহায্য নিতে পারবেন। তবে আমি দেখেছি কিউমেইল রকস সাইট আপডেট করা হয় না, অনেক পুরনো কনফিগারেশন দেখানো হয়েছে যা ব্যবহার্ করলে কিছু কিছু সমস্যা
হয়। http://qmailrocks.thibs.com/ এ দেখানো হয়েছে ডেবিয়ানের ওপরে কিউ মেইল সেটআপ। সবচেয়ে বেস্ট হলো http://www.lifewithqmail.org যদিও নতুন ইন্টলার হিসাবে এখান থেকে সাহায্য পাবার সম্ভাবনা খুবই কম।
আমার এ লেখায় আমি দেখাবো Red Hat বা CentOS কীভাবে কিউ মেইল সেটআপ করতে হয়। কয়েকটি ভাগে এ টিউটোরিয়ালটি সাজানো হয়েছে। আসুন দেখে নেই কোন কোন বিষয় আমরা কনফিগার করবো:

১) প্রয়োজনীয় হার্ডওয়্যার/সফটওয়্যার
২) ucspi-tcp সেটআপ
৩) daemontools সেটআপ
৪) প্রয়োজনীয় ইউজার/গ্রুপ সেটআপ
৫) SSL/TLS সার্টিফিকেট সেটআপ
৬) কিউ মেইল সার্ভার ইন্টলশেন

৭) ucspi-ssl সেটআপ
৮) ezml সেটআপর (with & without mysql)
৯) maildrop সেটআপ
১০) autoresponder সেটআপ
১১) vpopmail সেটআপ (with & without mysql)
১২) vqadmin সেটআপ
১৩) qmailadmin সেটআপ
১৪) courier IMAP & courer IMAP SSL সেটআপ
১৫) ওয়েব মেইল সেটআপ (Afterlogic Webmail http://www.afterlogic.com/)
১৬) Courierpassd সেটআপ
১৭) Clam Antivirus & Spam Assassin সেটআপ
১৮) qmail scanner & qms analog সেটআপ
১৯) ‍spamdyke সেটআপ
২০) fail2ban সেটআপ
২০) POP3s সেটআপ

এ ছাড়াও আরো দু একটি বিষয় আসবে যা লিস্ট করে লেখা সম্ভব না। তো চলুন শুরু করা যাক:
১) প্রয়োজনীয় হার্ডওয়্যার/সফটওয়্যার: কিউ মেইল চালানোর জন্য খুব হাই কনফিগারেশনের কম্পিউটার দরকার হয় না। মোটামুটিভাবে পেন্টিয়াম ৩ মানের কম্পিউটার দিয়ে ১২০০-১৮০০ ইউজার এর উপযোগি মেইল সার্ভার কনফিগার করা সম্ভব কোন রকম প্রবলেম ছাড়া । তবে একটা জিনিস মাথায় রাখতে হবে, আপনি যদি মেইল স্ক্যানার, ভাইরাস গার্ড ও স্প্যামগার্ড চালান, সে ক্ষেত্রে অধিক র‌্যাম থাকা বাঞ্ছনিয়। কারণ এ সফটওয়্যারগুলো অনেক বেশি র‌্যাম হাংগ্রি। আর কিউ মেইল ইন্সটল করতে খুব বেশি হার্ড ডিস্ক স্পেস লাগে না, মোটা মুটিভাবে ৫০০ মেগা স্পেসই মূল সফটওয়্যার ইন্সটল করার জন্য যথেষ্ট। তবে আপনার ইউজারের মেইল বক্সের সাইজের উপর নির্ভর করছে কতো বড় হার্ড ডিস্ক আপনার দরকার। যতো বেশি ইউজার ততো বেশি জায়গা দরকার। আবার অল্প ইউজাররাও তাদের সব মেইল যদি সার্ভারে রেখে দেয়, তাহলেও অনেক বেশি জায়গা দরকার। একজন সার্ভার এডমিন হিসাবে আপনি আপনার প্রয়োজন নিজেই ক্যালকুলেট করে নিন। লিনাক্স ইন্সটল করার সময় মনে রাখবেন, আমাদের এই সেটআপে ইউজারের সমস্ত মেইল থাকবে /home ডাইরেক্টরিতে, তাই /home ডাইরেক্টরিটা বড় হওয়া বাঞ্ছনীয়। এছাড়াও /var ডাইরেক্টরিটা ব্যবহৃত হবে টেম্পরারীভাবে মেইল রাখার জন্য (মেইল স্ক্যান, বাউন্স মেইল, মেইল কিউ রাখার জন্য)।   তাই /var ডাইরেক্টরিটাও একটু বড় হওয়া বাঞ্ছনীয়। আমি এখানে পার্টিশনের সাইজ এর ব্যাপারে সুনির্দিষ্ট কোন কিছু বলবো না, কারণ সবার চাহিদা একরকম না। তবে আমি সাধারণতঃ যেটা ব্যবহার করি, সেটা অনেকটা এই রকম (মনে করি হার্ড ডিস্ক এর সাইজ ৫০০ জি.বি):
/boot - 500Mb
/ - 20Gb
/var - 20 Gb
/swap - 2 or 3 times of the installed RAM
/home - Rest of the free space

আপনি এতো ঝামেলায় না যেতে চাইলে শুধু মাত্র /swap এ র‌্যামের ডাবোল দিয়ে বাকী সবটাই / (রুট) এ দিয়ে রাখতে পারেন। তাহলে আর কোন ক্যালকুলেশনে যেতে হবে না। অভিজ্ঞতা বলে লিনাক্স সার্ভার যদি ব্যাড শাটডাউন না হয়, তাহলে সাধারণঃ ক্রাশ করে না, তাই ডাটা হারনোর ভয় খুবই কম। বর্তমানের লিনাক্সে ফাইলগুলাও বেশ সুন্দর করে লিনাক্স নিজেই সাজিয়ে রাখে, ফলে ডিস্ক ফ্রাগমেন্টও হয় কম (হয়ই না বলা চলে)। একটা জিনিস শুধু মাথায় রাখবেন, কিউ মেইল সার্ভারে যতো বেশি র‌্যাম দিবেন, পারফর্মেন্স ততো ভালো পাবেন। আমি রিকমেন্ড করি কমপক্ষে ২ জি.বি. র‌্যাম।

আপনার লিনাক্সে ওয়েব সার্ভরটা রানিং থাকতে হবে। ওয়েব সার্ভার রান করার জন্য নিচের কমান্ডটা দিন: apachectl start ওয়েব সার্ভারকে সব সময় চালু হবার জন্য নিম্রে কমান্ডটি দিন: chkconfig --level 12345 httpd on আপনার সার্ভারে php ইন্সটল থাকতে হবে। যদি php ইন্সটল করা না থাকে, তাহলে yum দিয়ে ইন্সটল করুন, কমান্ড: yum install php php-common এ ছাড়াও আপনার সার্ভারে কিছু প্রোগ্রামিং ল্যাংগুয়েজ ও অন্যান্য ফাইল থাকতে হবে। তাই নিম্নের কমান্ডটা দিয়ে প্রয়োজনীয় লাইব্রেরীগুলো ইন্সটল করে নিন (পুরোটা এক লাইন হবে): yum install cpp g++ gcc make automake wget telnet libtool patch patchutils
logrotate dh-make-perl libltdl7 libcdb1 equivs expect openssl libssl-dev libgmp3-dev libgdbm-dev libpcre++-dev libpcre-
ocaml libpcre-ocaml-dev এছাড়াও আপনার সার্ভারে mysql ইন্সটল থাকতে হবে। নিচের কমান্ড দিন  (পুরোটা এক লাইন হবে): yum install mysql mysql-server php-mysql mysql-libs;  yum -y groupinstall "MYSQL Database Client" আপনার সার্ভারে perl, openssl, OpenSSL-devel, libssl-dev, ইন্সটল থাকতে হবে। আশা করি আপনারা নিজেই এগুলো ইন্সটল করে নিতে পারবেন। এছাড়াও নিম্নোক্ত পার্ল মড্যুলগুলো ইন্সটল থাকতে হবে:
Digest::SHA1
Digest::HMAC
Net::DNS
Time::HiRes
HTML::Tagset
HTML::Parser
এগুলো কীভাবে cpan থেকে ইন্সটল করতে হয় সেটা আমরা পরে দেখবো।

আপনার কম্পিউটারে selinux টা বন্ধ করতে হবে, তা না হলে কিছু এরর দেখা দেয়, যদিও selinux এ উক্ত সার্ভি সগুলো যোগ করে নিলে এরর হয় না। আমি selinux ও iptables এর ডিফল্ট রুলগুলো সব সময় বন্ধ করে রাখি, কারণ এগুলো উপকারের চেয়ে অপকারই করে বেশি। selinux বন্ধ করার জন্য: /etc/selinux/config ফাইলটি এডিট করুন। ওই ফাইলটিতে নিম্নের লাইনটি এডিট করুন SELINUX=disabled (শুধু enable এর জায়গায়  disabled দিন। )। iptables এর ডিফল্ট রুলগুলো বন্ধ করার জন্য (পুরোটা এক লাইন হবে): iptables -F;  iptables -t nat -F;  iptables -t mangle -F;  iptables-save

এটাই মোটামুটি প্রারম্ভিক কাজগুলো। এছাড়াও আরো যা যা লাগবে, তা যথাসময়েই বলা হবে। আশা করছি আমার পোস্ট আপনাদের ভালো লাগছে। আপনাদের কোন প্রশ্ন থাকলে কমেন্টে জিজ্ঞাসা করুন অথবা আমাকে মেইল করতে পারেন imran AT dhakafiber.net এই ঠিকানায়। আমার নিজস্ব কোন ব্লগ নাই বা আমি ফ্রিল্যান্সিংও করি না। আমি বর্তমানে একটি আই. এস.পি. তে সিস্টেম এ্যাডমিন হিসাবে আছি। আমি চাই কিউ মেইলকে বাংলাদেশে জনপ্রিয় করতে, তাই এই ক্ষুদ্র প্রয়াস। আশা করছি এই
ধারাবাহিক পোষ্টে আপনারা আমার সাথে থাকবেন।

ধন্যবাদ।

Level 0

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


টিউনস


আরও টিউনস


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


টিউমেন্টস

Level 0

Thanks for your tune.I hope more detailes wirting your next tune.Vary helpful tune.Rocking……………………………………………………………

Level New

keep it up

Level 0

Thanks for this tune. I was successfully configured Qmail year ago by following the instruction of qmailrocks.thibs.com. However, hope this tune will be helpfull for me.