WebMaster Zone - यहाँ Webmasters के लिए Tips, Tricks और Guide हिंदी में है |

How To Secure Apache Server With Free Let’s Encrypt SSL (In Hindi)

How To Secure Apache Server With Free Let’s Encrypt SSL (In Hindi)

How To Secure Apache Server With Free Let’s Encrypt SSL (In Hindi):- हेलो दोस्तों, एक बार फिर से स्वागत है आपका हमारे ब्लॉग पर, आज में आपके लिए लेकर आया हूँ एक गाइड जिसके द्वारा आप आसानी से अपने Apache/Apache2 Server को Let’s Encrypt के Free SSL का प्रयोग करके Secure कर सकते है | ये गाइड आपको Search Results में भी बढ़िया Rank या स्थान प्राप्त करने में मदद करेगा, क्योंकि Google ने SSL को एक Rank Signal के तौर पर घोषित किया है | उनके अनुसार जो Website SSL Certificate का प्रयोग करती है उसे बिना SSL वाली Website की तुलना में बेहतर स्थान प्राप्त होगा | इसके पीछे सीधा सा कारण ये है की Google Users और उनकी Security को भी अन्य कारकों के साथ महत्व प्रदान करता है | और SSL Certificate आपकी Website पर Users की Persional जानकारी की सुरक्षा की गारंटी देता है |

इससे पहले मैंने आपको बताया था की आप किस प्रकार Ubuntu 18.10 पर LAMP Stack के साथ WordPress Install कर सकते है, तो अगर आपने उस तरिके या गाइड का प्रयोग करके अपने Server पर Apache2 या WordPress Install की है तो आप इस गाइड का उपयोग करके उसे Let’s Encrypt के फ्री SSL द्वारा Secure कर सकते है | Let’s Encrypt फ्री में SSL सर्टिफिकेट प्रदान करता है, किन्तु ये सर्टिफिकेट केवल तीन माह के लिए ही वैध होते है | आपको इनको तीन माह के पश्चात सर्टिफिकेट फिर से Renew करना होता है | यहाँ पर मैं आपको Let’s Encrypt के फ्री SSL को Set Up करने और तीन माह के पश्चात आटोमेटिक Renew करने की जानकारी दूंगा | आप अपने SSL के लिए Auto-Update चालू कर सकते है और नहीं भी | यह पूरणतय आपकी इच्छा पर निर्भर है |

तो अगर आप भी अपने Apache Server पर Let’s Encrypt का फ्री SSL सर्टिफिकेट डालना या Set Up करना चाहते है तो बस निचे दिए गए क़दमों (Steps) का अनुसरण करें, इससे आप अपने Apache Server पर आसानी से Let’s Encrypt का SSL डाल पाएंगे और अपने वेबसाइट के URL में https का उपयोग कर पाएंगे | तो फिर इन्तजार किस बात का चलिए शुरू करते है |

How To Secure Apache Server With Free Let’s Encrypt SSL (Guide In Hindi)

तो अगर आप भी अपने Nginx Server को Let’s Encrypt SSL Cartificate के द्वारा Secure करना चाहते है तो सबसे पहले आपको अपनी Configuration फाइल में अपने Domain Name को Add करना होगा | अगर आपने मेरी गाइड को इस्तेमाल करके अपने Server पर LEMP Stack Install किया था तो आप निचे दी गयी Command का उपयोग करके अपने Server की Configuration फाइल चेक कर सकते है |

sudo nano /etc/apache2/sites-available/wordpress.conf

वहां पर आपको आपके Server की Configuration फाइल मिल जाएगी और आप उसे देख और Edit भी कर सकते है | अगर आपने मेरी गाइड का उपयोग किया है तो आपको उसमे कुछ भी बदलाव करने की आवश्यकता नहीं है, हमने पहले ही उसमे अपना Domain Name Add किया हुआ है |किन्तु यदि आपने मेरी गाइड का उपयोग नहीं किया है तो आपको अपने Server की Configuration फाइल का पता लगाना होगा | यदि आप इसके बारे में पता नहीं है तो आपको निचे दी गयी कमांड को अपने सर्वर पर रन करना है |

ls -al /etc/apache2/sites-available/

जब आप ये कमांड उपयोग करेंगे तो आपको इस प्रकार का रिजल्ट दिखाई देगा |

-rw-r--r-- 1 root root 2416 Apr 6 2018 Default.conf
-rw-r--r-- 1 root root 1588 Feb 15 11:18 wordpress.conf

इसमें आपको टाइम और डेट पर ध्यान नहीं देना है, आपको बस उस लास्ट डायरेक्टरी पर ध्यान देना है जो आपके सामने लिस्ट हुई है | मेरे रिजल्ट में ये WordPress है, आपके मामले में ये Setup के अनुसार अलग हो सकती है |

अब हम मानकर चलते है की आपके सामने भी WordPress ही आया है तो आप ऊपर दी गयी Command का उपयोग करेंगे और यदि आपके सामने ये अलग आये, मान लिया जैसे की example.com आया है तो आप निचे दी गयी Command के अनुसार इसे अपने रिजल्ट से बदल देंगे जैसे की मैने WordPress को example.com से बदला है |

sudo nano /etc/nginx/sites-available/example.conf

इससे आपके सामने आपके Server की Configuration फाइल खुल जायेगी | अब आपको जांच करनी है की उसमे आपके Domain Name Add किये हूए है या नहीं | अगर नहीं है तो आपको उनको निचे दिए हूए उदाहरण की तरह जोड़ना है |

उदाहरण:-

 
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/wordpress/
ServerName example.com
ServerAlias www.example.com

आपका root आपके सेटअप की अनुसार अलग हो सकता है, इसे ना बदले, आपको सिर्फ ServerName और Server Alias की Value अपने Domain Name के अनुसार बदलनी है | और इसे Ctrl+O दबाकर Save कर ले और उसके बाद Enter दबा दे ताकि फाइल की लोकेशन वही रहे और उसके बाद आप Ctrl+X दबाकर बाहर निकल सकते है Nano एडिटर से।

Commands To Obtain Free Let’s Encrypt SSL/TLS Certificate For Your Apache Server

अब जब हमने सब कुछ Set कर लिया है तो अब हम अपने Server पर SSL Certificate डालना शुरू कर सकते है | अपने Server पर SSL डालने के लिए हमें सबसे पहले इसके Client को हमारे Server पर install करना होगा | ये Client हमें इस Installation Process को Automate करने में मदद करेगा | आपको निचे दी गयी Commands को एक एक करके अपने Server पर Run करना है |

sudo add-apt-repository ppa:certbot/certbot 
sudo apt-get update
sudo apt-get install python-certbot-apache

इससे आपके Server पर Let’s Encrypt का SSL Client व python-certbot-apache दोनों Install हो जाएंगे | इसके बाद आपको निचे दी गयी command को अपने Server पर Run करना है, अपने Domain Name के SSL Certificate Generate करने और Install करने के लिए |

sudo certbot --apache -m admin@example.com -d example.com -d www.example.com 

example.com को अपने Domain Name से बदलना ना भूलें | इस Command को Run करने के बाद आपके Server पर Let’s Encrypt Free SSL Certificate Install होना शुरू हो जायेगा | जैसे ही Installing process शुरू होगी ये सबसे पहले आपको Terms और Conditions को स्वीकार करने को कहेगा | जैसे की निचे दिखाया गया है |

Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v01.api.letsencrypt.org/directory ------------------------------------------------------------------------------- (A)gree/(C)ancel: A 

आपको इसे A दबाकर स्वीकार करना है | जैसे ही आप उनकी Terms और Conditions को स्वीकार करोगे आपके Server पर Let’s Encrypt का Free SSL Install होना शुरू हो जाएगा | Install होने के बाद ये आपसे पूछेगा की क्या आप अपनी Email ID शेयर करना चाहते हो | 
जैसे की निचे दिखाया गया है |

Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about EFF and our work to encrypt the web, protect its users and defend digital rights. 
---------------------------------------------------------------------------(Y)es/(N)o: Y

अगर आप अपनी Email ID शेयर करना चाहते हो तो Y टाइप करके एंटर दबाओ और नहीं करना चाहते तो N टाइप करके एंटर दबाओ |इसके बाद ये आपसे पूछेगा की क्या आप अपने सभी Visitors को https पर Redirect करना चाहते हो | जैसे की निचे दिखाया गया है |

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. 
--------------------------------------------------------------------------- 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration.
--------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

तब आपको 2 टाइप करके Enter दबाना है ताकि आपका सारा ट्रैफिक https पर Redirect हो जाये | आप दोबारा अपनी Configuration में जाकर इस बदलाव को Check कर सकते है |आपको वहां पर निचे दिया हुआ Code आपकी Configuration फाइल में जुड़ा हुआ मिलेगा |

RewriteEngine on 
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

इसके अतिरिक्त ये आपके domain Name के लिए भी वहां पर एक अलग Configuration फाइल बना देगा | जिसकी location निचे दी गयी है |

/etc/apache2/sites-available/example.com-le-ssl.conf 

आप कोई भी Editior उपयोग करके इस फाइल को खोलकर देख सकते है | आपको वहां पर कुछ ऐसी Coding दिखाई देगी |

<IfModule mod_ssl.c> 
<VirtualHost *:443>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/wordpress/
ServerName example.com
ServerAlias www.example.com

<Directory /var/www/html/wordpress/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

तो ये सब प्रमाणित करता है की Let’s Encrypt Free SSL Certificate आपके Apache Server पर सफलतापूर्वक Install और Setup हो चूका है और सही प्रकार से कार्य कर रहा है |

अब जैसा की मैने आपको पहले ही बताया था की ये SSL Certificate केवल 3 माह के लिए ही वैध है | अगर आप इसे Manually Renew करना चाहते है तो आपको निचे दी गयी Command को Run करना है जब आपका Certificate Expire होने वाला हो |

sudo certbot renew --dry-run 

मगर यदि आप चाहते है की आपका Certificate अपने आप Renew हो जाये तो आपको निचे दी गयी Command आपके Server पर Run करनी है, ताकि हम एक Corn Job जोड़ सके जो Certificate के Expire होने से पहले उसको अपने आप Renew कर दे |

sudo crontab -e 

उसके बाद ये आपको अपना मनपसंद Editor चुनने को कहेगा | आपको अपना मनपसंद Editor का चुनाव करके आपको निचे दी गयी लाइन वहां डालनी है |

0 1 * * * /usr/bin/certbot renew & > /dev/null 

इसके बाद ये Corn Job आपके Certificate को Expire होने से 30 दिन पहले ही Renew कर देगा |

तो ये थी सम्पूर्ण जानकारी How To Secure Apache Server With Free Let’s Encrypt SSL के बारे में | अगर आपको इस गाइड को उपयोग करते वक़त कोई भी समस्या आती है तो उसे कमेंट करके हमें जरूर बताएं | हम आपकी जल्द से जल्द मदद करने का प्रयास करेंगे |

अगर आपको How To Secure Apache Server With Free Let’s Encrypt SSL के बारे में हमारी ये गाइड पसंद आयी है तो इसे अपने दोस्तों के साथ जरूर शेयर करें और ऐसी ही और जानकारी अपने ईमेल के इनबॉक्स में प्राप्त करने के लिए ईमेल न्यूज़लेटर जरूर सब्सक्राइब करें |

Tags
Show More

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
Close