CPanel সহ কিছু শেয়ার্ড হোস্টিং প্যাকেজে AutoSSL থাকে না, অথবা শুধুমাত্র উচ্চমূল্যের প্ল্যানগুলিতেই এটি পাওয়া যায়। ফলে, আপনি cPanel ইন্টারফেসের মাধ্যমে একটি বিনামূল্যের Let's Encrypt সার্টিফিকেট ইস্যু করতে পারেন না এবং সমস্ত ডোমেইন একটি সেলফ-সাইন্ড সার্টিফিকেটে আটকে থাকে। ব্রাউজার পেজটিকে "নট সিকিউর" হিসেবে দেখায়। এর সমাধান হলো: acme.sh ব্যবহার করে নিজেই সার্টিফিকেটটি সংগ্রহ করুন এবং cPanel UAPI-এর মাধ্যমে এটি ইনস্টল করুন – যা AutoSSL ছাড়াই সম্পূর্ণভাবে স্বয়ংক্রিয়ভাবে রিনিউ হবে।
HTTPS অনেক দিন ধরেই বাধ্যতামূলক। তাই, যখন আপনার নিজের হোস্টিং প্যাকেজে একটি বিনামূল্যের সার্টিফিকেট পাওয়ার সুবিধাজনক কোনো উপায় থাকে না, তখন বিষয়টি আরও বেশি হতাশাজনক হয়ে ওঠে। আপনি যা ভাবেন তার চেয়েও এমনটা প্রায়শই ঘটে, যেমন—কমদামী এন্ট্রি-লেভেল প্যাকেজগুলোর ক্ষেত্রে অথবা প্ল্যান পরিবর্তনের পর, যখন হঠাৎ করেই সার্টিফিকেট অন্তর্ভুক্ত থাকা বন্ধ হয়ে যায়। তবে, শেল-এ মাত্র কয়েকটি কোড লাইনের মাধ্যমেই এই অভাবটি সুন্দরভাবে এবং স্থায়ীভাবে পূরণ করা সম্ভব – সম্পূর্ণ প্রক্রিয়াটি নিচে বর্ণনা করা হলো।
১. SSH এর মাধ্যমে লগ ইন করুন
ssh -p <port> <user>@example.com
২. acme.sh ইনস্টল করুন।
curl https://get.acme.sh | sh -s email=me@example.com
source ~/.bashrc
৩. Let's Encrypt-কে CA হিসেবে সেট করুন।
acme.sh --set-default-ca --server letsencrypt
৪. সার্টিফিকেট প্রদান করুন
acme.sh --issue -d example.com -d www.example.com -w ~/public_html
৫. সিপ্যানেলে ইনস্টল করুন
acme.sh --deploy -d example.com --deploy-hook cpanel_uapi
৬. যাচাই করুন
uapi SSL installed_hosts
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -issuer -dates
হুকটি UAPI-এর মাধ্যমে উপযুক্ত ভার্চুয়াল হোস্টে সার্টিফিকেটটি লিখে দেয়। ডেপ্লয়মেন্ট সেটিংস সংরক্ষিত হয়ে যায় – এখন থেকে, মেয়াদ শেষ হওয়ার আগে ক্রন স্বয়ংক্রিয়ভাবে সবকিছু নবায়ন ও ইনস্টল করবে। ইস্যুকারী হলো "লেটস এনক্রিপ্ট", এবং মেয়াদ শেষ হওয়ার তারিখটি প্রায় ৯০ দিন পরের। যদি পুরোনো, সেলফ-সাইন্ড সার্টিফিকেটটি এখনও দেখা যায়, তবে ব্রাউজারে একটি হার্ড রিলোড করলে সাধারণত সমস্যার সমাধান হয় – আগের সার্টিফিকেটটি হয়তো সাময়িকভাবে ক্যাশে সংরক্ষিত ছিল।
কিছু হোস্ট তাদের নিজস্ব সিপ্যানেল হুক চালায়। install_ssl এবং এর উত্তরে এইরকম কিছু বলে adminbin Cpanel/hooks2/...: exit 255. acme.sh এখনও "সফলভাবে ডেপ্লয় করা হয়েছে" দেখাচ্ছে – এবং তা সঠিক। এক্ষেত্রে, প্রকৃত ইনস্টলেশনের কারণে নয়, বরং পরবর্তী কোনো ধাপের (যেমন হোস্টিং প্রোভাইডারের কোনো অভ্যন্তরীণ নোটিফাই বা সিঙ্ক জব) কারণে হুকটি ব্যর্থ হয়।
উমলাউটযুক্ত ডোমেইনগুলির জন্য, acme.sh সার্টিফিকেটটি অভ্যন্তরীণভাবে পুনিকোড ফর্মে সংরক্ষণ করে (xn--…), যখন হুকের অটো-ম্যাচার ইউনিকোড ফর্মের সাথে তুলনা করে। ফলাফল: "০টির মধ্যে ০টি সাইটে ডেপ্লয় করা হয়েছে" – কিছুই ইনস্টল হয় না। সবচেয়ে মারাত্মক ব্যাপার হলো, acme.sh এখানেও "সফল" রিপোর্ট করে, ফলে ত্রুটিটি সহজেই এড়িয়ে যাওয়া হয়। সমাধান: সরাসরি পুনিকোড ডোমেইনের সাথে কাজ করুন এবং অটো-ম্যাচিং নিষ্ক্রিয় করুন।:
python3 -c "import sys;print(sys.argv[1].encode('idna').decode())" hallöle.de
acme.sh --issue -d xn--hallle-zxa.de -d www.xn--hallle-zxa.de -w ~/public_html
export DEPLOY_CPANEL_AUTO_ENABLED='false'
acme.sh --deploy -d xn--hallle-zxa.de --deploy-hook cpanel_uapi
SSH অ্যাক্সেস থাকলে আপনার AutoSSL-এর প্রয়োজন নেই: acme.sh সার্টিফিকেটটি ইস্যু করে, যা cpanel_uapi-Hook-টি এটি ইনস্টল করে, এবং এর সাথে থাকা cron job-টি এটিকে স্বয়ংক্রিয়ভাবে আপডেট রাখে। একবার সেট আপ হয়ে গেলে, এই বিনামূল্যের HTTPS পরিষেবাটি নিজে থেকেই অবিরাম চলতে থাকে। যারা শুরুতে এই প্রচেষ্টাটুকু করেন, তারা ভবিষ্যতে প্রতিটি ম্যানুয়াল নবায়নের ঝামেলা থেকে নিজেদের বাঁচান – এবং একটিমাত্র কমান্ডের মাধ্যমে একই অ্যাকাউন্টের যেকোনো অতিরিক্ত ডোমেইনেও এই একই সমাধানটি প্রয়োগ করতে পারেন।