সর্বশেষ সম্পাদনা করেছেন পলাশ মাহমুদ (১২-০৮-২০১৪ ২২:১৯)

টপিকঃ উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

প্রথমেই বলে নেই আমি খুবই অজ্ঞ, এইসব একদমই বুঝি না, যতোটুকু বুঝি তা থেকেই এটা লিখেছি। ভুল হলে ভুলগুলো ধরিয়ে দিবেন  big_smile

প্রথমেই আসুন যাদের ল্যাম্প সার্ভার নেই তাদের জন্য নিচের কোডটি ট্রারমিনালে লিখে ইন্টার দিন  big_smile

sudo apt-get install lamp-server^

কিছুক্ষন পর পাসওয়ার্ড চাবে, যে পাসওয়ার্ড দিতে চান তা দিয়ে নিশ্চিন্তে বসে থাকুন। সবকিছু কম্পিলিট হয়ে গেলে ব্রাউজারে localhost লিখে এন্ডার দিন, সবকিছু ঠিক ঠাক থাকলে নিচের মতো পেজ ওপেন হবে

https://assets.digitalocean.com/articles/lamp_1404/default_apache.png

এবার আসেন পিএইচপি ঠিক মতো সেটাপ হয়েছে কিনা তা টেস্ট করবার জন্য নিচের কোডটি লিখে এন্টার দিন

sudo gedit /var/www/html/info.php

টেক্সএডিটর ওপেন হবে সেখানে

<?php
phpinfo();
?>

লিখে সেভ করে ফাইলটি বন্ধ করে ব্রাউজারে এড্রেস বারে লিখেন-

http://localhost/info.php

যদি সবকিছু ঠিক ঠাক থাকে তাহলে পিএইচপি ইনফোর পেজ দেখাবে ব্রাউজারে, নিচের মতো

https://assets.digitalocean.com/articles/lamp_1404/default_php.png

এবার যদি পিএইচপি মাই এডমিন সেটাপ করতে চান তাহলে নিচের কোডটি লিখুন এবং ইন্টার চাপুন

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 ক্রিয়েট করছি এবং এর ভিতরে থাকবে পাবলিক ফোল্ডার যা একসেস করা হবে (কি সহজ জিনিস বুঝাতে পারছি না, আমার লিখে বুঝানোর ক্ষমতা শূর্ণ্যের কোঠায় চলে এসেছে  sad )

দুটো ফোল্ডারের সাথে সাব ফোল্ডার ক্রিয়েট করাবর জন্য টারমিনালে নিচের কোডটি লিখে এন্টার চাপুন:

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 নামে রাখার জন্য  big_smile

এবার 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 । অথ্যা+খন্ডত (লিনাক্সে খন্ডত খুজে পাচ্ছি না  tongue) ব্রাউজারে যদি 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

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

সবকিছু ঠিক ঠাক মতো হলে এবার example.com এবং test.com ব্রাউজারে লিখলে কাজ করবার কথা।


নোট: নিজেই বুঝতে পারতেছি ঠিক মতো গুছিয়ে লিখতে পারি নাই, এ জন্য আন্তরিক ভাবে দু:খিত  dontsee

আমাকে কোথাও পাবেন না।

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

একটা স্টেপ সম্ভবত মিস হয়ে গেছে, DNS হ্যান্ডেলিংয়ের ব্যাপারটা। example.com/test.com কে কিভাবে পিসিতে পয়েন্ট করবেন, সেটা।

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

বাবর লিখেছেন:

একটা স্টেপ সম্ভবত মিস হয়ে গেছে, DNS হ্যান্ডেলিংয়ের ব্যাপারটা। example.com/test.com কে কিভাবে পিসিতে পয়েন্ট করবেন, সেটা।

ধন্যবাদ দাদা, সম্পাদন করে দিলাম  big_smile

আমাকে কোথাও পাবেন না।

সর্বশেষ সম্পাদনা করেছেন invarbrass (১৩-০৮-২০১৪ ০৯:৪৩)

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

/etc/hosts এডিট করার চাইতে আরো সহজ পদ্ধতি আছে। একসাথে অসংখ্য প্রযেক্ট নিয়ে যারা কাজ করেন, তাদের জন্য বারবার hosts ফাইলে ভার্চুয়াল ডোমেন এ্যাড করাটা বিরক্তিকর। dnsmasq দিয়ে এক ঝটকায় এসব ঝামেলা এড়ানো যায়।

সিস্টেমে dnsmasq ইনস্টল করুনঃ

$[apt-get/yum/brew] install dnsmasq

লিনাক্সে /etc/resolv.conf ফাইলটা এডিট করে নীচের লাইনটা সবার উপরে দিন যেন এখন থেকে সমস্ত ডিএনএস কুয়েরী লোকাল dnsmasq দিয়ে রিজলভ হয়ঃ

nameserver 127.0.0.1

ম্যাকিণ্টশে dnsmasq সেটাপ করা আরেকটু ইনভল্ভড প্রসেস, গুগল করে স্টেপসগুলো জেনে নিন।

এবার dnsmasq কনফিগারেশন ফাইলটি এডিট করতে হবে। ডেবিয়ান/উবুন্টুতে /etc/dnsmasq.conf ফাইল, ম্যাকিণ্টশে /usr/local/etc/dnsmasq ফাইলে কনফিগারেশন থাকে। নীচের ২টা লাইন আমার dnsmasq কনফিগ থেকে কপি পেস্টঃ

listen-address=127.0.0.1
address=/dev/127.0.0.1

প্রথম লাইনটায় শুধুমাত্র লোকালহোস্টে ডিএনএস সার্ভার রান করছে।

২য় লাইনটা সবচেয়ে গুরুত্বপূর্ণ - সকল *.dev ডোমেন 127.0.0.1 আইপি-তে রিজলভ করবে। palash.dev, babar.dev, google.dev, hadumpadum.dev ইত্যাদি ইচ্ছামত ডোমেন ব্রাউজারে টাইপ/পিং করুন - সবগুলোই লোকালহোস্টে চলে যাবে। আপনি চাইলে .dev এর বদলে নিজের পছন্দমত অন্য যে কোনো tld ব্যবহার করতে পারেন (তবে অবশ্যই .com, .net ইত্যাদি নয়! এক্সপেরিমেণ্ট করে দেখুন wink ) - সেক্ষেত্রে ২য় লাইনের "/dev/" অংশটা বদল করুন।

dnsmasq সার্ভিসটি স্টার্ট/রিলোড (বা সিস্টেম রিবুট) করুনঃ ডেবিয়ানে "service dnsmasq start", ম্যাকের জন্য গুগল করুন।

পিএসঃ এ্যাপাচী/এঞ্জিংক্স-এ আগের মতই প্রতিটি ভুয়া ডোমেনের জন্য আলাদা করে ভিহোস্ট কনফিগার করতে হবে। sad ম্যাক/উইণ্ডোজে অবশ্য সহজে ভিহোস্ট এডিট করার জন্য কিছু গ্রাফিকাল ইউটিলিটি পাওয়া যায়।

Calm... like a bomb.

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

invarbrass লিখেছেন:

পিএসঃ এ্যাপাচী/এঞ্জিংক্স-এ আগের মতই প্রতিটি ভুয়া ডোমেনের জন্য আলাদা করে ভিহোস্ট কনফিগার করতে হবে। sad ম্যাক/উইণ্ডোজে অবশ্য সহজে ভিহোস্ট এডিট করার জন্য কিছু গ্রাফিকাল ইউটিলিটি পাওয়া যায়।

এই লেভেলে অটোমেটেড করতে চাইলে এখানেও ওয়াইল্ডকার্ড এন্ট্রি করা যায়।

এপাচীঃ

<VirtualHost *:80>
  ServerAlias localhost *.dev #wildcard catch all
  VirtualDocumentRoot /path/to/your/workspace/%1/public
  UseCanonicalName Off
  <Directory "path/to/your/workspace">
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

এন্জিনএক্সঃ

server {
    listen 80 default;
    server_name _;
    index  index.php;

    if ($host ~* "^(.+)+.dev$") {
        set $site $1;
    }

    root   /Users/[USERNAME]/www/$site;
}

সর্বশেষ সম্পাদনা করেছেন সারিম (০৬-০৯-২০১৪ ১৫:২৪)

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

invarbrass লিখেছেন:

পিএসঃ এ্যাপাচী/এঞ্জিংক্স-এ আগের মতই প্রতিটি ভুয়া ডোমেনের জন্য আলাদা করে ভিহোস্ট কনফিগার করতে হবে

এটা নিয়ে আমার একটা ব্লগপোস্ট ছিলো tongue

http://i.imgur.com/wSwV5W0.jpg
http://blog.sarim.me/2014/05/28/dynamic … -in-nginx/

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

আমার একটা প্রশ্ন: ভার্চুয়াল হোস্ট কি? কি কাজে লাগে এটা?

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

দক্ষিণের-মাহবুব লিখেছেন:

আমার একটা প্রশ্ন: ভার্চুয়াল হোস্ট কি? কি কাজে লাগে এটা?


মনে করেন, একি পিসিতে মাল্টিপল সাইট চালাবেন। প্রত্যেকটা সাইটকে ডিফাইন করে দেয়া আর কি।
লোকালহোস্টে ৩-৪টা প্রজেক্ট থাকলে localhost/pro1 ; localhost/pro2 না করে একবারে মনে করেন পয়েন্ট করে দিয়ে pro1.mula / pro2.gajor ইত্যাদি ডোমেইন ধরিয়ে দিতে পারবেন।

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

ভেইগরেন্ট ব্যবহার করি! wink

twitter · last.fm

Currently Playing: Days Gone

লেখাটি CC by-nc-sa 3.0 এর অধীনে প্রকাশিত

১০

Re: উবুন্টু ১৪.০৪ ল্যাম্প সার্ভারে Virtual Hosts সেটাপ করা

অয়ন খান লিখেছেন:

ভেইগরেন্ট ব্যবহার করি! wink

এন্টারপ্রাইজ ব্যবহারস্যাপার tongue

সারিম'এর ওয়েবসাইট

লেখাটি CC by-nc-sa 3.0 এর অধীনে প্রকাশিত