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

বন্ধুরা, আশা করছি কিউ মেইল সেটআপের ধারাবাহিক পোস্টে আপনি আমার সাথে আছেন। আসুন আমরা এবার UCSPI-TCP  সেটআপ করা শিখি সেই সাথে আমরা মূল কিউ মেইল প্রোগ্রামটাও এখন ইন্সটল করবো । শুরুতে বলে রাখি, কিউ মেইল ইন্সটর করার জন্য যা যা সফটওয়্যার/প্যাচ লাগবে সবই আমি সংগ্রহ করে একটি জিপ ফাইলের মধ্যে রেখে দিয়েছি যাতে আপনাদের কষ্ট করে ইন্টারনেট ঘেঁটে ডাউনলোড করতে না হয়। আজ ১লা ডিসেম্বর, ২০১৩ পর্যন্ত আপডেটেড সফটওয়্যারগুলোর সমন্বয়ে  েএই বান্ডেলটি আমি তৈরী করেছি। আপনার প্রথম কাজ হবে এই জিপ ফাইলটি ডাউনলোড করে নেয়া এবং একটি নির্দিষ্ট ডিরেক্টরিতে আনজিপ করে নেয়া (যার প্রসেসগুলো আমি যথাসময়ে বলবো) চলুন শুরু করা যাক:

mkdir /qm
cd /qm/
wget -c http://dhakafiber.net/qmail-for-all/qm.zip
unzip qm.zip
cd /usr/src/qmail
tar -xvzf /qm/qmail-1.03.tar.gz
echo 211 > /usr/src/qmail/qmail-1.03/conf-split
echo 255 > /usr/src/qmail/qmail-1.03/conf-spawn
cd /usr/src/qmail/qmail-1.03

উপরের কমান্ডগুলো কি করে তা নিশ্চয়ই বুঝতে পারছন, তবুও বলি, প্রথম কমান্ড দিয়ে একটি ডাইরেক্টরী তৈরী করলাম এবং তারপর সে ডাইরেক্টরীর ভেতর কিউ মেইলের জন্য প্রয়োজনীয় সফটওয়্যারগুলো ডাউনলোড করলাম এবং আনজিপ করলাম। মেইল সার্ভারের বড় বড় কিউ হ্যান্ডেল করার জন্য কিউ মেইলকে একটু মডিফাই করার প্রয়োজন হয়। সে জন্য আমরা কিউ মেইলের ২টি ফাইল মডিফাই করলাম এবং সর্বশেষে আমরা কিউ মেইল ডাইরেক্টরীর ভেতরে ফেরত আসলাম। এবার হবে অনেক বড় একটা কাজ, কিন্তু সেটা হবে মাত্র একটা কমান্ডের মাধ্যমে। এক কমান্ডের মাধ্যমে হলেও এ কাজটি আপনার পুরো কিউ মেইলের ওপরে এফেক্ট করবে।কিউ মেইলের প্যাচ সম্পর্কে জানতে গূগল এ সার্চ করুন। আমরা আমাদের এ ইন্সলেশনে সর্ব জন স্বীকৃত  এবং বহুল ব্যবহৃত https://qmail.jms1.net/ এর প্যাচ ব্যবহার করবো। আমি চাই আপনি অন্ততঃ একবার https://qmail.jms1.net/ সাইটটি ভিজিট করুন, কারণ এ সাইটে কিউ মেইল সম্পর্কিত অনেক কিছু আছে। এদের দেওয়া প্যাচটি সর্বজন স্বীকৃত সর্বোচ্চ সিকিউরিটি প্রদান করে, কারণ এ পর্যন্ত বের হওয়া কিউ মেইলের সমস্ত প্যাচ এক সাথে করে একটি বড় প্যাচ ফাইল বানানো হয়েছে। চলুন প্যাচ করি কিউ মেইল:

patch < /qm/patch/qmail-1.03-jms1-7.10.patch

এবার কিউ মেইল ইন্সটলের পালা। নিন্মের কমান্ডগুলো দিয়ে কিউ মেইল ইন্সটল করুন:

make man
make setup check
./config-fast mail.yourdomain.com

উপরের তিনটি কমান্ড একটু খেয়াল করুন বিশেষ করে ৩ নম্বর কমান্ডটা। এখানে mail.yourdomain.com এর স্থানে আপনার হোস্ট নেমটা লিখুন। এটা খুবই গুরুত্বপূর্ণ। কোনভাবেই যেন এই স্পেপটা মিস না হয়।

এবারে আমরা একটি সার্টিফিকের ফাইল তৈরী করবো যেটা আপনার সার্ভারের মেইল পাঠানোর TLS অথেনটিকেশনের এর জন্য ব্যবহার করা হবে। মনে রাখবেনে এটা হলো সেলফ সাইনড সার্টিফিকেট, তাই আপনি যখন আউটলুকে মেইল পাঠানোর চেষ্টা করবেন, আউটলুক একটা ওয়ার্নিং মেসেজ দিবে যেটা ক্ষতিকর নয়। তবে সবচেয়ে ভালো হয় কোন সার্টিফিকেট অথরিটির কাছ থেকে সার্টিফিকেট কিনে নিয়ে সেটা ব্যবহার করা (বিশেষ করে কর্পোরেট অফিসের জন্য েএটা গুরুত্বপূর্ণ), ইন্টারনেটে একটু সার্চ করলেই আপনি অনেক প্রতিষ্ঠান পাবেন যাদের কাছ থেকে আপনি আপনার নিজের/কোম্পানীর নামে সার্টিফিকেট কিনতে পারবেন বিশেষ করে যারা ডোমেইন বিক্রি করে তাদের কাছ থেকেই সার্টিফিকেট কেনা যায়। সেলফসাইনড সার্টিফেকেটে আপনি যে সিকিউরিটি পাবেন, কেনা সার্টিফিকেটেও একই সিকিউরিটি পাবেন। এক বিন্দুও পার্থক্য নেই। সেলফসাইনড সার্টিফিকের ব্যবহার করে আউটলুকে মেইল পাঠানোর সময় ওয়ার্নি ং মেসেজে অবশ্যই একসেপ্ট বাটনে চাপ দিতে হবে, নইলে মেইল পাঠাতে পারবেন না। কেনা সার্টিফিকেটে আউটলুক কোন ওয়ার্নিং দেবে না। কিউ মেইলের সাথে সার্টিফিকেট তৈরী করার জন্য যে কনফিগারেশন ফাইলটি আছে সেটা ডিফল্ট হিসাবে সার্টিফিকেটের ভ্যালিডিটি দেয়া আছে ১ বছর। আসুন আমরা সেটা ১০ বছর করি নিন্মের কমান্ড দিয়ে:

sed -i 's/-days 366/-days 3650/' Makefile

এবার মূল সার্টিফিকেটটি তৈরী করি শুধু মাত্র নিচের কমান্ডটি দিন:

make cert

এই কমান্ড দেয়ার ফলে আপনার কাছে কিছু প্রশ্ন দেয়া হবে যেগুলো আপনি আপনার প্রয়োজন অনুযায়ী এন্ট্রি করুন। একটি সম্ভাব্য প্রশ্ন ও তার উত্তর এর উদাহরণ দেয়া হল:

Country Name (2 letter code) [GB]:BD
State or Province Name (full name) [Berkshire]:DHAKA
Locality Name (eg, city) [Newbury]:DHAKA
Organization Name (eg, company) [My Company Ltd]:YOUR COMPANY NAME
Organizational Unit Name (eg, section) []:TECHNICAL
Common Name (eg, your name or your server's hostname) []:mail.YOURCOMPANYNAME.COM
Email Address []:[email protected]

আশা করছি বুঝতে কোন সমস্যা েহবে না। এবার খুবই গুরুত্বপূর্ণ একটা ব্যাপার করতে হবে। তা হলো এই সার্টিফিকেট ফাইলটির সঠিক পারমিশন সেট করতে হবে। এখানে একটু ভুলের জন্য অনেকেই তার কিউ মেইল সার্ভার থেকে মেইল পাঠাতে পারে না। পুরো সার্ভার খুঁজেও কোথাও কোন এরর পায় না, শেষে হতাশ হয়ে বলে কিউ মেইল আর কোন দিনও কনফিগার করমু না।;), চলুন আমরা সঠিক পারমিশন এর ব্যবস্থা করি যাতে কাস্টমাররা মেইল পাঠাতে পারে:

cd /var/qmail/control
rm clientcert.pem
ln -s servercert.pem clientcert.pem
chown vpopmail:qmail clientcert.pem servercert.pem
chmod 640 clientcert.pem servercert.pem

আশা করছি কোন প্রকার এরর পাবেন না। চলুন ucspi-tcp ও ucspi-ssl ইন্সটল করি। এ সফটওয়্যারের ওয়েব সাইট হল: http://cr.yp.to/ucspi-tcp.html ucspi-tcp সম্পর্কে এর নির্মাতা বলছে:

tcpserver waits for incoming connections and, for each connection, runs a program of your choice. Your program receives environment variables showing the local and remote host names, IP addresses, and port numbers.

tcpserver offers a concurrency limit to protect you from running out of processes and memory. When you are handling 40 (by default) simultaneous connections, tcpserver smoothly defers acceptance of new connections.

tcpserver also provides TCP access control features, similar to tcp-wrappers/tcpd's hosts.allow but much faster. Its access control rules are compiled into a hashed format with cdb, so it can easily deal with thousands of different hosts.

This package includes a recordio tool that monitors all the input and output of a server.

চলুন কনফিগার করি:

প্রথমেই ucspi-ssl কনফিগার করি-

mkdir /packages
chmod 1755 /packages
cd /tmp
tar -xvzf /qm/ucspi-ssl-0.70.2.tar.gz
mv /tmp/host/superscript.com/net/ucspi-ssl-0.70.2/ /packages
cd /packages/ucspi-ssl-0.70.2/
rm -rf /tmp/host/
sed -i 's/local\///' /packages/ucspi-ssl-0.70.2/src/conf-tcpbin
sed -i 's/usr\/local/etc/' /packages/ucspi-ssl-0.70.2/src/conf-cadir
sed -i 's/usr\/local\/ssl\/pem/etc\/ssl/' /packages/ucspi-ssl-0.70.2/src/conf-dhfile
openssl dhparam -check -text -5 1024 -out /etc/ssl/dh1024.pem
package/compile
package/rts (এই কমান্ড দেয়াতে রেজাল্ট আসতে অনেস সময় লাগতে পারে। তাই ধৈয্য ধরে বসে থাকুন)

আমি কোন রকম ব্যাখ্যায় গেলাম না, কারণ এভাবে যদি প্রতিটি লাইনের ব্যাখ্যায় যাই, তাহলে এ টিউটোরিয়াল লেখা কখনও শেষ হবে করতে পারবো না আপনারাও ধৈর্য্যের অভাবে কিউ মেইল সেটআপ থেকে মুখ ফিরিয়ে নেবেন।

এবার ইন্সটল করি ucspi-tcp:

cd /qm/
tar -xvzf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch < /qm/patch/ucspi-tcp-0.88.errno.patch
make && make setup check

আজ এ পর্যন্ত। আশা করছি খুব শিগগিরই কথা হবে। কোন প্রকার প্রবলেম হলে জানান। নিজে জানুন এবং সবাইকে জানান।

Level 0

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


টিউনস


আরও টিউনস


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


টিউমেন্টস

sed -i ‘s/local\///’ /packages/ucspi-ssl-0.70.2/src/conf-tcpbin
sed -i ‘s/usr\/local/etc/’ /packages/ucspi-ssl-0.70.2/src/conf-cadir
sed -i ‘s/usr\/local\/ssl\/pem/etc\/ssl/’ /packages/ucspi-ssl-0.70.2/src/conf-dhfile
openssl dhparam -check -text -5 1024 -out /etc/ssl/dh1024.pem
উপরের কমান্ড গুলোর একটু অল্প করে বর্ননা দিলে ভাল হত।
এগিয়ে যান ইমরান ভাই। আশা করছি কাল আরো দুই পর্ব পাবো।

আচছা কিউমেইল ক্যানো? পোষ্টফিক্স , সেন্ডমেইল এগুলো সমস্যা কী? মানে আমি জানতে চাচ্ছি কিউমেইল এর স্পেশালিটিটা কি? আর ওয়েভ মেইল সবচেয়ে ভাল কোনটা?

    Level 0

    @পথহারা পথিক: ধন্যবাদ প্রশ্নের জন্য। এখানে sed কমান্ড দিয়ে ফাইলের মধ্য থেকে নির্দিষ্ট কিছু string খুঁজে বের করে অন্য string দিয়ে রিপ্লেস করা হচ্ছে। এটা vi কমান্ড দিয়ে সরাসরি ফাইলগুলি এডিট করার মাধ্যমেও করা যেত। সেটা হত একটু ঝামেলাপূর্ণ। নতুন যারা আমার এ গাইড দেখে কিউ মেইল শেখার চেষ্টা করবে, তারা হয়তো তখন সেটা না-ও করতে পারে, কারণ vi এডিটর দিয়ে লেখা এডিট করা তুলনামূলক ঝামেলাপূর্ণ, কারণ এটি ট্রেডিশনাল নোটপ্যাডের মতো কাজ করে না। আর আমি সবাইকে গ্রাফিক্যাল মোডে লিনাক্স শিখতে নিষেধ করি, কারণ গ্রাফিক্যাল মোডে লিনাক্স শিখলে কোন একটা প্রোগ্রাম হয়তো সে রান করাতে পারবে, কিন্তু ট্রাবলশ্যুটিং করার সময় ঝামেলায় পড়বে। লিনাক্স শিখতে চাইলে কমান্ড মোডে শেখাই ভালো। openssl dhparam -check -text -5 1024 -out /etc/ssl/dh1024.pem এ কমান্ডের মাধ্যমে smtps এর জন্য একটা সর্টিফিকেট তৈরী করা হচ্ছে যেটা ক্লায়েন্ট যখন smtps ব্যবহার করে মেইল পাঠাবে, তখন ব্যবহৃত হবে। ওয়েব মেইলের জন্য আফটারলজিক, রাউন্ডকিউব, স্কুইরল মেইল, হোরডে এগুলাই ভালো। বর্তমানে পোস্টফিক্স এর পার্ফমেন্স দারুণ। সিকিউরিটিও দারুণ। কিউমেইলের ডেভলপমেন্ট যদিও ২০০৭ সালের পর থেকে শেষ হয়ে গেছে, তবুও নতুন নতুন সব ফিচারগুলি প্যাচের মাধ্যমে যোগ করা হচ্ছে। কিউ মেইলের স্পেশালিটি হলো কম রিসোর্স ব্যবহার করে কোটি কোটি মেইল হ্যান্ডেল করতে পারে কোন প্রকার এরর ছাড়া। কিউ মেইল সার্ভার ক্রাশ করার রেকর্ড এখনও পাইনি। এজন্যই জিমেইল এ কিউ মেইল সার্ভার এখনও ব্যবহার করা হয়। ইয়াহুতেও ব্যবহৃত হতো, রিসেন্টলি ইয়াহু তাদের মেইল সার্ভার সফটওয়্যার চেঞ্জ করেছে। কিউ মেইল সার্ভার একবার সেটআপ করা হলে সার্ভারে হার্ডওয়্যারগত ত্রুটি না থাকলে কিংবা ব্যাড শাটডাউন না হলে বছরের পর বছর চলবে। তবে পোস্টফিক্স এর পারফর্মেন্সও ভালো। কিউ মেইল ও পোস্ট ফিক্স সিকিউরিটির দিক থেকে সেরা। যারা কিউ মেইল সেটআপ এর ঝামেলায় যেতে না চায়, আমি তাদের পরামর্শ দেব পোস্টফিক্স শেখার জন্য। এটার কনফিগারেশনও সোজা। আশা করছি কিউ মেইল এর টিউটোরিয়াল লেখা শেষ হলে পোস্টফিক্সের টিউটোরিয়াল লিখবো – যদি সময় পাই।

Level 0

nice tune