हिन्दी (Hindi)

AlmaLinux 9 पर Apache के लिए मुफ़्त Let's Encrypt SSL

3 min
VPS/VDS होस्टिंग

ब्राउज़र और सर्च इंजन HTTPS की अपेक्षा करते हैं, और Let's Encrypt सर्टिफ़िकेट मुफ़्त देता है। AlmaLinux 9 वाले VPS Linux Infrawire पर Certbot सर्टिफ़िकेट ले सकता है, Apache कॉन्फ़िगरेशन बदल सकता है और उसे खुद रिन्यू कर सकता है। यही चरण Rocky Linux 9 पर भी लागू होते हैं।

📋 पूर्व-आवश्यकताएँ

  • root या sudo एक्सेस वाला AlmaLinux 9 VPS (IP और पासवर्ड आपके ग्राहक क्षेत्र में)।
  • एक डोमेन, example.com, जिसका A रिकॉर्ड (और IPv6 के लिए AAAA) VPS_IP की ओर इशारा करता हो। पहले DNS प्रचार का इंतज़ार करें।
  • Apache (httpd) जो साइट को पोर्ट 80 पर HTTP से परोस रहा हो।

1. Apache इंस्टॉल करें और फ़ायरवॉल खोलें

अगर Apache इंस्टॉल नहीं है तो उसे इंस्टॉल करके शुरू करें। फिर firewalld में HTTP और HTTPS खोलें; Let's Encrypt सत्यापन के लिए पोर्ट 80 ज़रूरी है।

Bash
dnf install -y httpd systemctl enable --now httpd firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload firewall-cmd --list-services

2. अपने डोमेन के लिए वर्चुअल होस्ट बनाएँ

Certbot आपके डोमेन से मेल खाता ServerName ढूँढता है, इसलिए एक अलग वर्चुअल होस्ट बनाएँ।

Bash
mkdir -p /var/www/example.com/public_html echo "Hello" > /var/www/example.com/public_html/index.html

/etc/httpd/conf.d/example.com.conf बनाएँ:

Apache
1<VirtualHost *:80> 2 ServerName example.com 3 ServerAlias www.example.com 4 DocumentRoot /var/www/example.com/public_html 5</VirtualHost>

सिंटैक्स जाँचें और रीलोड करें:

Bash
apachectl configtest systemctl reload httpd

3. Certbot और mod_ssl इंस्टॉल करें

Certbot EPEL रिपॉज़िटरी से आता है। mod_ssl Apache का TLS मॉड्यूल और वह डिफ़ॉल्ट सर्टिफ़िकेट देता है जिसकी httpd को पोर्ट 443 पर सुनने के लिए ज़रूरत होती है।

Bash
dnf install -y epel-release dnf install -y certbot python3-certbot-apache mod_ssl

4. सर्टिफ़िकेट माँगें

Apache प्लगइन के साथ Certbot चलाएँ। यह HTTP से डोमेन सत्यापित करता है, नया *-le-ssl.conf वर्चुअल होस्ट लिखता है और HTTP से HTTPS रीडायरेक्ट जोड़ सकता है।

Bash
certbot --apache -d example.com -d www.example.com

सही ईमेल पता दें (समाप्ति की चेतावनी के लिए), शर्तें स्वीकार करें और पूछे जाने पर रीडायरेक्ट विकल्प चुनें। -d से दिया गया हर नाम इसी सर्वर पर रिज़ॉल्व होना चाहिए, वरना सत्यापन विफल होगा।

अगर SELinux enforcing मोड में है (डिफ़ॉल्ट), तो मानक सेटअप के लिए कुछ विशेष नहीं चाहिए। किसी त्रुटि से बचने के लिए उसे बंद न करें।

5. ऑटोमैटिक रिन्यूअल जाँचें

Let's Encrypt सर्टिफ़िकेट 90 दिन चलते हैं। AlmaLinux 9 पर पैकेज एक systemd टाइमर इंस्टॉल करता है जो दिन में दो बार चलता है और केवल समाप्ति के करीब वाले सर्टिफ़िकेट रिन्यू करता है।

Bash
systemctl list-timers | grep certbot systemctl status certbot-renew.timer

अगर टाइमर सूची में नहीं है तो उसे चालू करें:

Bash
systemctl enable --now certbot-renew.timer

असली सर्टिफ़िकेट को छुए बिना रिन्यूअल का अनुकरण करें:

Bash
certbot renew --dry-run

आख़िरी लाइन में बताया जाना चाहिए कि सभी अनुकरणित रिन्यूअल सफल रहे। असली रिन्यूअल के बाद Apache अपने-आप रीलोड हो जाता है।

जाँच

Bash
certbot certificates curl -I https://example.com curl -I http://example.com

पहला कमांड डोमेन और समाप्ति तिथि सूचीबद्ध करता है। HTTPS अनुरोध 200 लौटाए और HTTP अनुरोध HTTPS पते पर 301 से जवाब दे। ब्राउज़र में ताला Let's Encrypt द्वारा जारी मान्य सर्टिफ़िकेट दिखाए। पूरी चेन देखने के लिए openssl s_client -connect example.com:443 -servername example.com चला सकते हैं।

समस्या निवारण

  • सत्यापन में चुनौती विफल या टाइमआउट: DNS अभी सर्वर की ओर नहीं है या पोर्ट 80 बंद है। dig +short example.com, firewall-cmd --list-services और VPS के आगे लगे फ़ायरवॉल जाँचें।
  • Certbot को मेल खाता वर्चुअल होस्ट नहीं मिलता: /etc/httpd/conf.d/ में ServerName या ServerAlias आपके दिए डोमेन से नहीं मिलता। ठीक करें, apachectl configtest चलाएँ और फिर कोशिश करें। आप certbot certonly --apache इस्तेमाल करके पाथ खुद भी सेट कर सकते हैं।
  • बहुत ज़्यादा सर्टिफ़िकेट या विफल सत्यापन (रेट लिमिट): Let's Encrypt बार-बार की कोशिशें सीमित करता है। पहले certbot --apache --dry-run से जाँचें और दोबारा कोशिश से पहले रुकें।
  • इंस्टॉल के बाद 443 पर साइट नहीं खुलती: firewalld में HTTPS खुला नहीं है या httpd रीलोड नहीं हुआ। firewall-cmd --permanent --add-service=https, firewall-cmd --reload और systemctl restart httpd चलाएँ।

🔐 AlmaLinux 9 पर आपकी Apache साइट अब HTTPS परोसती है और अपना सर्टिफ़िकेट खुद रिन्यू करती है।

नवीनतम ऑफ़र, छूट और विशेष प्रोमोशन से अपडेट रहें।

प्रोमोशन देखें

हम cookies का उपयोग करते हैं

हम अपनी साइट पर आपके अनुभव को बेहतर बनाने के लिए एनालिटिक्स cookies का उपयोग करते हैं। कोई भी डेटा तीसरे पक्ष को नहीं बेचा जाता है। हमारे बारे में और जानें गोपनीयता नीति.