এই গাইডে, আপনি কীভাবে মেল সার্ভারগুলিতে ACME SSL শংসাপত্র ইনস্টল করবেন তা শিখবেন, বিশেষত Postfix, Dovecot এবং ঐচ্ছিকভাবে Exim, ACME + EAB সমর্থন করে এমন বাণিজ্যিক সরবরাহকারীদের ব্যবহার করে। আমরা আপনার ACME অ্যাকাউন্টটি নিবন্ধন করতে, আপনার মেল হোস্টনামের জন্য একটি শংসাপত্র জারি করতে এবং তারপরে সেই শংসাপত্রটি সরাসরি আপনার মেল সার্ভারের টিএলএস কনফিগারেশনে প্লাগ করতে acme.sh ব্যবহার করব।

এই গাইডটি একটি লিনাক্স-ভিত্তিক মেল সার্ভার এবং একটি বাণিজ্যিক সিএ ধরে নেয় যা ইএবি শংসাপত্রগুলি (কী আইডি + এইচএমএসি) সহ একটি এসিএমই ডিরেক্টরি ইউআরএল সরবরাহ করে। যেহেতু মেল পরিবেশগুলি বিতরণ এবং হোস্টিং সেটআপগুলি জুড়ে পৃথক, এটিকে একটি স্পষ্ট, নির্ভরযোগ্য নীলনকশা হিসাবে বিবেচনা করুন তবে আপনি যাওয়ার সাথে সাথে সর্বদা আপনার নিজের সার্ভারের পথ, পরিষেবার নাম এবং টিএলএস সেটিংস পরীক্ষা করুন।
আপনি শুরু করার আগে
এই বেসিকগুলি প্রস্তুত থাকলে আপনার আরও মসৃণ সময় থাকবে:
- একটি মেল হোস্টনেম, যেমন mail.example.com, একটি A/AAAA রেকর্ড সহ আপনার মেল সার্ভারের দিকে নির্দেশ করে
- আপনার এমএক্স রেকর্ড সেই হোস্টনেমের দিকে নির্দেশ করে (সাধারণ সেটআপ)
- সুডো বা রুট সহ মেল সার্ভারে শেল / এসএসএইচ অ্যাক্সেস
- একটি বাণিজ্যিক CA অ্যাকাউন্ট যা একটি ACME ডিরেক্টরি URL (উদাঃ https://acme.yourca.com/v2/acme), EAB কী ID এবং EAB HMAC কী সরবরাহ করে
- মেল স্ট্যাক: এসএমটিপির জন্য পোস্টফিক্স / এক্সিম এবং আইএমএপি / পিওপি 3 এর জন্য ডোভকোট
আমরা DNS-01 বৈধতা ব্যবহার করব কারণ এটি এমনকি যখন আপনার মেল সার্ভার কোনও সর্বজনীন ওয়েবসাইট চালায় না এবং প্রায়শই উত্পাদনে পছন্দ করা হয় তখনও এটি কাজ করে।
ধাপ 1: মেল সার্ভারে acme.sh ইনস্টল করুন
আপনি সরাসরি মেল সার্ভারে ACME ক্লায়েন্টটি ইনস্টল করবেন যাতে এটি শংসাপত্রগুলি পুনর্নবীকরণ করতে পারে এবং সেগুলি ডিস্কে লিখতে পারে যেখানে পোস্টফিক্স / ডোভকোট / এক্সিম সেগুলি পড়তে পারে।
মেইল সার্ভার:
curl https://get.acme.sh | sh
source ~/.bashrc
acme.sh --version
আপনি যদি কোনও সংস্করণ নম্বর দেখতে পান তবে ক্লায়েন্টটি ইনস্টল এবং প্রস্তুত। যদি লাইনটি source ~/.bashrc কাজ না করে তবে লগ আউট করুন এবং আবার ইন করুন, তারপরে আবার চালান acme.sh --version ।
ধাপ 2: আপনার ACME অ্যাকাউন্ট নিবন্ধন করুন (EAB এর সাথে)
এরপরে, আপনাকে তাদের প্যানেল থেকে ইএবি শংসাপত্রগুলি ব্যবহার করে আপনার বাণিজ্যিক সিএ-র সাথে আপনার ACME অ্যাকাউন্টটি নিবন্ধন করতে হবে। acme.sh এবং এর --eab-hmac-keyমাধ্যমে ইএবি --eab-kid সমর্থন করে।
মেইল সার্ভারে এটি চালান:
acme.sh --register-account \
--server https://acme.yourca.com/v2/acme \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
প্রতিস্থাপন:
https://acme.yourca.com/v2/acmeআপনার CA এর ACME ডিরেক্টরি URL সহYOUR_EAB_KIDকী আইডি সহYOUR_EAB_HMAC_KEYHMAC কী দিয়ে[email protected]মেয়াদোত্তীর্ণ নোটিশের জন্য আপনার আসল অ্যাডমিন ইমেল সহ
আপনি প্রতি অ্যাকাউন্টে একবার এটি করুন। যদি কমান্ডটি ব্যর্থ হয় তবে এটি প্রায় সর্বদা ইউআরএল বা ইএবি মানগুলিতে একটি টাইপো।
ধাপ 3: DNS-01 এর মাধ্যমে সার্টিফিকেট ইস্যু করুন
এখন আপনি আপনার ব্যবহারকারীরা যে হোস্টনেমের সাথে সংযোগ করবেন তার জন্য একটি শংসাপত্রের অনুরোধ করছেন, যেমন ( mail.example.com অথবা, imap.example.com. smtp.example.com আপনি ক্লায়েন্ট কনফিগারগুলিতে প্রকৃতপক্ষে যে ব্যবহার করেন তা চয়ন করুন)।
সার্টিফিকেট ইস্যু করুন (ম্যানুয়াল ডিএনএস)
চালনা:
acme.sh --issue \
-d mail.example.com \
--dns dns_manual \
--server https://acme.yourca.com/v2/acme
--dns dns_manual আপনাকে আপনার DNS প্যানেলে ম্যানুয়ালি TXT রেকর্ডগুলি যুক্ত করতে বলা হয় acme.sh ।
ক্লায়েন্ট এমন কিছু আউটপুট করবে:
Please add a TXT record:
_acme-challenge.mail.example.com → some-long-token-value
TXT রেকর্ড যোগ করুন
আপনার DNS সরবরাহকারীর প্যানেলে, একটি TXT রেকর্ড তৈরি করুন:
- নাম:
_acme-challenge.mail.example.com - মান: দ্বারা প্রদর্শিত টোকেন
acme.sh
DNS প্রচারের জন্য কয়েক মিনিট অপেক্ষা করুন, তারপরে এর সাথে যাচাই করুন:
dig TXT _acme-challenge.mail.example.com +short
আপনি যদি সেখানে টোকেনটি দেখতে পান তবে বৈধতা সম্পূর্ণ করতে আবার কমান্ডটি চালান acme.sh --issue । যখন এটি সফল হয়, তখন acme.sh আপনার ফাইলগুলি ~/.acme.sh/mail.example.com/ এর অধীনে সংরক্ষণ করে।
সেই ডিরেক্টরির ভিতরে আপনার অন্তত থাকবে:
- fullchain.cer – সার্টিফিকেট প্লাস ইন্টারমিডিয়েট চেইন
- mail.example.com.key – ব্যক্তিগত কী
- ca.cer – সিএ সার্টিফিকেট (যদি আপনার সিএ এটি আলাদাভাবে সরবরাহ করে)
আমরা পরবর্তী ধাপে এগুলো ব্যবহার করব।
ধাপ 4: ACME সার্টিফিকেট (SMTP) ব্যবহার করতে পোস্টফিক্স কনফিগার করুন
আপনার নতুন শংসাপত্র এবং কী কোথায় রয়েছে তা পোস্টফিক্সকে জানতে হবে। পোস্টফিক্সে টিএলএস এবং এর smtpd_tls_key_fileমতো বিকল্পগুলি smtpd_tls_cert_file দ্বারা নিয়ন্ত্রিত হয়।
প্রথমত, ফাইলগুলি একটি স্থিতিশীল অবস্থানে অনুলিপি করুন, উদাহরণস্বরূপ:
sudo mkdir -p /etc/ssl/mail
sudo cp ~/.acme.sh/mail.example.com/fullchain.cer /etc/ssl/mail/mail-fullchain.cer
sudo cp ~/.acme.sh/mail.example.com/mail.example.com.key /etc/ssl/mail/mail.key
sudo chown root:root /etc/ssl/mail/*
sudo chmod 600 /etc/ssl/mail/mail.key
তারপরে পোস্টফিক্সকে সেগুলি ব্যবহার করতে বলুন:
sudo postconf -e 'smtpd_use_tls = yes'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/mail/mail-fullchain.cer'
sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/mail/mail.key'
sudo postconf -e 'smtp_tls_security_level = may'
smtpd_*সেটিংস নিয়ন্ত্রণ ইনকামিং মেইল (ক্লায়েন্টরা আপনাকে মেইল প্রেরণ করছে)smtp_*সেটিংস বহির্গামী মেইল নিয়ন্ত্রণ করে (আপনার সার্ভার অন্যদের মেইল প্রেরণ করছে)
পরিবর্তনগুলি প্রয়োগ করুন:
sudo systemctl restart postfix
যদি আপনার ডিস্ট্রো এখনও ব্যবহার করে তবে serviceসেই অনুযায়ী কমান্ডটি সামঞ্জস্য করুন।
ধাপ 5: ACME শংসাপত্র (IMAP/POP3) ব্যবহার করতে ডোভকোট কনফিগার করুন
ডোভকোট আইএমএপি এবং পিওপি 3 পরিচালনা করে। আপনি নির্দেশ করে ssl_cert টিএলএস কনফিগার করেন এবং একই ssl_key ফাইলগুলি যা আমরা সবেমাত্র প্রস্তুত করেছি।
Dovecot এর SSL কনফিগার খুলুন:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
এই লাইনগুলি আপডেট করুন (বা যুক্ত করুন):
ssl = yes
ssl_cert = </etc/ssl/mail/mail-fullchain.cer
ssl_key = </etc/ssl/mail/mail.key
ফাইলটি সংরক্ষণ করুন এবং ডোভকোট পুনরায় লোড করুন:
sudo systemctl restart dovecot
এখন TLS এর উপর IMAP/POP3 একই বাণিজ্যিক ACME শংসাপত্র উপস্থাপন করবে।
ঐচ্ছিক: এক্সিমে একই সার্টিফিকেট ব্যবহার করুন
আপনি যদি পোস্টফিক্সের পরিবর্তে আপনার মেল সার্ভার হিসাবে এক্সিম ব্যবহার করেন তবে ইন্টিগ্রেশন একই রকম। টিএলএসের জন্য এক্সিম ব্যবহার এবং tls_certificate বিকল্পগুলি tls_privatekey ।
আপনার এক্সিম কনফিগারেশনে (পাথ ডিস্ট্রোর উপর নির্ভর করে, প্রায়শই / etc/exim4/exim4.conf.template বা স্প্লিট কনফিগার এর অধীনে) /etc/exim4/conf.d/, সেট করুন:
tls_certificate = /etc/ssl/mail/mail-fullchain.cer
tls_privatekey = /etc/ssl/mail/mail.key
তারপরে এক্সিম পুনরায় লোড করুন:
sudo systemctl restart exim4
পরিষেবার নামটি কিছুটা আলাদা হলে আপনার ডিস্ট্রিবিউশন প্যাকাগে ডকগুলি পরীক্ষা করুন।
ধাপ 6: আপনার মেইল টিএলএস পরীক্ষা করুন
OpenSSL ইনস্টল করা অন্য যে কোনও মেশিন থেকে আপনি পরীক্ষা করতে পারেন।
এসএমটিপি পরীক্ষা করুন (পোস্টফিক্স বা এক্সিম)
openssl s_client -starttls smtp -connect mail.example.com:587 -showcerts
টেস্ট আইএমএপি (ডোভকোট)
openssl s_client -starttls imap -connect mail.example.com:143 -showcerts
যদি আউটপুট আপনার বাণিজ্যিক সিএ দেখায় এবং হোস্টনেমটি মেলে তবে আপনি ভাল।
ধাপ 7: পুনর্নবীকরণ এবং পুনরায় লোড স্বয়ংক্রিয় রাখুন
acme.sh ইতিমধ্যে একটি ক্রন জব ইনস্টল করে যা প্রতিদিন পুনর্নবীকরণের জন্য পরীক্ষা করে। যখন আপনার সার্টিফিকেটের মেয়াদ শেষ হওয়ার কাছাকাছি থাকে, তখন এটি স্বয়ংক্রিয়ভাবে পুনর্নবীকরণ করবে এবং ~/.acme.sh/mail.example.com/-এ ফাইলগুলি আপডেট করবে।
পোস্টফিক্স / ডোভকোট / এক্সিম সর্বদা সর্বশেষতম সংস্করণ ব্যবহার করার জন্য, আপনার কাছে দুটি বিকল্প রয়েছে:
- ~/.acme.sh/mail.example.com/ এ ফাইলগুলিতে সরাসরি কনফিগার করুন
(উদাঃ smtpd_tls_cert_file = /root/.acme.sh/mail.example.com/fullchain.cer) এবং নিশ্চিত করুন যে কেবল রুট সেগুলি পড়তে পারে। - একটি ছোট ডিপ্লয় স্ক্রিপ্ট লিখুন যা পুনর্নবীকরণ করা ফাইলগুলি
/etc/ssl/mail/অনুলিপি করে এবং সার্ভারটি পুনরায় চালু বা পুনরায় লোড করে।
একটি স্ক্রিপ্টের উদাহরণ:
#!/usr/bin/env bash
DOMAIN="mail.example.com"
SRC="$HOME/.acme.sh/$DOMAIN"
DEST="/etc/ssl/mail"
sudo cp "$SRC/fullchain.cer" "$DEST/mail-fullchain.cer"
sudo cp "$SRC/$DOMAIN.key" "$DEST/mail.key"
sudo chown root:root "$DEST/"*
sudo chmod 600 "$DEST/mail.key"
sudo systemctl restart postfix dovecot
এই স্ক্রিপ্টটি আপনার সার্ভারের মেল এসএসএল ডিরেক্টরিতে নতুন জারি করা এসিএমই সার্টিফিকেট এবং প্রাইভেট কীটি অনুলিপি করে, সঠিক মালিকানা এবং অনুমতিগুলি সেট করে এবং তারপরে পোস্টফিক্স এবং ডোভকোট পুনরায় চালু করে যাতে তারা অবিলম্বে আপডেট হওয়া শংসাপত্রটি ব্যবহার শুরু করে। প্লেসহোল্ডারদের পরিবর্তে আপনার শংসাপত্রগুলি ব্যবহার করুন।
তারপরে এটি তারের acme.shকরুন:
acme.sh --install-cert -d mail.example.com \
--key-file ~/.acme.sh/mail.example.com/mail.example.com.key \
--fullchain-file ~/.acme.sh/mail.example.com/fullchain.cer \
--reloadcmd "/path/to/your/deploy-script.sh"
এখান থেকে, পুনর্নবীকরণ স্বয়ংক্রিয়ভাবে ঘটে।
সাধারণ প্রশ্ন এবং সমস্যা সমাধান
আপনি যখন প্রথমবার এটি করবেন তখন কয়েকটি সমস্যা আসতে পারে। এগুলি কীভাবে দ্রুত মোকাবেলা করবেন তা এখানে।
কেন ACME বৈধতা “অননুমোদিত” বা “অবৈধ প্রতিক্রিয়া” দিয়ে ব্যর্থ হয়?
এটি ঘটে যখন CA আপনার DNS TXT রেকর্ড যাচাই করতে পারে না। চেক করুন:
- টিএক্সটি রেকর্ডটি হুবহু
_acme-challenge.mail.example.com - টোকেনে কোনও অতিরিক্ত উদ্ধৃতি বা স্পেস নেই
- ডিএনএস প্রচার করেছে ()
dig TXT _acme-challenge.mail.example.com +short - আপনি example.com সাথে mail.example.com মিশে যাননি
যদি অনিশ্চিত না হন তবে টিএক্সটি রেকর্ডটি মুছুন, পুনরায় চালান acme.sh --issueএবং ACME আপনাকে যে সঠিক মান দেয় তা পুনরায় যুক্ত করুন।
কেন আমি “accountDoesNotExist” বা EAB-সম্পর্কিত ত্রুটি পাচ্ছি?
এগুলি উপস্থিত হয় যখন আপনার ACME অ্যাকাউন্ট নিবন্ধন আপনার CA থেকে EAB শংসাপত্রাদির সাথে মেলে না।
দ্বারা সংশোধন করুন:
- ACME ডিরেক্টরি URL পুনরায় পরীক্ষা করা হচ্ছে (উত্পাদন বনাম স্টেজিং)
- কী আইডি এবং এইচএমএসি কোনও লুকানো স্থান ছাড়াই সঠিকভাবে অনুলিপি করা হয়েছে তা নিশ্চিত করা
- সঠিক মান সহ একবার রেজিস্ট্রেশন কমান্ডটি পুনরায় চালানো
বাণিজ্যিক সিএগুলি তাদের জারি করা প্রোফাইলের সাথে মেলে না এমন কোনও ইএবি নিবন্ধন প্রত্যাখ্যান করে।
কেন SMTP/IMAP এখনও পুরানো শংসাপত্রটি দেখায়?
এর অর্থ পরিষেবাটি নতুন শংসাপত্রটি পুনরায় লোড করে নি বা অন্য পথ থেকে পড়ছে। চেক:
- পোস্টফিক্স/ডোভকোট/এক্সিমের টিএলএস পথগুলি আসল ফাইলগুলির সাথে মেলে
- আপনি সঠিক পরিষেবাটি পুনরায় চালু করেছেন ()
systemctl restart postfix dovecot exim4 - কোনও দ্বিতীয় উদাহরণ, ধারক বা প্রক্সি পুরানো সার্টিফিকেট পরিবেশন করছে না
আপনি ব্যবহার করে লাইভ সার্টিফিকেট যাচাই করতে পারেন:
openssl s_client -connect mail.example.com:465 -servername mail.example.com
শেষ কথা
এই সেটআপের সাথে, আপনার মেল সার্ভার এসএমটিপি এবং আইএমএপি / পিওপি 3 ক্লায়েন্টদের কাছে একটি যথাযথ বাণিজ্যিক এসিএমই শংসাপত্র উপস্থাপন করে, যখন acme.sh নীরবে ব্যাকগ্রাউন্ডে পুনর্নবীকরণ পরিচালনা করে। আপনি সার্টিফিকেট চেইন এবং ফাইলের নামগুলির উপর সম্পূর্ণ নিয়ন্ত্রণ রাখেন, আপনার ব্যবহারকারীরা সুরক্ষা সতর্কতা দেখা বন্ধ করে দেয় এবং হাতে নতুন ফাইল আপলোড করতে আপনাকে প্রতি কয়েক মাস অন্তর লগ ইন করতে হবে না।
একবার আপনি এটি একবার করার পরে, আপনি একই এসিএমই অ্যাকাউন্ট এবং প্রক্রিয়া ব্যবহার করে অন্যান্য হোস্টনেম, সেকেন্ডারি এমএক্স সার্ভার বা অতিরিক্ত মেল স্ট্যাকগুলির জন্য একই প্যাটার্নটি পুনরাবৃত্তি করতে পারেন।
আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!
দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

