CPanel-এর সাথে কিছু শেয়ার করা হোস্টিং প্যাকেজ অটোএসএসএল অফার করে না বা শুধুমাত্র উচ্চ হারে অফার করে না। ফলাফল: আপনি cPanel ইন্টারফেসের মাধ্যমে একটি বিনামূল্যে লেটস এনক্রিপ্ট সার্টিফিকেট ইস্যু করতে পারবেন না, এবং সমস্ত ডোমেন একটি স্ব-স্বাক্ষরিত শংসাপত্রে আটকে আছে। ব্রাউজার পৃষ্ঠাটিকে "নিরাপদ নয়" হিসাবে প্রদর্শন করে। উপায়: 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-এর মাধ্যমে উপযুক্ত vHost-এ শংসাপত্র লেখে। ডিপ্লোয় সেটিং সংরক্ষিত হয়েছে - এখন থেকে ক্রন রিনিউ করে এবং মেয়াদ শেষ হওয়ার আগে সবকিছু স্বাধীনভাবে ইনস্টল করে। ইস্যুকারী হল "লেটস এনক্রিপ্ট" এবং মেয়াদ শেষ হওয়ার তারিখ ভবিষ্যতে প্রায় 90 দিন। যদি পুরানো, স্ব-স্বাক্ষরিত শংসাপত্র পরিবর্তে উপস্থিত হয়, ব্রাউজারে একটি হার্ড রিলোড সাধারণত সাহায্য করে - পূর্ববর্তী শংসাপত্রটি অস্থায়ীভাবে সংরক্ষণ করা যেতে পারে।
কিছু হোস্ট তাদের নিজস্ব সিপ্যানেল হুক চালায়। install_ssl এবং এর উত্তরে এইরকম কিছু বলে adminbin Cpanel/hooks2/...: exit 255. acme.sh এখনও রিপোর্ট করে "সফলভাবে স্থাপন করা হয়েছে" - এবং এটি সঠিক। এই ক্ষেত্রে, আসল ইনস্টলেশনের কারণে নয়, পরবর্তী পদক্ষেপের (যেমন হোস্ট থেকে একটি অভ্যন্তরীণ বিজ্ঞপ্তি বা সিঙ্ক কাজ) এর কারণে হুক ব্যর্থ হয়।
উমলাউটযুক্ত ডোমেইনগুলির জন্য, acme.sh সার্টিফিকেটটি অভ্যন্তরীণভাবে পুনিকোড ফর্মে সংরক্ষণ করে (xn--…), যখন হুকের অটো-মেচার ইউনিকোড ফর্মের সাথে তুলনা করে। ফলাফল: "0টির মধ্যে 0টিতে স্থাপন করা হয়েছে" - কিছুই ইনস্টল করা নেই৷ জটিল বিষয় হল acme.sh এখানে "সফল" রিপোর্ট করে, তাই ত্রুটিটি সহজেই উপেক্ষা করা যায়। সমাধান: Punycode ডোমেনের সাথে সরাসরি কাজ করুন এবং অটো মোড বন্ধ করুন:
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 পরিষেবাটি নিজে থেকেই অবিরাম চলতে থাকে। যারা শুরুতে এই প্রচেষ্টাটুকু করেন, তারা ভবিষ্যতে প্রতিটি ম্যানুয়াল নবায়নের ঝামেলা থেকে নিজেদের বাঁচান – এবং একটিমাত্র কমান্ডের মাধ্যমে একই অ্যাকাউন্টের যেকোনো অতিরিক্ত ডোমেইনেও এই একই সমাধানটি প্রয়োগ করতে পারেন।