এই গাইড ব্যাখ্যা করবে ভার্চুয়াল হোস্ট কী এবং কীভাবে উবুন্টু লিনাক্স মেশিনে Apache ব্যবহার করে সেগুলো সেট আপ করতে হয়।
আপনার সার্ভারের জন্য একক IP অ্যাড্রেস থাকলে এবং আপনি একাধিক ওয়েবসাইট হোস্ট করতে চান, তবে আপনার কয়েকটি অপশন আছে। আপনি হয়रे যেকোনো ওয়েবসাইটকে সাব-ডোমেনসহ সেট আপ করতে পারেন অথবা Apache ব্যবহার করে ভার্চুয়াল হোস্ট সেট আপ করতে পারেন এবং একই মেশিন এবং একক ওয়েব সার্ভার থেকে একাধিক ডোমেন সার্ভ করতে পারেন। অধিকাংশ শেয়ার্ড ওয়েব হোস্টিং অফার করে এমন কোম্পানিগুলো ভার্চুয়াল হোস্ট ব্যবহার করে এই কাজের জন্য। ভার্চুয়াল হোস্ট আপনার কম্পিউটারে একটি লোকাল ওয়েব ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার জন্যও খুব উপকারী। আমি আপনাকে দেখাব কীভাবে উবুন্টু লিনাক্স মেশিনে Apache ব্যবহার করে ভার্চুয়াল হোস্ট সেট আপ করতে হয়।
এই উদাহরণে আমরা আপনার লোকাল মেশিনে দুটি ভার্চুয়াল হোস্ট সেট আপ করব — calvin.dev এবং hobbes.dev। এই দুটোই আপনার ফাইলসিস্টেমের ভিন্ন লোকেশনে পয়েন্ট করবে এবং ভিন্ন সাইট হোস্ট করবে। চলুন Apache এবং এর সাপোর্ট প্যাকেজ ইনস্টল করে শুরু করি। কমান্ড লাইন থেকে, নিচের কমান্ডটি ইস্যু করুন:
# sudo apt-get install apache2-utils apache2-common
এই প্যাকেজগুলো ইতিমধ্যে আপনার কাছে থাকতে পারে। যদি থাকে, উপরের কমান্ড রান করলে আপনাকে বলা হবে। পরবর্তীতে, চেক করুন Apache ঠিকঠাক কাজ করছে কিনা। এটি করতে আপনার মেশিনে একটি ওয়েব ব্রাউজার লঞ্চ করুন এবং url https://localhost-এ যান। আপনি একটি সিম্পল পেজ দেখবেন যা আপনাকে জানাবে যে আপনি Apache ওয়েব সার্ভার রান করছেন। না হলে, ইনস্টলেশনের সাহায্যে জন্য ওয়েব চেক করুন।
এই প্রসেসে কিছু ধাপ জড়িত। এখানে একটি ব্রেকডাউন যা আমরা করতে যাচ্ছি। প্রথম, আমরা Apache-কে দুটি নতুন ভার্চুয়াল হোস্ট সহ কনফিগার করব যেগুলো আমরা সেট আপ করতে চাই। তারপর আমরা এই দুটি নতুন ভার্চুয়াল হোস্টের রুট ডিরেক্টরি তৈরি করব। এরপর আমরা সিস্টেমের /etc/hosts ফাইলে একটি এন্ট্রি যোগ করব এই ভার্চুয়াল হোস্টের ডোমেনগুলো পয়েন্ট করার জন্য। চূড়ান্তে, আমরা এই দুটি ভার্চুয়াল হোস্টের রুট ডিরেক্টরিতে একটি সিম্পল ফাইল তৈরি করব যাতে কোন ডোমেনের সাথে কি অ্যাসোসিয়েটেড সেটি আইডেন্টিফাই করা যায়। তারপর টেস্ট করব।
ওয়েব সার্ভার ইনস্টল এবং কাজ করছে থাকা অবস্থায় আমরা এখন ওয়েব সার্ভার কনফিগারেশনের দিকে যাই। আপনার প্রিয় টেক্সট এডিটরে (আমার vim) একটি নতুন ফাইল /etc/apache2/sites-available/vhosts.conf তৈরি করুন। নিচের টেক্সটটি যোগ করুন:
<VirtualHost *:80>
ServerName calvin.dev
ServerAlias www.calvin.dev
DocumentRoot /var/www/calvin.dev
</VirtualHost><VirtualHost *:80>
ServerName hobbes.dev
ServerAlias www.hobbes.dev
DocumentRoot /var/www/hobbes.dev
</VirtualHost>
ফাইলটি সেভ করুন। এখন কনফিগে উল্লিখিত দুটি ডিরেক্টরি তৈরি করুন:
# sudo mkdir /var/www/calvin.dev
# sudo mkdir /var/www/hobbes.dev
দুই ডোমেইন আপনার hosts ফাইলে যোগ করুন। ফাইল /etc/hosts একটি টেক্সট এডিটরে খুলুন এবং ফাইলের শেষে নিচের লাইনটি যোগ করুন:
127.0.0.1 calvin.dev
127.0.0.1 hobbes.dev
এখন Apache-এ vhosts.conf কনফিগ এক্টিভেট করুন।
# sudo cd /etc/apache2/sites-enabled/
# ln -s ../sites-available/vhosts.conf
আমরা প্রায় সম্পন্ন। শুধু Apache রিস্টার্ট করতে হবে:
# sudo /etc/init.d/apache2 restart
এবং কয়েকটি টেস্ট ফাইল যোগ করুন:
# echo “Hi I’m Calvin” > /var/www/calvin.dev/index.html
# echo “Hi I’m Hobbes” > /var/www/hobbes.dev/index.html
এখন আপনার আঙ্গুলগুলো ক্রস করে রাখুন। জাদু কাজ করার সময়। আপনার ওয়েব ব্রাউজার লঞ্চ করুন এবং url https://calvin.dev-এ যান। এটিতে "Hi I’m Calvin" লেখা থাকা উচিত। এবং তারপর https://hobbes.dev। এটিতে "Hi I’m Hobbes" লেখা থাকা উচিত।
আপনার এখন একটি ওয়ার্কিং সেট অফ ভার্চুয়াল হোস্ট থাকা উচিত। আপনি যত চাই ততগুলো যোগ করতে পারেন। আপনি যদি এটি একটি রিমোট মেশিনে চালাতে চান, আপনি vhosts.conf ফাইলে "*:80"-কে মেশিনের IP অ্যাড্রেস দিয়ে রিপ্লেস করতে পারেন, যেমন "10.2.10.6:80"।