यदि आप Plesk पर वेबसाइटों का प्रबंधन कर रहे हैं, तो प्रमाणपत्रों को मैन्युअल रूप से संभालने का कोई कारण नहीं है। सही सेटअप के साथ, आप बाहरी खाता बाइंडिंग (EAB) के साथ ACME प्रोटोकॉल का उपयोग करके SSL प्रमाणपत्रों को जारी करने, नवीनीकरण और स्थापना को स्वचालित कर सकते हैं।

यह मार्गदर्शिका आपको दिखाती है कि ACME.sh का उपयोग करके Plesk (लिनक्स-आधारित) पर ACME SSL प्रमाणपत्र कैसे स्थापित किया जाए, एक हल्का ACME क्लाइंट जो Plesk के साथ सुचारू रूप से काम करता है।
यदि आप साझा होस्टिंग पर हैं, तो हो सकता है कि आप इस विधि का उपयोग करने में सक्षम न हों। अधिकांश साझा परिवेश रूट एक्सेस या कस्टम स्क्रिप्ट की अनुमति नहीं देते हैं। यह मार्गदर्शिका VPS और समर्पित सर्वर के लिए काम करती है जहाँ आप होस्टिंग स्टैक को नियंत्रित करते हैं।
शुरू करने से पहले
चरणों में कूदने से पहले सुनिश्चित करें कि आपके पास निम्नलिखित तैयार हैं:
- Plesk Obsidian के साथ एक सर्वर या VPS
- सर्वर तक SSH का उपयोग। या तो रूट या sudo विशेषाधिकारों वाला उपयोगकर्ता
- A या AAAA रिकॉर्ड के माध्यम से सर्वर की ओर इशारा करने वाला एक लाइव डोमेन
- पोर्ट 80 खुला और सार्वजनिक रूप से पहुंच योग्य (HTTP-01 सत्यापन के लिए आवश्यक)
- एसएसएल प्रदाता से आपके ईएबी क्रेडेंशियल्स (ईएबी केआईडी और ईएबी एचएमएसी कुंजी)
उपयोग करने के लिए ACME समापन बिंदु:
- सेक्टिगो: https://acme.sectigo.com/v2/DV
- डिजीसर्ट: https://acme.digicert.com/v2/acme
चरण 1: Plesk में अपनी वेबसाइट के दस्तावेज़ रूट की जाँच करें
आपको अपनी साइट के रूट फ़ोल्डर के लिए पथ की आवश्यकता होगी ताकि ACME.sh सत्यापन फ़ाइलों को सही ढंग से रख सकें।
- Plesk में लॉग इन करें
- वेबसाइट और डोमेन > yourdomain.com > होस्टिंग सेटिंग्स पर जाएं
- दस्तावेज़ रूट मान की प्रतिलिपि बनाएँ। ऐसा लगता है: /var/www/vhosts/yourdomain.com/httpdocs
- इस पथ को संभाल कर रखें, आप इसे बाद के चरणों में उपयोग करेंगे।
चरण 2: एसएसएच एक्सेस सक्षम करें (यदि आवश्यक हो)
यदि आपकी होस्टिंग योजना में SSH सक्षम नहीं है:
- वेब होस्टिंग एक्सेस yourdomain.com > वेबसाइट्स और डोमेन > पर जाएं
- SSH पर सर्वर तक पहुँच के अंतर्गत, /bin/bash या /usr/bin/bash चुनें
- सेटिंग्स सहेजें
यदि आप एक प्रबंधित/साझा होस्ट पर हैं, तो एसएसएच एक्सेस का अनुरोध करने के लिए समर्थन से संपर्क करें।
चरण 3: SSH के माध्यम से अपने सर्वर से कनेक्ट करें
अपने स्थानीय टर्मिनल से, सर्वर से कनेक्ट करें:
ssh [email protected]
या, यदि गैर-रूट उपयोगकर्ता का उपयोग कर रहे हैं:
ssh [email protected]
चरण 4: ACME.sh स्थापित करें
आधिकारिक इंस्टॉलर चलाएँ:
curl https://get.acme.sh | sh
source ~/.bashrc
फिर यह पुष्टि करने के लिए संस्करण की जाँच करें कि यह स्थापित है:
acme.sh --version
यदि यह विफल हो जाता है, तो सुनिश्चित करें curl और git स्थापित हैं। यदि आवश्यक हो तो आप इंस्टॉल --force को फिर से चला सकते हैं।
चरण 5: EAB के साथ अपना खाता पंजीकृत करें
ACME पंजीकरण एक बार का सेटअप है जो आपके सर्वर को प्रमाणपत्र प्राधिकरण से जोड़ता है, इसलिए भविष्य के प्रमाणपत्र अनुरोधों को स्वचालित रूप से मान्य और संसाधित किया जा सकता है।
यह कमांड आपके अद्वितीय EAB क्रेडेंशियल्स का उपयोग करके आपके ACME खाते को आपके SSL प्रदाता (Sectigo या DigiCert) के साथ पंजीकृत करता है।
acme.sh --register-account \
--server https://acme.sectigo.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]
यहां बताया गया है कि प्रत्येक भाग का क्या अर्थ है:
acme.sh --register-account– ACME खाता पंजीकरण शुरू करता है--server– आपके प्रदाता का ACME URL (Sectigo या DigiCert)--eab-kid– प्रदाता से आपकी EAB कुंजी आईडी--eab-hmac-key– आपकी EAB HMAC गुप्त कुंजी (लंबी स्ट्रिंग)--accountemail– ACME खाते के लिए आपका संपर्क ईमेल
इस आदेश को आपके वास्तविक EAB विवरण और ईमेल पते के साथ अनुकूलित किया जाना चाहिए। इसे वैसे ही कॉपी न करें।
यदि आप प्लेसहोल्डर YOUR_EAB_KIDमें छोड़ते हैं, तो कमांड प्रमाणीकरण त्रुटि के साथ विफल हो जाएगा।
एक बार जब यह सफलतापूर्वक चल जाता है, तो आपका सर्वर अब उस प्रदाता से एसएसएल प्रमाणपत्रों का अनुरोध करने के लिए अधिकृत हो जाता है; भविष्य में फिर से पंजीकरण करने की आवश्यकता नहीं है जब तक कि आप प्रदाता या क्रेडेंशियल नहीं बदलते।
चरण 6: HTTP सत्यापन की तैयारी करें
ACME चुनौती निर्देशिका बनाएँ:
mkdir -p /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge
फिर परीक्षण करें कि यह काम करता है:
echo "ok" > /var/www/vhosts/yourdomain.com/httpdocs/.well-known/acme-challenge/testfile
curl -I http://yourdomain.com/.well-known/acme-challenge/testfile
आपको देखना चाहिए HTTP/1.1 200 OK. यदि नहीं, तो फ़ायरवॉल नियम, पोर्ट 80 एक्सेस या दस्तावेज़ रूट पथ की जाँच करें।
चरण 7: ACME पथ के लिए मजबूर HTTPS को बायपास करें
यदि आपकी साइट सभी ट्रैफ़िक को HTTPS पर रीडायरेक्ट करती है, तो यह HTTP-01 सत्यापन को तब तक तोड़ देगा जब तक कि आप चुनौती फ़ोल्डर को इसे बायपास करने की अनुमति नहीं देते।
यदि आप अपाचे का उपयोग कर रहे हैं (Plesk Linux पर डिफ़ॉल्ट)
दस्तावेज़ रूट में अपनी .htaccess फ़ाइल संपादित करें और इसे शीर्ष पर जोड़ें:
RewriteEngine On
RewriteRule ^.well-known/acme-challenge/ - [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
यदि आप Nginx का उपयोग कर रहे हैं (या Nginx अपाचे का सामना कर रहा है)
Apache .htaccess यहां मदद नहीं करेगा क्योंकि Nginx पहले रीडायरेक्ट को संभालता है। इसके बजाय, आपको Plesk में एक कस्टम Nginx निर्देश जोड़ने की आवश्यकता है:
- वेबसाइट और डोमेन > yourdomain.com > अपाचे और एनजीआईएनएक्स सेटिंग्स पर जाएं
- अतिरिक्त Nginx निर्देशों के लेबल वाले फ़ील्ड का पता लगाएं
- इसे इसमें पेस्ट करें:
location ^~ /.well-known/acme-challenge/ {
root /var/www/vhosts/yourdomain.com/httpdocs;
allow all;
try_files $uri =404;
}
यह Nginx को सीधे चुनौती पथ की सेवा करने के लिए कहता है, अपाचे पर कोई HTTPS रीडायरेक्ट या प्रॉक्सी नहीं करता है। परिवर्तनों को सहेजें और लागू करें।
चरण 8: प्रमाणपत्र जारी करें
अब आप प्रमाण पत्र का अनुरोध कर सकते हैं। यहां Sectigo और दो डोमेन विविधताओं के साथ एक उदाहरण दिया गया है:
acme.sh --issue \
-d yourdomain.com \
-d www.yourdomain.com \
-w /var/www/vhosts/yourdomain.com/httpdocs \
--server https://acme.sectigo.com/v2/DV
आप जितने आवश्यक हो उतने झंडे -d शामिल कर सकते हैं। एक बार प्रमाणपत्र जारी हो जाने के बाद, ACME.sh इस फ़ोल्डर में सब कुछ सहेजता है: /root/.acme.sh/yourdomain.com/
Plesk के लिए आपको जिन दो फ़ाइलों की आवश्यकता होगी वे हैं:
- yourdomain.com.key: यह आपकी निजी कुंजी है
- fullchain.cer: यह आपकी प्रमाणपत्र फ़ाइल है, और इसमें पूरी श्रृंखला (आपका प्रमाणपत्र + CA श्रृंखला) शामिल है
ये वे फ़ाइलें हैं जिन्हें आप Plesk में प्रमाणपत्र स्थापित करने के लिए CLI में अपलोड या उपयोग करेंगे।
चरण 9: UI के माध्यम से Plesk में प्रमाणपत्र आयात करें
- एसएसएल/टीएलएस प्रमाणपत्रों yourdomain.com > वेबसाइटों और डोमेन > पर जाएं
- SSL/TLS प्रमाणपत्र जोड़ें पर क्लिक करें
- प्रमाणपत्र अपलोड करें (fullchain.cer चुनें) और निजी कुंजी (yourdomain.com.key चुनें)। सेव करें पर क्लिक करें
- होस्टिंग सेटिंग्स पर वापस जाएं और एसएसएल/टीएलएस समर्थन अनुभाग के अंतर्गत इस प्रमाणपत्र का चयन करें
- ठीक है या लागू करें पर क्लिक करें
आपका डोमेन अब तृतीय-पक्ष ACME SSL प्रमाणपत्र का उपयोग कर रहा है।
चरण 10: Plesk CLI के माध्यम से आयात को स्वचालित करें (वैकल्पिक, क्रोन के लिए आदर्श)
भविष्य के नवीनीकरण में cert अनुप्रयोग को स्वचालित करने के लिए, CLI का उपयोग करें:
plesk bin certificate -c "acme-yourdomain" \
-domain yourdomain.com \
-cert-file /root/.acme.sh/yourdomain.com/fullchain.cer \
-key-file /root/.acme.sh/yourdomain.com/yourdomain.com.key
plesk bin domain -u yourdomain.com -ssl true -certificate-name "acme-yourdomain"
plesk bin httpdmng --reconfigure-domain yourdomain.com
यदि प्लेस्क कमांड को मान्यता नहीं दी जाती है, तो पूर्ण पथ का प्रयास करें: /usr/sbin/plesk bin …
चरण 11: परिनियोजन स्क्रिप्ट के साथ नवीनीकरण स्वचालित करें
ACME.sh समाप्ति से ~ 30 दिन पहले स्वचालित रूप से प्रमाणपत्र नवीनीकृत करता है। लेकिन हम उन्हें स्वचालित रूप से Plesk पर लागू करने के लिए नवीनीकरण के बाद के हुक में तार करेंगे।
1. परिनियोजन स्क्रिप्ट बनाएं
nano /usr/local/bin/plesk-acme-deploy.sh
निम्न चिपकाएँ:
#!/usr/bin/env bash
set -euo pipefail
DOMAIN="yourdomain.com"
CERT_DIR="/root/.acme.sh/${DOMAIN}"
CERT_NAME="acme-${DOMAIN}"
CERT_FILE="${CERT_DIR}/fullchain.cer"
KEY_FILE="${CERT_DIR}/${DOMAIN}.key"
/usr/sbin/plesk bin certificate -c "${CERT_NAME}" \
-domain "${DOMAIN}" \
-cert-file "${CERT_FILE}" \
-key-file "${KEY_FILE}"
/usr/sbin/plesk bin domain -u "${DOMAIN}" -ssl true -certificate-name "${CERT_NAME}"
/usr/sbin/plesk bin httpdmng --reconfigure-domain "${DOMAIN}"
echo "Plesk deploy complete for ${DOMAIN}"
2. सहेजें और इसे निष्पादन योग्य बनाएं
chmod +x /usr/local/bin/plesk-acme-deploy.sh
3. इसे ACME.sh से लिंक करें
acme.sh --install-cert -d yourdomain.com \
--key-file ~/.acme.sh/yourdomain.com/yourdomain.com.key \
--fullchain-file ~/.acme.sh/yourdomain.com/fullchain.cer \
--reloadcmd "/usr/local/bin/plesk-acme-deploy.sh"
अब से, प्रत्येक नवीनीकरण प्लेस्क पर लागू होगा।
चरण 12: सब कुछ का परीक्षण करें
https://yourdomain.com पर अपनी साइट पर जाएँ. प्रमाणपत्र मान्य होना चाहिए और अपना सीए दिखाना चाहिए।
नवीनीकरण का परीक्षण करने और मैन्युअल रूप से परिनियोजित करने के लिए:
acme.sh --renew -d yourdomain.com --force
फिर लॉग को पूंछ दें:
tail -n 60 ~/.acme.sh/acme.sh.log
आपको अंत में एक सफल नवीनीकरण और “प्लेस्क परिनियोजन पूर्ण” देखना चाहिए।
सामान्य समस्याएं और समस्या निवारण
यहां तक कि सही सेटअप के साथ, चीजें हमेशा पहली कोशिश में सुचारू रूप से नहीं चलती हैं, खासकर डोमेन सत्यापन, रीडायरेक्ट या फ़ाइल पथ के साथ। नीचे सबसे आम समस्याएं दी गई हैं जिनका सामना आपको अपना प्रमाणपत्र जारी करते या नवीनीकृत करते समय करना पड़ सकता है, और उन्हें तेजी से कैसे ठीक किया जाए।
HTTP सत्यापन विफल रहता है (404, टाइमआउट, या टेस्टफ़ाइल नहीं मिली)
इसका मतलब है कि ACME चुनौती फ़ाइल ठीक से परोसी नहीं जा रही है।
- Plesk > होस्टिंग सेटिंग्स में दस्तावेज़ रूट को डबल-चेक करें।
- सुनिश्चित करें कि पोर्ट 80 खुला है और आपके फ़ायरवॉल, होस्टिंग पैनल या क्लाउड प्रदाता द्वारा अवरुद्ध नहीं है।
- यदि आपके पास HTTPS पर रीडायरेक्ट है, तो सुनिश्चित करें कि /.well-known/acme-challenge/ को बाहर रखा गया है जैसा कि पहले दिखाया गया है।
जारी करने के दौरान “अनधिकृत” या “अमान्य प्रतिक्रिया”
ACME सर्वर आपकी चुनौती को सत्यापित नहीं कर सका, संभवतः निम्न में से किसी एक के कारण:
- आपके डोमेन के DNS रिकॉर्ड अभी तक अद्यतन नहीं किए गए हैं (A या AAAA रिकॉर्ड अनुपलब्ध है या अभी भी प्रचार कर रहा है).
- परीक्षण फ़ाइल तक पहुंचने योग्य नहीं थी, बहुत जल्दी हटा दी गई थी, या किसी नियम द्वारा अवरुद्ध कर दी गई थी।
- आप एक सीडीएन या डब्ल्यूएएफ (जैसे क्लाउडफ्लेयर) का उपयोग कर रहे हैं जो HTTP ट्रैफ़िक को रोकता है। अस्थायी रूप से प्रॉक्सी को रोकें या ACME पथ को श्वेतसूची में डालें।
नवीनीकरण के बाद कुछ नहीं होता है
प्रमाणपत्र नवीनीकृत हो जाता है, लेकिन यह Plesk में लागू नहीं होता है।
सुनिश्चित करें कि आपका परिनियोजन स्क्रिप्ट पथ –reloadcmd में सही है।
जांचें कि स्क्रिप्ट चलाकर निष्पादन योग्य है:
chmod +x /usr/local/bin/plesk-acme-deploy.sh
एसीएमई लॉग के अंदर देखें:
tail -n 60 ~/.acme.sh/acme.sh.log
त्रुटियां वहां दिखाई देंगी।
Plesk CLI आयात विफल रहता है
आपकी परिनियोजन स्क्रिप्ट चल सकती है, लेकिन प्रमाणपत्र लागू नहीं होता है.
- यदि plesk कमांड नहीं मिलता है, तो पूर्ण पथ का उपयोग करने का प्रयास करें: /usr/sbin/plesk
- डबल-चेक करें कि .key और .cer फाइलें वास्तव में मौजूद हैं और उनके नाम सही हैं।
- मैन्युअल रूप से एक पुन: कॉन्फ़िगरेशन को बाध्य करने के लिए, चलाएँ:
plesk bin httpdmng --reconfigure-domain yourdomain.com
अंतिम व्रॉड्स
अब आपको अपने Plesk सर्वर पर चलने वाला एक साफ, पूरी तरह से स्वचालित SSL सेटअप मिल गया है। इस बिंदु से आगे, आपका प्रमाणपत्र पृष्ठभूमि में स्वतः नवीनीकृत हो जाएगा, और जब भी आप कोई नया प्रमाणपत्र जारी करेंगे तो स्क्रिप्ट तुरंत Plesk को अपडेट कर देगी। आपने अपने प्रमाणपत्र जीवनचक्र पर पूर्ण नियंत्रण ले लिया है और अपने जीवन को बहुत आसान बना दिया है।
आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!
तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

