ওয়ার্ডপ্রেস ওয়েবসাইটে ফ্রিতে SSL সার্টিফিকেট সেটআপ করুন

Level 31
সুপ্রিম টিউনার, টেকটিউনস, ঢাকা

আসসালামু আলাইকুম টেকটিউনস কমিউনিটি, কেমন আছেন সবাই? আশা করছি ভাল আছেন। বরাবরেই মত আজকেও চলে এসেছি নতুন টিউন নিয়ে। আজকে আলোচনা করব ওয়ার্ড-প্রেস নিয়ে।

যদিও আপনি Certifying Authority (CA) থেকে SSL সার্টিফিকেট কিনে সেটা ওয়ার্ড-প্রেস ওয়েবসাইটে এড করতে পারেন তারপরেও প্রতি বছর এটা রিনিউ করতে হবে। তো আজকের এই টিউনে আমরা দেখাব কিভাবে ফ্রিতে আপনি ওয়ার্ড-প্রেস ওয়েবসাইটে SSL সার্টিফিকেট এনেভল করতে পারবেন।

কেন ওয়ার্ডপ্রেস ওয়েবসাইটের জন্য SSL সার্টিফিকেট প্রয়োজন

SSL বা Secure Socket Layer সার্টিফিকেট আপনার ওয়ার্ড-প্রেস সাইটের কানেকশনকে সিকিউর করতে সাহায্য করে। এটা হ্যাকারদের এটাক এবং ওয়েবসাইটে অনুপ্রবেশে প্রতিরোধ করতে পারে। যখন ভিজিটর আপনার ওয়েবসাইটে প্রবেশ করবে তখন URL এর বাম পাশে একটি তালা আইকন দেখা যাবে। এর মানে হল কানেকশনটি নিরাপদ।

আপনি Cloudflare এ ফ্রি একাউন্ট খুলে নিজের ওয়েবসাইটে ফ্রিতে SSL এড করে নিতে পারেন। এটি সহজ এবং কয়েক মিনিটের মধ্যেই SSL এনেভল হয়ে যায়। তবে আপনি Let’s Encrypt দিয়েও ফ্রিতে আপনার ওয়েবসাইটে SSL ইন্সটল দিতে পারবেন।

নিচে দুইটি মেথড নিয়েই আলোচনা করা হল,

Cloudflare এর মাধ্যমে SSL ইন্সটল করা

Cloudflare দিয়ে SSL ইন্সটল দেয়া সবচেয়ে সহজ ও নিরাপদ

এখানে আপনার সার্টিফিকেট রিনিউও করতে হবে না, এটা স্বয়ংক্রিয় ভাবে হয়ে যাবে।

১. Cloudflare এ ওয়েবসাইট এড করা

  • প্রথমে Cloudflare এ যান এবং ইমেইল একাউন্ট দিয়ে সাইন আপ করুন
  • একাউন্ট তৈরি করার পর Website এ ক্লিক করুন এবং Add Site এ ট্যাপ করুন
  • ওয়েবসাইটের URL দিন এবং Add Site ক্লিক করুন
  • ফ্রি প্ল্যান সিলেক্ট করুন এবং Continue এ ক্লিক করুন। এটা DNS রেকর্ড চেক করতে থাকবে, কনফার্ম করতে Continue এ ক্লিক করুন
  • Cloudflare এ দেয়া নতুন nameservers কপি করুন এবং ডোমেইনে লগইন করে নতুন Nameservers আপডেট করুন।
  • আপডেট হয়ে গেলে Done এ ক্লিক করুন
  • এটা করার পর কিছু সময়ের জন্য আপনার ওয়েবসাইট ডিসকানেক্ট থাকতে পারে। সর্বোচ্চ দশ মিনিটের মধ্যে ওয়েবসাইট ঠিক হয়ে যাবে।
  • Cloudflare, থেকে DNS এ যান এবং Add Record এ ক্লিক করুন
  • A রেকর্ড সিলেক্ট করুন, নেম ফিল্ডে @ লিখুন এবং আপনার ওয়েবসাইটের আইপি এড্রেস দিন। Proxy Status এনেভল আছে কিনা নিশ্চিত হোন এবং Save এ ক্লিক করুন
  • একই ভাবে একটি CNAME রেকর্ড এড করুন এবং Terget ফিল্ডে “www” দিন।

২. Cloudflare এ SSL একটিভ করা

যখন A এবং CNAME রেকর্ড এড হয়ে যাবে তখন SSL/TLS সেকশনে যান এবং Full অথবা Flexible সিলেক্ট করুন। Full (Strict) সিলেক্ট করবেন না।

এটা আপনার ওয়েবসাইটকে ফোর্স করে HTTPS মুড এ নিয়ে যাবে

তবে WordPress ওয়েবসাইটে এটা এনেভল করতে আপনাকে আরও কয়েকটা ধাপ ফলো করতে হবে।

৩. ওয়ার্ডপ্রেস সাইটে SSL এনেভল করা

আপনার ওয়েবসাইটে SSL এনেভল করতে, প্রথমে এডমিন হিসাবে ওয়েবসাইটে প্রবেশ করুন। নিচের ধাপ গুলো ফলো করুন,

  • Plugins > Add New থেকে
    ReallySimpleSSL প্লাগ-ইনটি ইন্সটল করুন। ইন্সটল হয়ে গেলে একটিভ করুন।
  • Settings > General থেকে WordPress Address (URL) এবং Site Address (URL) আপডেট করুন
  • সেটিংস এর নিচ থেকে SSL এ ক্লিক করুন।
  • Mixed Content Fixer, Enable WordPress 301 redirect এবং Enable 301.htaacess redirect অপশন এনেভল করে দিন
  • Save এ ক্লিক করুন

আপনি ইতিমধ্যে আপনার ওয়েবসাইটে SSL encryption HTTPS কানেকশন এনেভল করে ফেলেছেন। চেক করার জন্য আপনার ওয়েবসাইটে প্রবেশ করুন।

Let’s Encrypt দিয়ে SSL ইন্সটল করা

আপনি SSL এনেভল করতে Cloudflare ব্যবহার না করতে চাইলে Let’s Encrypt ব্যবহার পারে।

আপনি আগে নিশ্চিত হোন আপনার হোস্টিং প্রোভাইডার Let’s Encrypt অফার করে কিনা। অনেক হোস্টিং এটি বিল্ড-ইন অবস্থায় পাওয়া যায়। যদি আপনি আনম্যানেজড হোস্টিং সার্ভার ইউজ করেন এবং হোস্টিং এ বিল্ড-ইন Let’s Encrypt না থাকে তাহলে আপনি এটি ম্যানুয়ালি ইন্সটল করে নিতে পারেন। এনেভল করতে নিচের ধাপ গুলো ফলো করুন,

Putty অথবা Terminal দিয়ে আপনার ওয়েবসার্ভারে এডমিন হিসেবে লগইন করুন। log in to your web

নিচের কমান্ডের মাধ্যমে certbot ইন্সটল করুন

sudo apt install certbot python3-certbot-apache

Nano editor দিয়ে সাইট কনফিগারেশন ফাইল ওপেন করুন এবং আপনার বর্তমান ডোমেইন নেম খুঁজুন

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

চেক এবং নিশ্চিত করুন আপনার ServerName এবং ServerAlias সেখানে আছে কিনা। যদি না থাকে তাহলে এটা এনেভল করুন।

ServerName My_domain;
SeverAlias www.My_domain

Save করুন এবং এডিটর থেকে বের হয়ে আসুন। CTRL+X এ প্রেস করুন এবং Y টাইপ করে এন্টার দিন

চেঞ্জ ভেরিফাই করুন এবং নিচের কমান্ডের মাধ্যমে Apache server রিলোড করুন।

sudo apache2ctl configtest
sudo systemctl reload apache2

Firewall status চেক করুন এবং Apache full প্রোফাইল এনেভল করে দিন

sudo ufw status
sudo ufw allow 'Apache Full'
sudo ufw status

এবার Certbot দিয়ে SSL Certificate পাবার পালা।

sudo certbot -apache

আপনাকে ইমেইল এড্রেস ভ্যালিডেট করতে হবে যেখানে আপনি সার্টিফিকেট রিনিউ এর মেইল পাবেন।

ইমেইল এড্রেস এড করার পর “A” টাইপ করুন এবং টার্মে রাজী আছে বলে এন্টার প্রেস করুন।

কনফার্ম করুন আপনি EFF এর সাথে ইমেইল শেয়ার করছেন এবং বিভিন্ন ইনফরমেশন এবং নিউজ পেতে রাজী আছেন।

এবার Output এ, বিভিন্ন ডোমেইন এবং সাবডোমেইনে সার্টিফিকেট এনেভল করতে ডোমেইনের সংখ্যা লিখুন।

সার্টিফিকেট পাবার পর আপনি সিলেক্ট করতে পারবেন, আপনি ট্রাফিক HTTPS এ রি-ডিরেক্ট করতে চান কিনা। HTTPS সাইটে ওয়েবসাইট রি-ডিরেক্ট করতে ২ টাইপ করুন এন্টার প্রেস করুন।

এটি এখন প্রয়োজনীয় কনফিগারেশন ফাইল আপডেট করবে। আপনার সার্টিফিকেট ৯০ দিন পর্যন্ত এনেভল থাকবে, পর এটিকে আপনি ম্যানুয়ালি এনেভল করতে পারেন, অথবা নিচের কমান্ড দিয়ে অটো রিনিউ করতে পারেন।

sudo systemctl status certbot.timer
sudo certbot renew -dry-ru

যদি কোন Error না আসে তাহলে আপনি ওয়ার্ড-প্রেস ওয়েবসাইটে উপরের মেথড অনুযায়ী ReallySimpleSSL প্লাগইনটি ইন্সটল করে নিতে পারেন।

Cloudflare অথবা Let’s Encrypt কোন মেথড ভাল

যখন HTTPS এর জন্য আপনি Cloudflare ব্যবহার করবেন তখন কানেকশন, আপনার ওয়েব-সার্ভার থেকে Cloudflare পর্যন্ত সিকিউর থাকবে না। যদিও ইউজাররা ওয়েবসাইটে প্রবেশ করলে ওয়ার্নিং পাবে না। এখানে end-to-end এনক্রিপশন না থাকায় আপনার ওয়েবসার্ভারের ডেটা পুরোপুরি সিকিউর থাকবে না। তবে এটার ইন্সটলেশন সহজ।

অন্যদিকে Let’s Encrypt আপনাকে দেবে end-to-end এনক্রিপশন। যেখানে আপনার ওয়েবসার্ভার যথেষ্ট সিকিউর বা নিরাপদ থাকবে। তবে এটা বেশ জটিল পদ্ধতি যেখানে সার্ভারের ফাইল এডিট করতে হয়। আর সার্ভার ফাইল এডিট করা বেশ ঝুঁকিপূর্ণ কাজ, ছোট যেকোনো ভুলে আপনার ওয়েবসাইট ডাউন হয়ে যেতে পারে। আর এক্সপার্ট ছাড়া এটা চেষ্টা না করাই ভাল। যাই এসব ঝামেলায় যেতে না চাইলে Cloudflare ই ভাল। SSL ওয়েবসাইটের নিরাপত্তার জন্য জরুরি কিন্তু এছাড়া আরও নিরাপত্তার জন্য বিভিন্ন প্লাগইন ইন্সটল করতে ভুলবেন না।

শেষ কথা

প্রতিটি ওয়েবসাইটের জন্য SSL সার্টিফিকেট থাকা জরুরী। এটি শুধু মাত্র যে আপনার ওয়েব-সার্ভারকে নিরাপদ রাখে সেটাই নয়, SSL ইন্সটল না থাকলে ইউজাররা ওয়েবসাইটে প্রবেশের আগে ওয়ার্নিং পায়। আর এমন ওয়ার্নিং পেলে ভিজিটদের কাছে আপনার ওয়েবসাইটের একটি নেগেটিভ ইম্প্রেশন তৈরি হবে।

তো কেমন হল আজকের এই টিউন, জানাতে অবশ্যই টিউমেন্ট করুন। পরবর্তী টিউন পর্যন্ত ভাল থাকুন, আল্লাহ হাফেজ।

Level 31

আমি সোহানুর রহমান। সুপ্রিম টিউনার, টেকটিউনস, ঢাকা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 9 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 587 টি টিউন ও 196 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 87 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

কখনো কখনো প্রজাপতির ডানা ঝাপটানোর মত ঘটনা পুরো পৃথিবী বদলে দিতে পারে।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস