यह गाइड बताएगी कि वर्चुअल होस्ट क्या हैं और Ubuntu Linux मशीन पर Apache का उपयोग करके उन्हें कैसे सेटअप करें।
यदि आपके सर्वर के लिए एक सिंगल IP एड्रेस है और आप कई वेबसाइट होस्ट करना चाहते हैं तो आपके पास कुछ विकल्प हैं। आप या तो प्रत्येक वेबसाइट को सब-डोमेन के साथ सेटअप कर सकते हैं या Apache का उपयोग करके वर्चुअल होस्ट सेटअप कर सकते हैं और एक ही मशीन और सिंगल वेब सर्वर से कई डोमेन सर्व कर सकते हैं। अधिकांश होस्टिंग कंपनियां जो शेयर्ड वेब होस्टिंग प्रदान करती हैं, इसके लिए वर्चुअल होस्ट का उपयोग करती हैं। वर्चुअल होस्ट आपके कंप्यूटर पर लोकल वेब डेवलपमेंट वातावरण सेटअप करते समय भी काफी उपयोगी होते हैं। मैं आपको दिखाऊंगा कि Ubuntu Linux मशीन पर Apache का उपयोग करके वर्चुअल होस्ट कैसे सेटअप करें।
इस उदाहरण में हम आपके स्थानीय मशीन पर दो वर्चुअल होस्ट सेटअप करेंगे - calvin.dev और hobbes.dev। ये दोनों आपकी फाइलसिस्टम में अलग-अलग स्थान पर इंगित करेंगे और अलग-अलग साइट होस्ट करेंगे। आइए Apache और इसके सपोर्ट पैकेज इंस्टॉल करके शुरू करें। कमांड लाइन से, निम्न कमांड जारी करें:
# sudo apt-get install apache2-utils apache2-common
आपके पास ये पैकेज पहले से इंस्टॉल हो सकते हैं। यदि ऐसा है, तो जब आप उपरोक्त कमांड चलाएंगे तो आपको बताया जाएगा। अगला, जांचें कि Apache ठीक से काम कर रहा है। ऐसा करने के लिए अपनी मशीन पर वेब ब्राउज़र लॉन्च करें और url https://localhost पर जाएं। आपको एक साधारण पेज दिखाई देना चाहिए जो आपको सूचित करता है कि आप Apache वेब सर्वर चला रहे हैं। यदि नहीं, तो वेब पर Apache इंस्टॉल करने में मदद के लिए जांचें।
इस प्रक्रिया में कई चरण शामिल हैं। यहां हम जो करने वाले हैं उसका विवरण है। पहले, हम Apache को उन दो नए वर्चुअल होस्ट के साथ कॉन्फ़िगर करेंगे जिन्हें हम सेटअप करना चाहते हैं। फिर हम इन दोनों नए वर्चुअल होस्ट के लिए रूट डायरेक्टरी बनाएंगे। इसके बाद हम सिस्टम की /etc/hosts फ़ाइल में इन वर्चुअल होस्ट के डोमेन को इंगित करने के लिए एक एंट्री जोड़ेंगे। अंत में, हम इनमें से प्रत्येक वर्चुअल होस्ट की रूट डायरेक्टरी में एक साधारण फ़ाइल बनाएंगे ताकि यह पहचान सके कि यह किस डोमेन से जुड़ा है। फिर हम टेस्ट करेंगे।
वेब सर्वर इंस्टॉल और काम करने के साथ हम अब वेब सर्वर के कॉन्फ़िगरेशन पर आगे बढ़ते हैं। अपने पसंदीदा टेक्स्ट एडिटर (मेरा vim है) में /etc/apache2/sites-available/vhosts.conf नामक एक नई फ़ाइल बनाएं। निम्न टेक्स्ट जोड़ें:
ServerName calvin.dev
ServerAlias www.calvin.dev
DocumentRoot /var/www/calvin.dev
ServerName hobbes.dev
ServerAlias www.hobbes.dev
DocumentRoot /var/www/hobbes.dev
फ़ाइल सेव करें। अब कॉन्फ़िगरेशन में उल्लिखित दो डायरेक्टरी बनाएं:
# sudo mkdir /var/www/calvin.dev
# sudo mkdir /var/www/hobbes.dev
अपने होस्ट फ़ाइल में दोनों डोमेन जोड़ें। फ़ाइल /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"