এসএসএল শংসাপত্রের সাথে নাম ভিত্তিক ভার্চুয়াল হোস্টিং সহ স্ট্যান্ডেলোন অ্যাপাচি সার্ভার কীভাবে সেটআপ করবেন - পার্ট 4


এলএফসিই ( লিনাক্স ফাউন্ডেশন সার্টিফাইড ইঞ্জিনিয়ার এর জন্য সংক্ষিপ্ত) একজন প্রশিক্ষিত পেশাদার যিনি লিনাক্স সিস্টেমগুলিতে নেটওয়ার্ক পরিষেবাদি ইনস্টল, পরিচালনা ও সমস্যা সমাধানের দক্ষতা অর্জন করেছেন এবং তার দায়িত্বে আছেন সিস্টেম আর্কিটেকচারের নকশা, বাস্তবায়ন এবং চলমান রক্ষণাবেক্ষণ।

এই নিবন্ধে আমরা আপনাকে কীভাবে ওয়েব সামগ্রীতে পরিবেশন করার জন্য অ্যাপাচি কনফিগার করতে হবে এবং স্ব-স্বাক্ষরিত শংসাপত্র সহ নাম-ভিত্তিক ভার্চুয়াল হোস্ট এবং এসএসএল কীভাবে সেট আপ করবেন তা দেখাব।

লিনাক্স ফাউন্ডেশন সার্টিফিকেশন প্রোগ্রাম (এলএফসিই) উপস্থাপন করা হচ্ছে।

দ্রষ্টব্য: এই নিবন্ধটি আপাচি সম্পর্কিত একটি বিস্তৃত গাইড হিসাবে বিবেচিত হবে না, বরং এলএফসিই পরীক্ষার জন্য এই বিষয়টি সম্পর্কে স্ব-অধ্যয়নের জন্য একটি সূচনা পয়েন্ট। যে কারণে আমরা এই টিউটোরিয়ালে অ্যাপাচি এর সাথে লোড ব্যালেন্সিং coveringেকে রাখছি না।

লিনাক্স ফাউন্ডেশন শংসাপত্রটি কঠোরভাবে কর্মক্ষমতা-ভিত্তিক বলে বিবেচনা করে একই কাজগুলি করার জন্য আপনি অন্যান্য উপায়গুলি ইতিমধ্যে জানেন। সুতরাং, যতক্ষণ না আপনি ‘ কাজটি সেরে নিন ’, ততক্ষণ আপনি পরীক্ষায় উত্তীর্ণ হওয়ার সম্ভাবনা ভাল।

অ্যাপাচি ইনস্টল করা এবং শুরু করার বিষয়ে নির্দেশাবলীর জন্য দয়া করে বর্তমান সিরিজের পার্ট 1 দেখুন ("নেটওয়ার্ক পরিষেবাদি ইনস্টল করা এবং বুট এ স্বয়ংক্রিয় স্টার্টআপ কনফিগার করা")।

এখন অবধি, আপনার অ্যাপাচি ওয়েব সার্ভারটি ইনস্টল করা এবং চলমান থাকা উচিত। আপনি নিম্নলিখিত কমান্ড দিয়ে এটি যাচাই করতে পারেন।

# ps -ef | grep -Ei '(apache|httpd)' | grep -v grep

দ্রষ্টব্য: যে উপরের কমান্ডটি চলমান প্রক্রিয়াগুলির তালিকার মধ্যে অ্যাপাচি বা httpd (ওয়েব ডেমনটির সর্বাধিক সাধারণ নাম) উপস্থিত রয়েছে কিনা তা যাচাই করে। যদি অ্যাপাচি চলমান থাকে তবে আপনি নিম্নলিখিতগুলির মতো আউটপুট পাবেন।

অ্যাপাচি ইনস্টলেশন পরীক্ষা করার চূড়ান্ত পদ্ধতি এবং এটি চলছে কিনা তা যাচাই করে একটি ওয়েব ব্রাউজার চালু করছে এবং সার্ভারের আইপিটিতে নির্দেশ করছে। আমাদের নীচের স্ক্রিন বা কমপক্ষে একটি বার্তা উপস্থাপন করা উচিত যা অ্যাপাচি কাজ করছে তা নিশ্চিত করে।

অ্যাপাচি কনফিগার করা হচ্ছে

আপনার বিতরণের উপর নির্ভর করে অ্যাপাচি-র মূল কনফিগারেশন ফাইলটি বিভিন্ন ডিরেক্টরিতে অবস্থিত হতে পারে in

/etc/apache2/apache2.conf 		[For Ubuntu]
/etc/httpd/conf/httpd.conf		[For CentOS]
/etc/apache2/httpd.conf 		[For openSUSE]

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

অ্যাপাচি এর সর্বাধিক প্রাথমিক ব্যবহার হ'ল স্ট্যান্ডলোন সার্ভারে ওয়েব পৃষ্ঠাগুলি পরিবেশন করা যেখানে কোনও ভার্চুয়াল হোস্ট এখনও কনফিগার করা হয়নি। ডকুমেন্টরুট নির্দেশিকা সেই ডিরেক্টরিটি নির্দিষ্ট করে যা থেকে আপাচি ওয়েব পৃষ্ঠাগুলির দস্তাবেজগুলি পরিবেশন করবে।

নোট করুন যে ডিফল্টরূপে, সমস্ত অনুরোধগুলি এই ডিরেক্টরি থেকে নেওয়া হয়, তবে আপনি প্রতীকী লিঙ্কগুলিও ব্যবহার করতে পারেন এবং/অথবা উপকরণগুলি অন্য অবস্থানগুলিতেও নির্দেশ করতে ব্যবহৃত হতে পারে।

এলিয়াস নির্দেশিকার সাথে মিল না থাকলে (যা ডকুমেন্টরুট উল্লিখিত ডিরেক্টরিটির পরিবর্তে স্থানীয় ফাইল সিস্টেমে ডকুমেন্টগুলি সংরক্ষণ করার অনুমতি দেয়) সার্ভারটি অনুরোধ করা ইউআরএল থেকে পাথ সংযোজন করে নথির পাথ তৈরি করতে ডকুমেন্টের রুটে।

উদাহরণস্বরূপ, নিম্নলিখিত ডকুমেন্ট রুট দেওয়া হয়েছে:

যখন ওয়েব ব্রাউজারটি [ সার্ভার আইপি বা হোস্টনাম ] /lfce/tecmint.html এ নির্দেশ করে, সার্ভারটি /var/খুলবে www/html/lfce/tecmint.html (এই ধরণের ফাইল রয়েছে বলে ধরে নেওয়া) এবং ইভেন্টটিকে একটি 200 ( ঠিক আছে ) প্রতিক্রিয়া দিয়ে এর অ্যাক্সেস লগটিতে সংরক্ষণ করুন।

অ্যাক্সেস লগটি সাধারণত অ্যাক্সেস.লগ বা অ্যাক্সেস_লগ এর মতো কোনও প্রতিনিধির নামে /var/log এর ভিতরে পাওয়া যায়। এমনকি আপনি এই লগটি (এবং ত্রুটিযুক্ত লগটিও) একটি উপ-ডিরেক্টরিতে (উদাহরণস্বরূপ, < CentOS এ) খুঁজে পেতে পারেন। অন্যথায়, ব্যর্থ ইভেন্টটি এখনও অ্যাক্সেস লগটিতে লগ করা হবে তবে 404 (পাওয়া যায় না) প্রতিক্রিয়া সহ।

এছাড়াও, ব্যর্থ ইভেন্টগুলি ত্রুটি লগ তে রেকর্ড করা হবে:

অ্যাক্সেস লগ ফর্ম্যাটটি আপনার মূল কনফিগারেশন ফাইলে লগফর্ম্যাট নির্দেশিকা ব্যবহার করে আপনার প্রয়োজন অনুসারে কাস্টমাইজ করা যেতে পারে, তবে আপনি ত্রুটি লগের সাহায্যে এটি করতে পারবেন না

অ্যাক্সেস লগ এর ডিফল্ট ফর্ম্যাটটি নিম্নরূপ:

LogFormat "%h %l %u %t \"%r\" %>s %b" [nickname]

শতকরা চিহ্নের আগে প্রতিটি অক্ষর যেখানে সার্ভারকে নির্দিষ্ট কিছু তথ্যের লগ করতে নির্দেশ করে:

এবং ডাকনাম হ'ল একটি .চ্ছিক নাম যা পুরো কনফিগারেশন স্ট্রিংটিতে আবার প্রবেশ না করেই অন্য লগগুলি কাস্টমাইজ করতে ব্যবহার করা যেতে পারে।

আপনি আরও বিকল্পগুলির জন্য অ্যাপাচি ডক্সে লগফর্ম্যাট নির্দেশিকা [কাস্টম লগ ফর্ম্যাট বিভাগ] উল্লেখ করতে পারেন।

উভয় লগ ফাইল ( অ্যাক্সেস এবং ত্রুটি ) অ্যাপাচি সার্ভারে কী ঘটছে তা এক নজরে দ্রুত বিশ্লেষণের জন্য দুর্দান্ত উত্সকে উপস্থাপন করে। বলা বাহুল্য, সমস্যাগুলির সমাধানের জন্য কোনও সিস্টেম প্রশাসক হলেন তারা প্রথম সরঞ্জাম uses

শেষ অবধি, অন্য একটি গুরুত্বপূর্ণ নির্দেশ হ'ল শোনো , যা সার্ভারকে নির্দিষ্ট পোর্ট বা ঠিকানা/পোর্ট সংমিশ্রণে আগত অনুরোধগুলি গ্রহণ করতে বলে:

যদি কেবল একটি পোর্ট নম্বর সংজ্ঞায়িত করা হয় তবে অ্যাপাচি সমস্ত নেটওয়ার্ক ইন্টারফেসে প্রদত্ত পোর্টটি শুনবে (ওয়াইল্ডকার্ড সাইন * ব্যবহৃত হয় 'সমস্ত নেটওয়ার্ক ইন্টারফেস' নির্দেশ করতে)।

যদি উভয় আইপি ঠিকানা এবং পোর্ট নির্দিষ্ট করা থাকে, তবে অ্যাপাচি প্রদত্ত পোর্ট এবং নেটওয়ার্ক ইন্টারফেসের সংমিশ্রণে শুনবে।

দয়া করে নোট করুন (যেমন আপনি নীচের উদাহরণগুলিতে দেখবেন) যে একাধিক শোনার নির্দেশাবলী একই সাথে একাধিক ঠিকানা এবং পোর্টগুলি শোনার জন্য নির্দিষ্ট করতে ব্যবহৃত হতে পারে। এই বিকল্পটি সার্ভারকে তালিকাভুক্ত ঠিকানা এবং পোর্টগুলির যে কোনও থেকে অনুরোধের প্রতিক্রিয়া জানাতে নির্দেশ দেয়।

নাম ভিত্তিক ভার্চুয়াল হোস্ট সেট আপ করা হচ্ছে

ভার্চুয়াল হোস্টের ধারণাটি একটি পৃথক সাইট (বা ডোমেন) সংজ্ঞায়িত করে যা একই শারীরিক মেশিন দ্বারা পরিবেশন করা হয়। প্রকৃতপক্ষে, একাধিক সাইট/ডোমেনগুলি ভার্চুয়াল হোস্ট হিসাবে একক " রিয়েল " সার্ভারে পরিবেশন করা যেতে পারে। এই প্রক্রিয়াটি শেষ ব্যবহারকারীর কাছে স্বচ্ছ, যার কাছে দেখা যাচ্ছে যে পৃথক সাইটগুলি স্বতন্ত্র ওয়েব সার্ভারগুলির দ্বারা পরিবেশন করা হচ্ছে।

নাম ভিত্তিক ভার্চুয়াল হোস্টিং এইচটিটিপি শিরোনামের অংশ হিসাবে হোস্টনামটি রিপোর্ট করার জন্য ক্লায়েন্টের উপর নির্ভর করতে সার্ভারকে অনুমতি দেয়। সুতরাং, এই কৌশলটি ব্যবহার করে, অনেকগুলি হোস্ট একই আইপি ঠিকানাটি ভাগ করতে পারে।

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

  1. ilovelinux.com - /var/www/html/ilovelinux.com/public_html
  2. linuxrocks.org - /var/www/html/linuxrocks.org/public_html

পৃষ্ঠাগুলি সঠিকভাবে প্রদর্শিত হওয়ার জন্য, আমরা প্রতিটি ভার্চুয়ালহোস্টের ডিরেক্টরি 755 chmod করব:

# chmod -R 755 /var/www/html/ilovelinux.com/public_html
# chmod -R 755 /var/www/html/linuxrocks.org/public_html

এরপরে, প্রতিটি সার্বিক_এইচটিএমএল ডিরেক্টরিতে index.html ফাইল তৈরি করুন:

<html>
  <head>
    <title>www.ilovelinux.com</title>
  </head>
  <body>
    <h1>This is the main page of www.ilovelinux.com</h1>
  </body>
</html>

শেষ অবধি, সেন্টস এবং ওপেনসুএস /etc/httpd/conf/httpd.conf বা এর নীচে নিম্নলিখিত বিভাগটি যুক্ত করুন ইত্যাদি/যথাক্রমে, অ্যাপাচি 2/httpd.conf , বা এটি ইতিমধ্যে উপস্থিত থাকলে এটি পরিবর্তন করুন।

<VirtualHost *:80>
     ServerAdmin [email  
     DocumentRoot /var/www/html/ilovelinux.com/public_html
     ServerName www.ilovelinux.com
     ServerAlias www.ilovelinux.com ilovelinux.com
     ErrorLog /var/www/html/ilovelinux.com/error.log
     LogFormat "%v %l %u %t \"%r\" %>s %b" myvhost
     CustomLog /var/www/html/ilovelinux.com/access.log	myvhost
</VirtualHost>
<VirtualHost *:80>
     ServerAdmin [email  
     DocumentRoot /var/www/html/linuxrocks.org/public_html
     ServerName www.linuxrocks.org
     ServerAlias www.linuxrocks.org linuxrocks.org
     ErrorLog /var/www/html/linuxrocks.org/error.log
     LogFormat "%v %l %u %t \"%r\" %>s %b" myvhost
     CustomLog /var/www/html/linuxrocks.org/access.log	myvhost
</VirtualHost>

দয়া করে নোট করুন << /etc/httpd/conf.d ডিরেক্টরিতে আপনি পৃথক ফাইলগুলিতে প্রতিটি ভার্চুয়াল হোস্ট সংজ্ঞা যুক্ত করতে পারেন। আপনি যদি এটি করতে পছন্দ করেন তবে প্রতিটি কনফিগারেশন ফাইলের নাম অবশ্যই দেওয়া উচিত:

/etc/httpd/conf.d/ilovelinux.com.conf
/etc/httpd/conf.d/linuxrocks.org.conf

অন্য কথায়, আপনাকে সাইট বা ডোমেন নাম << .conf যোগ করতে হবে।

উবুন্টু এ, প্রতিটি স্বতন্ত্র কনফিগারেশন ফাইলটির নাম দেওয়া হয়েছে /etc/apache2/সাইটগুলি উপলভ্য/[সাইটের নাম] .কনফ । এরপরে প্রতিটি সাইট যথাক্রমে a2ensite বা a2dissite কমান্ডের সাহায্যে সক্ষম বা অক্ষম করা হবে।

# a2ensite /etc/apache2/sites-available/ilovelinux.com.conf
# a2dissite /etc/apache2/sites-available/ilovelinux.com.conf
# a2ensite /etc/apache2/sites-available/linuxrocks.org.conf
# a2dissite /etc/apache2/sites-available/linuxrocks.org.conf

a2ensite এবং a2dissite কমান্ডগুলি ভার্চুয়াল হোস্ট কনফিগারেশন ফাইলের লিঙ্ক তৈরি করে এবং এগুলিকে /etc/apache2/সাইট-সক্ষম ডিরেক্টরি

অন্য একটি লিনাক্স বাক্স থেকে উভয় সাইটে ব্রাউজ করতে সক্ষম হতে আপনাকে সেই মেশিনে /ইত্যাদি/হোস্ট ফাইলে নিম্নলিখিত লাইনগুলি যুক্ত করতে হবে যাতে সেই ডোমেনগুলিতে অনুরোধগুলি নির্দিষ্ট আইপিতে পুনর্নির্দেশ করতে পারে ঠিকানা।

[IP address of your web server]	www.ilovelinux.com
[IP address of your web server]	www.linuxrocks.org 

সুরক্ষা ব্যবস্থা হিসাবে, SELinux অ্যাপাচি কে ডিফল্ট/var/লগ/httpd ব্যতীত অন্য কোনও ডিরেক্টরিতে লগ লেখার অনুমতি দেয় না।

আপনি হয় SELinux অক্ষম করতে পারেন, বা সঠিক সুরক্ষা প্রসঙ্গ নির্ধারণ করতে পারেন:

# chcon system_u:object_r:httpd_log_t:s0 /var/www/html/xxxxxx/error.log

যেখানে xxxxxx হল/var/www/html এর ভিতরে ডিরেক্টরি যেখানে আপনি আপনার ভার্চুয়াল হোস্টগুলি সংজ্ঞায়িত করেছেন।

অ্যাপাচি পুনরায় চালু করার পরে উপরের ঠিকানাগুলিতে আপনার নীচের পৃষ্ঠাটি দেখতে হবে:

অ্যাপাচি দিয়ে এসএসএল ইনস্টল করা ও কনফিগার করা

অবশেষে, আমরা অ্যাপাচি ব্যবহার করার জন্য একটি স্বাক্ষরিত শংসাপত্র তৈরি এবং ইনস্টল করব। এই জাতীয় সেটআপটি ছোট পরিবেশে যেমন একটি ব্যক্তিগত ল্যান হিসাবে গ্রহণযোগ্য।

তবে, যদি আপনার সার্ভারটি ইন্টারনেটের মাধ্যমে বাইরের বিশ্বে সামগ্রী প্রকাশ করে, আপনি তার তৃতীয়তা প্রমাণ করার জন্য একটি তৃতীয় পক্ষ দ্বারা স্বাক্ষরিত একটি শংসাপত্র ইনস্টল করতে চাইবেন। যে কোনও উপায়ে, একটি শংসাপত্র আপনাকে আপনার সাইটের থেকে বা আপনার সাইটের মধ্যে সঞ্চারিত তথ্য এনক্রিপ্ট করার অনুমতি দেবে।

CentOS এবং ওপেনসুএস এ আপনাকে মোড_এসএসএল প্যাকেজ ইনস্টল করতে হবে।

# yum update && yum install mod_ssl 		[On CentOS]
# zypper refresh && zypper install mod_ssl	[On openSUSE]

যেখানে উবুন্টু এ আপনাকে অ্যাপাচের জন্য এসএসএল মডিউল সক্ষম করতে হবে।

# a2enmod ssl

নীচের পদক্ষেপগুলি সেন্টোজ পরীক্ষার সার্ভার ব্যবহার করে ব্যাখ্যা করা হয়েছে, তবে অন্যান্য সেট্রিপ্টে আপনার সেটআপটি প্রায় অভিন্ন হওয়া উচিত (যদি আপনি কোনও ধরণের সমস্যা নিয়ে যান তবে মন্তব্যগুলি ব্যবহার করে আপনার প্রশ্নগুলি ছেড়ে যেতে দ্বিধা করবেন না) ফর্ম)।

পদক্ষেপ 1 [ptionচ্ছিক] : আপনার শংসাপত্রগুলি সংরক্ষণ করার জন্য একটি ডিরেক্টরি তৈরি করুন।

# mkdir /etc/httpd/ssl-certs

পদক্ষেপ 2 : আপনার স্ব স্বাক্ষরিত শংসাপত্র এবং কীটি এটি রক্ষা করবে তা তৈরি করুন।

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl-certs/apache.key -out /etc/httpd/ssl-certs/apache.crt

উপরে তালিকাভুক্ত বিকল্পগুলির একটি সংক্ষিপ্ত বিবরণ:

  1. রেখ -X509 নির্দেশ করে যে আমরা একটি x509 শংসাপত্র তৈরি করছি
  2. নোড (কোনও DES) এর অর্থ "কীটি এনক্রিপ্ট করবেন না"
  3. - দিনগুলি 365 শংসাপত্রের জন্য বৈধ হবে কত দিন
  4. -নিউকি আরএসএ: 2048 একটি 2048-বিট আরএসএ কী তৈরি করে
  5. হল আরএসএ কী এর পরম পথ path
  6. - আউট /etc/httpd/ssl-certs/apache.crt শংসাপত্রের পরম পথ

পদক্ষেপ 3 : আপনার নির্বাচিত ভার্চুয়াল হোস্ট কনফিগারেশন ফাইলটি (বা তার আগে << /etc/httpd/conf/httpd.conf এ সম্পর্কিত বিভাগটি খুলুন) এবং নিম্নলিখিত লাইনগুলিতে যুক্ত করুন 443 পোর্টে একটি ভার্চুয়াল হোস্টের ঘোষণা শোনা যাচ্ছে।

SSLEngine on
SSLCertificateFile /etc/httpd/ssl-certs/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl-certs/apache.key

আপনি যোগ করা প্রয়োজন দয়া করে নোট করুন।

NameVirtualHost *:443

উপরে, ঠিক নীচে

NameVirtualHost *:80

উভয় নির্দেশনা সমস্ত নেটওয়ার্ক ইন্টারফেসের 443 এবং 80 পোর্টে শুনতে অ্যাপাচে নির্দেশ দেয়।

নীচের উদাহরণটি /etc/httpd/conf/httpd.conf থেকে নেওয়া হয়েছে:

তারপরে অ্যাপাচি পুনরায় চালু করুন,

# service apache2 restart 			[sysvinit and upstart based systems]
# systemctl restart httpd.service 		[systemd-based systems]

এবং আপনার ব্রাউজারটিকে https://www.ilovelinux.com এ নির্দেশ করুন। আপনাকে নিম্নলিখিত পর্দার সাথে উপস্থাপন করা হবে।

এগিয়ে যান এবং " আমি ঝুঁকিগুলি বুঝতে পারি " এবং " ব্যতিক্রম যুক্ত করুন " এ ক্লিক করুন।

অবশেষে, “ স্থায়ীভাবে এই ব্যতিক্রম ” টি পরীক্ষা করে দেখুন এবং " সুরক্ষা ব্যতিক্রম নিশ্চিত করুন " ক্লিক করুন।

এবং আপনাকে https ব্যবহার করে আপনার হোম পৃষ্ঠায় আপনাকে পুনঃনির্দেশিত করা হবে।

সারসংক্ষেপ

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

আরও পড়ুন

  1. অ্যাপাচি আইপি ভিত্তিক এবং নাম ভিত্তিক ভার্চুয়াল হোস্টিং
  2. অ্যাবাচি ভার্চুয়াল হোস্টগুলি সক্ষম/অক্ষম হোস্ট বিকল্পগুলি
  3. সহ তৈরি করা
  4. "অ্যাপাচি জিইউআই" সরঞ্জামটি ব্যবহার করে "অ্যাপাচি ওয়েব সার্ভার" নিরীক্ষণ করুন