টপিকঃ উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা
প্রথমেই বলে নেই আমি খুবই অজ্ঞ, এইসব একদমই বুঝি না, যতোটুকু বুঝি তা থেকেই এটা লিখেছি। ভুল হলে ভুলগুলো ধরিয়ে দিবেন
প্রথমেই আসুন যাদের ল্যাম্প সার্ভার নেই তাদের জন্য নিচের কোডটি ট্রারমিনালে লিখে ইন্টার দিন
sudo apt-get install lamp-server^
কিছুক্ষন পর পাসওয়ার্ড চাবে, যে পাসওয়ার্ড দিতে চান তা দিয়ে নিশ্চিন্তে বসে থাকুন। সবকিছু কম্পিলিট হয়ে গেলে ব্রাউজারে localhost লিখে এন্ডার দিন, সবকিছু ঠিক ঠাক থাকলে নিচের মতো পেজ ওপেন হবে
এবার আসেন পিএইচপি ঠিক মতো সেটাপ হয়েছে কিনা তা টেস্ট করবার জন্য নিচের কোডটি লিখে এন্টার দিন
sudo gedit /var/www/html/info.php
টেক্সএডিটর ওপেন হবে সেখানে
<?php
phpinfo();
?>
লিখে সেভ করে ফাইলটি বন্ধ করে ব্রাউজারে এড্রেস বারে লিখেন-
http://localhost/info.php
যদি সবকিছু ঠিক ঠাক থাকে তাহলে পিএইচপি ইনফোর পেজ দেখাবে ব্রাউজারে, নিচের মতো
এবার যদি পিএইচপি মাই এডমিন সেটাপ করতে চান তাহলে নিচের কোডটি লিখুন এবং ইন্টার চাপুন
sudo apt-get install phpmyadmin
Apache2 সিলেট করে ইনটার চাপুর, পাসওয়ার্ড চাইবে, পাসওয়ার্ড দিন তাহলেই সেটাপ হয়ে যাবে। প্রথমবার মাইএন্সকিউএল এর পাসওয়ার্ড চাবে তারপর যে পাসওয়ার্ড দিয়ে পিএইচপিমাইএডমিন লগিন করবেন তার পাসওয়ার্ড দুইবার চাবে।
এবার কনফিগার করতে হবে। এ জন্য ট্রারমিনালে নিচের কোডটি দিয়ে এন্টার দিন
sudo gedit /etc/apache2/apache2.conf
যে ফাইলটি ওপেন হবে তার মাঝে নিচের কোডটি এড করে দিন
Include /etc/phpmyadmin/apache.conf
এবার এপাচি সার্ভার রিস্টার্ট দিতে নিচের কোডটি ট্রারমিনালে লিখে এন্টার দিন
sudo service apache2 restart
এইতো গেল ল্যাম্প সার্ভার সেটাপ করা। এবার আসেন Virtual Hosts কিভাবে সেটাপ করবেন তা দেখে নেই।
উদাহরন স্বরুপ /var/www ডিরেক্টরীতে দুটি ফোল্ডার ক্রিয়েট করবো, আপনারা যে নামে চাবেন তা দিয়ে ক্রিয়েট করুন। আমি উদাহরন স্বরুপ example.com এবং test.com ক্রিয়েট করছি এবং এর ভিতরে থাকবে পাবলিক ফোল্ডার যা একসেস করা হবে (কি সহজ জিনিস বুঝাতে পারছি না, আমার লিখে বুঝানোর ক্ষমতা শূর্ণ্যের কোঠায় চলে এসেছে )
দুটো ফোল্ডারের সাথে সাব ফোল্ডার ক্রিয়েট করাবর জন্য টারমিনালে নিচের কোডটি লিখে এন্টার চাপুন:
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
ফোল্ডারগুলোর পারমিশন সেট করুন-
sudo chown -R $USER:$USER /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/test.com/public_html
এখন ধরেন ব্রাউজারে example.com লিখলে example.com/public_html ডিরেক্টরির ফাইল শো হবে এবং যদি test.com লিখি তাহলে test.com/public_html এর ফাইল শো করবে। এজন্য আসুন দুটো পাবলিক ডিরেক্টরীতে দুটো html index ফাইল ক্রিয়েট করি বুঝবার সুবিধার্থ যে আসলেই একসেস করছে কিনা। index.html ফাইল ক্রিয়েট করবার জন্য নিচের কোডটি ট্রারমিনালে লিখুন
gedit /var/www/example.com/public_html/index.html
আমাদের ইনডেক্ট ফাইলটি ওপেন হবে তার মাঝে নিচের কোডটি লিখে সেভ করে ফাইলটি ক্লোজ করুন
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
তাহলে আমাদের example.com/public_html/index.html ডিরেক্টরিতে একটি ইনডেক্ট ফাইল ক্রিয়েট হয়ে গেল। এই ফাইলটিকেই কপি করে test.com/public_html ফোল্ডারে রেখে ভিতরের লেখা পরিবর্তন করে দিলেই হবে। কপি করবার জন্য ট্রারমিনালে লিখুন-
cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
এবার কপি করা ফাইলটি এডিট করবার জন্য ট্রারমিনালে লিখুন-
gedit /var/www/test.com/public_html/index.html
এবার ওপেন করা ফাইলটির সব কিছু মুছে নিচের কোডটি কপি করে পেষ্ট করুন-
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body>
<h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
এবার নতুন ভারচুয়াল হোস্ট ক্রিয়েট করার পালা। এপাচিতে ডিফল্ট ভারচুয়াল হোস্ট ফাইল এর নাম হচ্ছে 000-default.conf । আমরা এই ফাইলটাকেই কপি করে নতুন করে কনফিগার করে নেব। নিচের কোডটি ট্রারমিনালে লিখুন-
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
এ দিয়ে বুঝানো হচ্ছে 000-default.conf ফাইলটি কপি করে একই ডিরেক্টরীতে example.com.conf নামে রাখার জন্য
এবার example.com.conf ওপেন করে কনফিগার করবার জন্য নিচের কোডটি লিখুন
sudo gedit /etc/apache2/sites-available/example.com.conf
সবকিছু মুছে দিয়ে নিচের কোডটি কপি করে পেষ্ট করে দিন-
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
এখানে বুঝানো হয়েছে- আমাদের সার্ভার নেম হচ্ছে example.com । আর এই সাভারের ফাইল ডিরেক্টরী হচ্ছে /var/www/example.com/public_html । অথ্যা+খন্ডত (লিনাক্সে খন্ডত খুজে পাচ্ছি না ) ব্রাউজারে যদি example.com লিখে তাহলে /var/www/example.com/public_html ডিরেক্টরীর ফাইল একসেস করতে পারবে।
ঠিক এমন ভাবে test.com এর জন্য একই পদক্ষেপ নিচ। নিচের কোডগুলো ট্রারমিনালে লিখুন-
sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
এবার এডিট করবার জন্য নিচের কোডটি লিখুন-
sudo gedit /etc/apache2/sites-available/test.com.conf
ফাইলটির সবকিছু মুছে নিচের কোডগুলো কপি করে পেষ্ট করে দিন-
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
এখন আমাদের নতুন ভারচুয়াল হোস্টগুলো ইনেবল করতে হবে। এ জন্য নিচের কোডটি কপি করে ট্রারমিনালে পেষ্ট করুন-
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
এবার এপাচার রিস্টার্ট দিন-
sudo service apache2 restart
এবার DNS সেট করতে হবে। এজন্য ট্রারমিনালে নিচের কোডটি লিখুন এবং ইন্টার প্রেস করুন
sudo gedit/etc/hosts
ফাইলটির নিচে নিম্মের মতো আইপি বসিয়ে দিন
127.0.0.1 localhost
127.0.1.1 guest-desktop
127.0.0.1 example.com
127.0.0.1 test.com
লোকালহোস্ট আর গেস্ট আইপি ফাইলটিতে আগে থেকেই থাকবার কথা। আপনি শুধু তার নিচে আপনার নতুন দুটো ডোমিং এর আইপি বসিয়ে দিবেন তাহলেই হলো
সবকিছু ঠিক ঠাক মতো হলে এবার example.com এবং test.com ব্রাউজারে লিখলে কাজ করবার কথা।
নোট: নিজেই বুঝতে পারতেছি ঠিক মতো গুছিয়ে লিখতে পারি নাই, এ জন্য আন্তরিক ভাবে দু:খিত