bg-tutorials

উবুন্টু সার্ভারে (Apache) কীভাবে একটি SSL সার্টিফিকেট ইনস্টল করবেন

এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে Ubuntu-তে Apache-এর সাথে একটি SSL সার্টিফিকেট ইনস্টল করবেন

আমরা একটি ভিডিও-ও রেকর্ড করেছি যা আপনাকে সম্পূর্ণ প্রক্রিয়াটি দেখিয়ে দেবে। যদি আপনি টেক্সট সংস্করণ পছন্দ করেন, তাহলে নিচে পড়তে থাকুন।

একটি CSR কোড তৈরি করুন

আমরা CSR (Certificate Signing Request) তৈরি করা থেকে শুরু করব। CSR হলো একটি ডিজিটাল সার্টিফিকেটের জন্য আবেদন করতে একটি সার্টিফিকেট অথরিটির কাছে পাঠানো অনুরোধ। আপনার কাছে দুটি বিকল্প রয়েছে:

আপনার অর্ডারের সময় CSR সার্টিফিকেট অথরিটির কাছে জমা দিন। CA এটি যাচাই করে আপনার SSL সার্টিফিকেট ইস্যু করার পর, নিচে দেওয়া ইনস্টলেশন প্রক্রিয়া চালিয়ে যান।

Ubuntu Server-এ একটি SSL সার্টিফিকেট ইনস্টল করুন

পদক্ষেপ ১: আপনার সার্টিফিকেট ফাইল আপলোড করুন

যাচাইকরণের পর, সার্টিফিকেট অথরিটি আপনাকে ইমেইলের মাধ্যমে সার্টিফিকেট ফাইলগুলো পাঠায়। আর্কাইভটি এক্সট্র্যাক্ট করুন। আপনার কাছে থাকা উচিত:

  • yourdomain.crt, আপনার প্রাথমিক SSL সার্টিফিকেট।
  • yourdomain.ca-bundle, ইন্টারমিডিয়েট সার্টিফিকেটগুলো (CA bundle)।
  • yourdomain.key, CSR-এর সাথে তৈরি করা আপনার প্রাইভেট কী।

সার্টিফিকেট এবং CA bundle-টি /etc/ssl/ ফোল্ডারে আপলোড করুন এবং প্রাইভেট কী-টি /etc/ssl/private/ ফোল্ডারে আপলোড করুন (কী-টি শুধুমাত্র root দ্বারা পাঠযোগ্য রাখুন)। Apache 2.4.8 এবং তার পরবর্তী সংস্করণে (যা প্রতিটি সমর্থিত Ubuntu রিলিজে অন্তর্ভুক্ত), সার্টিফিকেট এবং CA bundle-টিকে একটি সম্পূর্ণ-চেইন ফাইলে সংযুক্ত করুন:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt

পদক্ষেপ ২: SSL মডিউল সক্রিয় করুন এবং আপনার সাইটের কনফিগ খুঁজুন

Apache-এর SSL মডিউল সক্রিয় করুন (এবং headers মডিউল, যা পদক্ষেপ ৩-এ HSTS-এর জন্য ব্যবহৃত হবে):

sudo a2enmod ssl
sudo a2enmod headers

আপনার সাইটের কনফিগারেশন ফাইলটি /etc/apache2/sites-available/ ফোল্ডারে থাকে (সাধারণত yourdomain.conf)। ফাইলটি সেখানে গিয়ে সম্পাদনা করুন। sites-enabled/ ফোল্ডারের ফাইলগুলো কেবল সিমলিংক। যদি সাইটটি এখনো সক্রিয় না থাকে, তবে এটি এর মাধ্যমে সক্রিয় করুন:

sudo a2ensite yourdomain.conf

দ্রষ্টব্য: HTTP (পোর্ট ৮০) এবং HTTPS (পোর্ট ৪৪৩) আলাদা VirtualHost ব্লক থেকে সার্ভ করুন। HTTPS ব্লকেই SSL ডিরেক্টিভগুলো যায়।

পদক্ষেপ ৩: HTTPS VirtualHost কনফিগার করুন

পোর্ট ৪৪৩ VirtualHost সেটআপ করুন। একটি সম্পূর্ণ, আধুনিক ব্লক এমন দেখতে হয়; আপনার ফাইলের সাথে মিলিয়ে পাথগুলো পরিবর্তন করুন:

<VirtualHost *:443>
    ServerName  www.yourdomain.com
    DocumentRoot /var/www/yourdomain

    SSLEngine on

    # Apache 2.4.8+ : certificate + CA bundle in one full-chain file
    SSLCertificateFile    /etc/ssl/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    # Recommended TLS hardening (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # Enable HSTS only after you confirm HTTPS works
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</VirtualHost>
  • SSLCertificateFile: আপনার সম্পূর্ণ-চেইন ফাইল (সার্টিফিকেট + ইন্টারমিডিয়েট)। Apache 2.4.8+ সংস্করণে এটি পুরনো (deprecated) SSLCertificateChainFile-এর পরিবর্তে ব্যবহৃত হয়।
  • SSLCertificateKeyFile: CSR-এর সাথে তৈরি করা আপনার প্রাইভেট কী।

পুরনো Apache (2.4.8-এর চেয়ে পুরনো): সার্টিফিকেট এবং চেইন আলাদা রাখুন এবং SSLCertificateChainFile /etc/ssl/yourdomain.ca-bundle যুক্ত করুন, যা আপনার সার্টিফিকেট ফাইলের দিকে নয়, বরং CA bundle-এর দিকে নির্দেশ করবে।

পদক্ষেপ ৪: HTTP থেকে HTTPS-এ রিডাইরেক্ট করুন

ভিজিটররা যাতে সবসময় সুরক্ষিত সংস্করণে পৌঁছান, সেজন্য একটি পোর্ট ৮০ VirtualHost যুক্ত করুন যা HTTPS-এ রিডাইরেক্ট করে:

<VirtualHost *:80>
    ServerName www.yourdomain.com
    Redirect permanent / https://www.yourdomain.com/
</VirtualHost>

পদক্ষেপ ৫: কনফিগারেশন পরীক্ষা করুন

রিলোড করার আগে সবসময় পরীক্ষা করুন; একটি সিনট্যাক্স ত্রুটি সাইটটিকে অফলাইন করে দিতে পারে:

sudo apache2ctl configtest

আপনার Syntax OK দেখা উচিত। যদি কোনো ত্রুটি পান, তাহলে চালিয়ে যাওয়ার আগে পূর্ববর্তী পদক্ষেপগুলো পুনরায় পরীক্ষা করুন।

পদক্ষেপ ৬: Apache রিলোড করুন

Apache রিলোড করে পরিবর্তনগুলো প্রয়োগ করুন (একটি রিলোড সংযোগ বিচ্ছিন্ন না করেই নতুন কনফিগ সক্রিয় করে):

sudo systemctl reload apache2

অভিনন্দন, আপনার SSL সার্টিফিকেট এখন আপনার Ubuntu সার্ভারে ইনস্টল করা হয়েছে। ফলাফল যাচাই করতে এবং তাৎক্ষণিক স্ট্যাটাস রিপোর্ট পেতে, আমাদের SSL Checker ব্যবহার করুন।

Ubuntu Server-এর জন্য SSL সার্টিফিকেট কোথায় কিনবেন?

SSL Dragon আপনার সমস্ত SSL চাহিদার জন্য একটি সহজ সমাধান। আমরা আমাদের সম্পূর্ণ SSL পণ্যের রেঞ্জে বাজারের সর্বনিম্ন কিছু দাম অফার করি, এবং আমরা শক্তিশালী সুরক্ষা এবং নিবেদিত সহায়তার জন্য শিল্পের সেরা SSL ব্র্যান্ডগুলোর সাথে অংশীদারিত্ব করেছি। আমাদের সকল SSL সার্টিফিকেট Ubuntu সার্ভারের সাথে সামঞ্জস্যপূর্ণ।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

Ubuntu-তে একটি SSL সার্টিফিকেট ইনস্টল করা আছে কিনা তা কীভাবে জানব?

OpenSSL দিয়ে আপনার সাইটে সংযোগ করুন এবং এটি যে সার্টিফিকেট সার্ভ করে তা পড়ুন:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
যদি একটি সার্টিফিকেট ইনস্টল করা থাকে, তাহলে এটি এর ইস্যুকারী এবং বৈধতার তারিখ প্রিন্ট করবে। আপনি sudo apache2ctl -S এর মাধ্যমে Apache-এর সক্রিয় ভার্চুয়াল হোস্টের তালিকাও দেখতে পারেন, অথবা কেবল আপনার সাইট ব্রাউজারে খুলে প্যাডলক চিহ্নটি পরীক্ষা করতে পারেন।

Ubuntu-তে SSL সার্টিফিকেট কোথায় রাখব?

প্রচলিত নিয়ম অনুযায়ী, সার্টিফিকেটগুলো /etc/ssl/certs/ (বা /etc/ssl/) ফোল্ডারে এবং প্রাইভেট কী /etc/ssl/private/ ফোল্ডারে রাখা হয়। এগুলো ডিফল্ট অবস্থান; আপনি অন্য অবস্থান ব্যবহার করতে পারেন যতক্ষণ আপনার VirtualHost সেগুলোর দিকে নির্দেশ করে।

Ubuntu-তে Apache সাইট কনফিগ কোথায় অবস্থিত?

সাইট কনফিগারেশন ফাইলগুলো /etc/apache2/sites-available/ ফোল্ডারে থাকে (উদাহরণস্বরূপ yourdomain.conf), এবং সক্রিয় সাইটগুলো /etc/apache2/sites-enabled/ ফোল্ডারে সিমলিংক করা থাকে। sudo a2ensite yourdomain.conf দিয়ে একটি সাইট সক্রিয় করুন।

Ubuntu-তে সার্টিফিকেট এবং CA bundle একসাথে মার্জ করা প্রয়োজন কি?

Apache 2.4.8 এবং পরবর্তী সংস্করণে (সমস্ত সমর্থিত Ubuntu রিলিজ), হ্যাঁ: আপনার সার্টিফিকেট এবং CA bundle একটি ফাইলে সংযুক্ত করুন এবং SSLCertificateFile-কে সেটির দিকে নির্দেশ করুন। আলাদা SSLCertificateChainFile ডিরেক্টিভটি পুরনো (deprecated) এবং শুধুমাত্র পুরনো Apache সংস্করণে প্রয়োজন হয়।

সংক্ষিপ্ত সারসংক্ষেপ

Apache-এর সাথে Ubuntu-তে একটি SSL সার্টিফিকেট ইনস্টল করার বিষয়টি আসলে আপনার ফাইলগুলো আপলোড করা, mod_ssl সক্রিয় করা, আপনার সম্পূর্ণ-চেইন সার্টিফিকেট দিয়ে HTTPS VirtualHost কনফিগার করা, sudo apache2ctl configtest দিয়ে পরীক্ষা করা এবং Apache রিলোড করার মধ্যেই সীমাবদ্ধ। প্রথমে একটি সার্টিফিকেট প্রয়োজন? আমাদের SSL সার্টিফিকেট ব্রাউজ করুন।

আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!

দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

উড়ন্ত একটি ড্রাগনের একটি বিস্তারিত চিত্র
লিখেছেন

SSL শংসাপত্রে বিশেষজ্ঞ অভিজ্ঞ বিষয়বস্তু লেখক। জটিল সাইবারসিকিউরিটি বিষয়গুলিকে পরিষ্কার, আকর্ষক সামগ্রীতে রূপান্তর করা। প্রভাবশালী বর্ণনার মাধ্যমে ডিজিটাল নিরাপত্তার উন্নতিতে অবদান রাখুন।